如何在MySQL中通过shell命令创建数据库?

sgtfey8w  于 2023-10-23  发布在  Shell
关注(0)|答案(9)|浏览(141)

我正在寻找类似PostgreSQL中的MySQL或任何其他解决方案,允许我在shell命令的帮助下创建数据库。有什么提示吗

wgeznvg7

wgeznvg71#

你的意思是mysql环境?

create database testdb;

或者直接从命令行:

mysql -u root -e "create database testdb";
lmyy7pcs

lmyy7pcs2#

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

如果你真的只想创建一个数据库。

xwmevbvl

xwmevbvl3#

如果你创建了一个新的数据库,最好创建一个只对这个数据库有权限的用户(如果出现任何问题,你不会危及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的密码

5anewei6

5anewei64#

mysqladmin -u$USER -p$PASSWORD create $DB_NAME

替换上面的变量,你就可以用这个单线了。$USER是用户名,$PASSWORD是密码,$DB_NAME是数据库的名称。

wfauudbj

wfauudbj5#

使用

$ mysqladmin -u <db_user_name> -p create <db_name>

系统将提示您输入密码。另外,确保您使用的mysql用户具有创建数据库的权限。

km0tfn4u

km0tfn4u6#

ist和第二个答案是好的,但如果有人正在寻找一个脚本或如果你想要动态即(变量中的db/用户名/密码),那么这里:

#!/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'";
xlpyo6sf

xlpyo6sf7#

您可以在命令行中使用SQL

echo 'CREATE DATABASE dbname;' | mysql <...>

也可以使用mysqladmin

mysqladmin create dbname
bvjveswy

bvjveswy8#

使用基本用户连接到数据库:mysql -u base_user -pbase_user_pass并执行CREATE DATABASE、CREATE USER和GRANT PRIVILEGES语句。
这里有一个方便的Web向导,可以帮助您处理语句www.bugaco.com/helpers/create_database.html

pcrecxhr

pcrecxhr9#

例如,登录后,您可以创建apple数据库,如下所示:

CREATE DATABASE apple;

在登录之前,您可以创建apple数据库,如下所示。* CREATE ...""和不带;也可用:

mysql -u root -p -e 'CREATE DATABASE apple;'

或者:

mysql -u root -p --execute='CREATE DATABASE apple;'

相关问题