设为首页收藏本站 国外访客:

 找回密码
 立即注册
搜索
查看: 190

[教程/工具] Linux宝塔环境 一键创建数据库并导入-bash脚本案例

[复制链接]
灌水成绩
17703
95
18202
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 377
在线时间 : 1639 小时
注册时间 : 2013-9-5
最后登录 : 2026-6-7

发表于 昨天 09:55 | 显示全部楼层 |阅读模式
免责
脚本代码:
#!/bin/bash#数据库连接地址 可以是局域网IP 外网IP 本机内部地址 localhost 127.0.0.1h_address="localhost"#数据库端口 注意的是这个参数-P是大写字母P_port="3306"#数据库管理员账号u_user="root"#数据库管理员密码 注意的是这个参数-p是小写字母p_password="kk123456"#你要创建的数据库名MY_DB_NAME="AAA-BBB-CCC-DDD"#输出数据库名时保存文件的位置MY_LOG="/tmp/journal_$MY_DB_NAME.txt"#数据库文件的位置SQL_NAME_DIR="/www/backup/database/dldl-gm.sql"#登入数据库的命令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_LOGJournal=`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的数据库"fiexit 0案例2:
第二种写法就是把参数 写在执行脚本外,假如把脚本放在更目录 脚本名是run_sql.sh使用方法如下
cd / && ./run_sql.sh localhost 3306 root 123456 AAA-BBB-CCC /www/backup/database/dldl-gm.sql# 解释:cd / && ./run_sql.sh 连接地址 端口 账号 密码 创建的数据库名 数据库文件的位置脚本代码:
#!/bin/bash#数据库连接地址 可以是局域网IP 外网IP 本机内部地址 localhost 127.0.0.1h_address=$1#数据库端口 注意的是这个参数-P是大写字母P_port=$2#数据库管理员账号u_user=$3#数据库管理员密码 注意的是这个参数-p是小写字母p_password=$4#你要创建的数据库名MY_DB_NAME=$5#数据库文件的位置SQL_NAME_DIR=$6#输出数据库名时保存文件的位置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_LOGJournal=`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的数据库"fiexit 0' c: ]5 c5 e/ V) O/ E: D
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|蔡州手游 |网站地图 wapmz.com

GMT+8, 2026-6-7 04:53