MYSQL一键导库脚本
2024-09-05 22:39:55
上周完成了一个性能测试环境搭建,有富余时间的同时研究了一个一键导库的脚本,一周的开始先马住!!!
一、思路
准备: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的功能。
最新文章
- HTML的基本骨架
- Android中<;original-package>;标签含义
- paip.mysql 性能测试 报告 home right
- Redis-cluster集群【第三篇】:redis主从
- Mac OS 中设置VPN(pptp连接方式)
- android 进程间通信---Service Manager(2)
- Redis 发布/订阅机制原理分析
- c++中__declspec用法总结
- 1.7.3 Relevance-相关性
- 有些方法为什么会声明称static静态的
- 理解TCP/IP协议
- 用CURL来实现file_get_contents函数:curl_file_get_contents
- 纯CSS写九宫格样式,高宽自适应正方形
- 程序员---C语言细节7(增加两个整数溢出检测)
- 关于mysql的Fetch Time 和 Duration Time
- json标准是双引号
- Socket之心跳包实现思路
- HeapByteBuffer与DirectByteBuffer
- tensorflow finuetuning 例子
- Linux systemd limits