我正在尝试使用Linux bash自动创建带有数据库和表的mysql用户,但收到错误1046。
我已经在线浏览了各种教程,包括该网站,从我的看到,我的脚本看起来是正确的! 如果我通过命令行登录到mysql并手动运行这些命令,那么它将起作用!
但是,如果我在bash脚本中运行完全相同的命令,它将失败。 (用$ 1变量替换用户/数据库的名称) 作为最后的选择,我将所有帖子都提到了此错误,并说要使用“ use databasename;”。但是我已经在脚本中做到了。
<item name="buttonStyle">@style/MyButtonStyle</item>
成功地手动测试了此代码,所以我知道它可以工作,不确定变量和使用#Code to create mysql user with db and table in linux bash.
#to run: ./createmysqldb Testuser1 TestPass1
$1 = Testuser1
$2 = TestPass1
...
mysql -u$user -p$password -e "create user '$1'@'%' identified by '$2';"
mysql -u$user -p$password -e "create database $1_DB;"
mysql -u$user -p$password -e "use $1_DB;"
mysql -u$user -p$password -e "CREATE TABLE persons (id int, name varchar(20), surname varchar(20));"
mysql -u$user -p$password -e "GRANT ALL PRIVILEGES ON $1_DB.* TO '$1'@'%';"
mysql -u$user -p$password -e "flush privileges;"
...
是否正确执行,我希望使用包含人员表的数据库来创建一个新用户。