站内搜索

搜索

手游源码-游戏源码-棋牌源码资源网-亲测源码-游戏搭建-破解游戏-网站源码-qq技术

100金币/天 购买
100金币/天 购买

Linux宝塔环境 一键创建数据库并导入-bash脚本案例

25

主题

81

帖子

101

金币

绿钻会员

Rank: 3Rank: 3

积分
292
发表于 2024-12-13 10:54:24 | 显示全部楼层 |阅读模式
脚本代码:
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#!/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-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_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

案例2:
第二种写法就是把参数 写在执行脚本外,假如把脚本放在更目录 脚本名是run_sql.sh使用方法如下
1

2

cd / && ./run_sql.sh localhost 3306 root 123456 AAA-BBB-CCC /www/backup/database/dldl-gm.sql
# 解释:cd / && ./run_sql.sh 连接地址 端口 账号 密码 创建的数据库名 数据库文件的位置

脚本代码:
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#!/bin/bash
#数据库连接地址 可以是局域网IP 外网IP 本机内部地址 localhost 127.0.0.1
h_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_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


【天外神坛】免责声明及帮助
1.重要:如果遇到隐藏内容回复后显示为代码状态,直接刷新一下页面即可解决此问题。
2.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
3.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4.如果本站有侵犯、不妥之处的资源,请在网站右边客服联系我们。将会第一时间解决!
5.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。
6.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
回复

使用道具 举报

25

主题

81

帖子

101

金币

绿钻会员

Rank: 3Rank: 3

积分
292
 楼主| 发表于 2024-12-13 10:54:59 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

上个主题 下个主题 快速回复 返回列表 客服中心 搜索 QQ加群
上个主题 下个主题 快速回复 返回列表 客服中心 搜索 QQ加群

QQ|Archiver|小黑屋|天外神坛

湘ICP备2021015333号

Powered by 天外神坛 X3.4 © 2020-2022 天外神坛