在bash中创建mysql数据库



我正在尝试编写一个bash脚本,该脚本将使用新名称的变量创建数据库,但没有任何运气与语法。我对bash几乎一无所知。在我输入db密码后,一直告诉我在第1行有语法错误。

setup.sh

#!/bin/bash
db="mytest"
scl enable rh-mariadb 'mysql -u user -p -e "set @dbname=$db; . setup_db.sql"'

setup_db.sql

SET @query = CONCAT('CREATE DATABASE `', @dbname, '`');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREAPRE stmt;

如果我硬编码的数据库名称,我有$db在bash中,然后我收到这个错误:

字段列表中未知列'mytest'

您需要将数据库名称放在引号中,否则将被视为列名。

scl enable rh-mariadb 'mysql -u user -p -e "set @dbname="$db"; . setup_db.sql"'

最新更新