如何从fabric动态创建mysql数据库

发布于 2024-08-14 06:45:45 字数 248 浏览 2 评论 0原文

是否可以从 Fabric 动态创建 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)

Is it possible to create mysql database from fabric dynamically.

This seems like it gets stuck at the password prompt

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)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夏末染殇 2024-08-21 06:45:46

有一个更好的方法使用 mysqladmin 来做到这一点:

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

There's a better way of doing this using mysqladmin:

run('mysqladmin -u %s -p%s create %s' % (user, password, dbname))
紫轩蝶泪 2024-08-21 06:45:46

尝试一下

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

Try instead

run('echo "CREATE DATABASE %s;"|mysql --batch --user=%s --password=%s --host=%s' % (dataname, env.mysqluser, env.mysqlpassword, env.mysqlhost), pty=True)
清浅ˋ旧时光 2024-08-21 06:45:46

我通过命令行使用以下一个行,

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

键是 -e 开关。
如果您喜欢在 db/user/pass 中使用带有变量的 bash 脚本并将其作为 ./myscript 运行,那么

#!/bin/bash
DB=“mydb”
用户=“用户1”
通行证=“pass_bla”

mysql -uroot -prootpassword -e "创建数据库 $DB 字符集 utf8 COLLATE utf8_general_ci";
mysql -uroot -prootpassword -e "创建用户 $USER@'127.0.0.1' 由'$PASS'识别";
mysql -uroot -prootpassword -e "将 $DB.* 上的选择、插入、更新授予'$USER'@'127.0.0.1'";

I use the following one liner via command line

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

key is the -e switch.
if you like to have bash script with variables in db/user/pass and run it as ./myscript then

#!/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'";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文