是否有可能动态地从织物创建MySQL数据库。

这好像它被卡住在口令提示

run('mysql -u %s -p %s -h %s  ' % (env.mysqluser, env.mysqlpassword, env.mysqlhost), pty=True)
run('CREATE DATABASE %s; ' % (dataname), pty=True)
run('exit', pty=True)
有帮助吗?

解决方案

尝试代替

run('echo "CREATE DATABASE %s;"|mysql --batch --user=%s --password=%s --host=%s' % (dataname, env.mysqluser, env.mysqlpassword, env.mysqlhost), pty=True)

其他提示

有这样做并用mysqladmin一个更好的方式:

run('mysqladmin -u %s -p%s create %s' % (user, password, dbname))

我通过命令行使用下面的一个衬里

mysql -uroot -prootpassword -e "CREATE DATABASE dbname";

键是-e开关。结果 如果你喜欢有一个与在分贝/用户变量bash脚本/传递和运行它./myscript然后

#!/bin/bash
DB="mydb"
USER="user1"
PASS="pass_bla"

mysql -uroot -prootpassword -e "CREATE DATABASE $DB CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql -uroot -prootpassword -e "CREATE USER $USER@'127.0.0.1' IDENTIFIED BY '$PASS'";
mysql -uroot -prootpassword -e "GRANT SELECT, INSERT, UPDATE ON $DB.* TO '$USER'@'127.0.0.1'";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top