脚本代码:
 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使用方法如下  | 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 
 
 |  
  
 |