首页 > 数据库技术 > 详细

MYSQL一键导库脚本

时间:2020-06-15 12:24:40      阅读:49      评论:0      收藏:0      [点我收藏+]

上周完成了一个性能测试环境搭建,有富余时间的同时研究了一个一键导库的脚本,一周的开始先马住!!!

一、思路

准备:54、158服务器上分别已经装好了MYSQL数据库

目的:把部分库从54导出并导入到158

步骤:

  • 54上导出数据
  • 复制文件到158
  • 158上执行导库脚本

二、编写脚本

根据思路步骤,完成对应脚本的编写

1、54上导出部分数据库 [exp54_158.sh]

技术分享图片

#! /bin/bash
echo "开始导出gd_base、gd_dbwizard、dbcenter库"
mysqldump -uroot -pzaq12wsx -R -E --databases gd_base gd_dbwizard dbcenter >/u01/alldata.sql  #导出多个库需加“--databases”,否则第二个库会当作数据表并找不到
echo "开始复制sql文件到158,请输入158root用户的密码"
scp -r /u01/alldata.sql root@12.1.10.158:/home           #红色部分分别表示原文件路径、目标路径
echo "开始ssh远程158并执行导入脚本"
/usr/bin/expect ./ssh/ssh158.exp                         #.exp脚本是以/usr/bin/expect开头的脚本(下图),因此需要用/usr/bin/expect来执行
 echo “导库完成,请检查数据是否更新”

2、复制文件到158 [ssh158.exp]

技术分享图片

#!/usr/bin/expect
set timeout 300
set host "12.1.10.158"
set username "root"
set password "1qaz@wsx.."

spawn ssh $username@$host
expect "*password*" 
send "${password}\r"
expect "*]#*"
send "sh imp54_158.sh\r"
expect "*]#*"
send "exit\r"
expect eof

3、158上执行导库脚本 [imp54_158.sh]

技术分享图片

echo "开始导入sql文件"
mysql -uroot -pzaq12wsx </home/alldata.sql 
echo “sql导入完成”

三、执行脚本

执行命令:./exp54_158.sh

 技术分享图片

 以上,完成从54一键导库到158的功能。

MYSQL一键导库脚本

原文:https://www.cnblogs.com/dnjiang/p/13129438.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!