从命令行创建MySQL数据库

时间:2011-04-25 00:46:19

标签: mysql windows command-line

我正在尝试创建一个批处理文件来创建MySQL数据库。到目前为止,我找到的所有信息都没有起作用。只是为了测试,这就是我想要的......

C:\>mysql -uroot -ppassword < CREATE DATABASE testdb;
C:\>mysql -uroot -ppassword mysql < CREATE DATABASE testdb;

无论我怎么说,我都会收到错误“系统无法找到指定的文件”。如果我只是......

C:\>mysql -uroot -ppassword

它可以很好地登录MySQL提示符。我究竟做错了什么?

4 个答案:

答案 0 :(得分:25)

我同意其他海报,将架构放入文件会好得多。但是,您可以在命令行上执行此操作:

mysql -uroot -ppassword -e "CREATE DATABASE testdb"

答案 1 :(得分:6)

以root用户身份访问:

mysql -u root -p

它要求输入密码。输入密码

然后 像这样运行create命令:

mysql> create database database_name;

答案 2 :(得分:5)

尝试将sql放入文本文件中,例如“createDb.sql”,然后运行:

mysql -uroot -ppassword < createDb.sql; 

答案 3 :(得分:5)

最好将MySQL写入文件中,然后导入该文件。这样,当您需要再次运行它(重新安装或迁移)时,您将拥有要运行的MySQL的记录。我用于这样的文件的代码如下所示,它会销毁已存在的任何内容,然后创建数据库并分配专用用户。

# uninstall if anything's already there
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
DROP USER 'username'@'%';
DROP DATABASE IF EXISTS `tablename`;

# create the user
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `tablename`;
GRANT ALL PRIVILEGES ON `tablename` . * TO 'username'@'%';