Linux 使用bash创建MYSQL数据库并导入数据库文件

主要是杠一下的数据库123-456.sql,这个神经病一样,试了很多写法

#!/bin/bash
#数据库连接地址 可以是局域网IP  外网IP  本机内部地址 localhost  127.0.0.1 
h_address="localhost"
#数据库端口 注意的是这个参数-P是大写字母
P_port="3306"
#数据库管理员账号
u_user="root"
#数据库管理员密码 注意的是这个参数-p是小写字母
p_password="kk123456"
#你要创建的数据库名
MY_DB_NAME="AAA-BCD-ETG"
#数据库文件的位置
SQL_NAME_DIR="/www/backup/database/dldl-gm.sql"
#输出数据库名时保存文件的位置
MY_LOG="/tmp/journal_$MY_DB_NAME.txt"
#登入数据库的命令
MYSQL_CMD="mysql -h$h_address -P$P_port -u$u_user -p$p_password"
ECHO_TEXT="[忽略警告不用管--下面英文意思] 警告:在命令行界面上使用密码可能不安全。"
rm -rf $MY_LOG
#创建数据库#################################################################
echo -e "\n$ECHO_TEXT"
#查询已有数据库名称,以免照成误操着
$MYSQL_CMD -e"show databases;" > $MY_LOG
Journal=`cat $MY_LOG | grep -Fx "$MY_DB_NAME"`
#如果存在一个要创建的数据库就不创建不导入
if [ ! x${MY_DB_NAME} = x${Journal} ];then
   #如果被创建的数据库不存在就创建并导入数据库
   #这一行不要动
   $MYSQL_CMD -e'create database `'${MY_DB_NAME}'`'' DEFAULT CHARACTER SET utf8;'
   echo -e "\n数据库$MY_DB_NAME创建成功\n\n开始导入数据库文件$SQL_NAME_DIR......"
   sleep 1
   echo -e "\n$ECHO_TEXT"
   $MYSQL_CMD "$MY_DB_NAME"  < $SQL_NAME_DIR
   echo -e "\n$SQL_NAME_DIR已经成功导入$MY_DB_NAME\n"
else
   echo -e "\n数据库$MY_DB_NAME创建失败,应为已经有一个$MY_DB_NAME的数据库"
fi
exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值