Answers:
cat filename.sql | mysql -u username -p # type mysql password when asked for it
其中filename.sql保存所有用于创建数据库的sql。要么...
echo "create database `database-name`" | mysql -u username -p
如果您真的只想创建一个数据库。
-u
标志
您的意思是在mysql环境下?
create database testdb;
或直接从命令行:
mysql -u root -e "create database testdb";
如果您创建一个新数据库,最好只创建对此数据库具有权限的用户(如果出现任何问题,您将不会损害root用户的登录名和密码)。因此,所有内容都将如下所示:
mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO new_db_user@localhost IDENTIFIED BY 'new_db_user_pass'"
其中:
base_user是具有所有特权的用户的名称(可能是root)
base_user_pass是base_user的密码(-p和base_user_pass之间的空格很重要)
new_db是新建数据库的名称
new_db_user是具有访问权限的新用户的名称仅用于new_db
new_db_user_pass,这是new_db_user的密码
-p"root password here"
可以正常工作
ist和2nd答案都不错,但是如果有人正在寻找一个脚本,或者如果您想要动态脚本(即db / username / password in variable),则可以在这里:
#!/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'";
您可以在命令行上使用SQL:
echo 'CREATE DATABASE dbname;' | mysql <...>
或者您可以使用mysqladmin
:
mysqladmin create dbname
使用基本用户连接到数据库:
mysql -u base_user -pbase_user_pass
并执行CREATE DATABASE,CREATE USER和GRANT PRIVILEGES语句。
这是一个方便的Web向导,可帮助您处理语句 www.bugaco.com/helpers/create_database.html