我试图创造一个shell脚本,将:
到目前为止我尝试过:
#!/bin/bash mysql -h 111.11.11.11 -u root -p'XXXXXXX' mysql> CREATE DATABASE foo;
要么
echo "CREATE DATABASE foo;";
但没有成功。
我正在使用命令行来运行shell脚本。
# sh create_mysql_database.sh
但它所做的只是强制mysql连接并等待input,就是这样。
任何人都知道如何实现这个目标?
Server: Centos 6.2 MySQL client version: 5.1.61
谢谢,Alex
首先, -p和实际密码之间不应该有空格。
其次,就我从文档中可以看到的情况而言,只需在第一部分之后添加-e开关即可。
所以最终结果如下所示:
#!/bin/bash mysql -h 111.11.11.11 -uroot -pPASSWORD -e "CREATE DATABASE foo;"
Id使用mysqladmin命令进行这种types的任务:
mysqladmin -u root -pPASSWORD create foo
你应该使用-e选项,像这样:
#!/bin/bash mysql -h 111.11.11.11 -uroot -pPASSWORD -e "CREATE DATABASE foo;"
要么 :
#!/bin/bash SQL="CREATE DATABASE foo;" mysql -h 111.11.11.11 -uroot -pPASSWORD <<<$SQL
相信与否,你可以创build一个数据库而不login到MySQL。
例如,要创build一个名为foo的数据库,请尝试以下操作:
cd /var/lib/mysql mkdir foo chown mysql:mysql foo
你完成了!