从命令行创建MySQL数据库

16 mysql windows command-line

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

C:\>mysql -uroot -ppassword < CREATE DATABASE testdb;
C:\>mysql -uroot -ppassword mysql < CREATE DATABASE testdb;
Run Code Online (Sandbox Code Playgroud)

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

C:\>mysql -uroot -ppassword
Run Code Online (Sandbox Code Playgroud)

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

lin*_*uts 25

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

mysql -uroot -ppassword -e "CREATE DATABASE testdb"
Run Code Online (Sandbox Code Playgroud)


Dan*_*ows 6

最好将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'@'%';
Run Code Online (Sandbox Code Playgroud)


Dev*_*per 6

以root用户身份访问:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

它要求输入密码.输入密码

然后像这样运行create命令:

mysql> create database database_name;
Run Code Online (Sandbox Code Playgroud)


myl*_*smg 5

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

mysql -uroot -ppassword < createDb.sql; 
Run Code Online (Sandbox Code Playgroud)