• MYSQL一键导库脚本


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

    一、思路

    准备: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}
    "
    expect "*]#*"
    send "sh imp54_158.sh
    "
    expect "*]#*"
    send "exit
    "
    expect eof

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

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

    三、执行脚本

    执行命令:./exp54_158.sh

     

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

  • 相关阅读:
    Linux下运行当前目录需要加./的原因
    Linux mint界面过小无法安装(解决方法)
    哈工大机考:数组逆置
    哈工大机考:字符串内排序
    哈工大机考:求最大值
    八皇后问题的简单分析
    哈工大机考:字符串去特定字符
    哈工大机考:计算两个矩阵的乘积
    iOS 字号转换问题
    iOS 十六进制的颜色值转换为UIColor
  • 原文地址:https://www.cnblogs.com/dnjiang/p/13129438.html
Copyright © 2020-2023  润新知