从命令行创建MySQL数据库

问题描述 投票:16回答:4

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

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

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

C:\>mysql -uroot -ppassword

它登录MySQL提示正常。我究竟做错了什么?

mysql windows command-line
4个回答
25
投票

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

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

6
投票

以root用户身份访问:

mysql -u root -p

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

然后像这样运行create命令:

mysql> create database database_name;

5
投票

尝试将您的sql放入文本文件,如'createDb.sql',然后运行:

mysql -uroot -ppassword < createDb.sql; 

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'@'%';
© www.soinside.com 2019 - 2024. All rights reserved.