zoukankan      html  css  js  c++  java
  • mysql 数据备份和还原

    1. 使用mysqldump命令备份
      使用root用户备份test数据库下的person表
    mysqldump -u root -p test person > D:ackup.sql
    
    1. 备份多个数据库
      语法:
    mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
    

    加上了--databases选项,然后后面跟多个数据库

    mysqldump -u root -p --databases test mysql > D:ackup.sql
    
    1. 备份所有数据库

    mysqldump命令备份所有数据库的语法如下:

    mysqldump -u username -p -all-databases > BackupName.sql
    

    示例:

    mysqldump -u -root -p -all-databases > D:all.sql
    
    1. 还原使用mysqldump命令备份的数据库的语法如下:
    mysql -u root -p [dbname] < backup.sq
    

    示例:

    mysql -u root -p < C:ackup.sql
    

    脚本·

    #!/bin/bash  
     
    #1.定义数据库链接,目标库信息  
    MY_user="root"  
    MY_pass="123456"  
    MY_host="192.168.10.22"  
    MY_conn="-u $MY_user -p$MY_pass -h $MY_host"  
    MY_db1="xxxx"  
    MY_db2="yyyy" 
    MY_db=('xxx' 'xxx' 'xxx')  
    #2.定义备份目录,工具,时间,文件名  
    BF_dir="/opt/mysql_bak"  
    BF_cmd="/usr/bin/mysqldump"  
    BF_time="date +%Y%m%d-%H%M"  
    name_1="$MY_db1-$BF_time"  
    name_2="$MY_db2-$Bf_time"  
    #3先导出为.sql脚本,然后再进行压缩(打包后删除源文件)  
    cd $BF_dir  
    # for i in ${MY_db[@]};
    # do
    #  $BF_cmd $MY_conn --single-transaction --master-data=2 --databases $MY_db > $BF_dir/$i-$BF_time.sql
    # done
    $BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql  
    $BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql  
    /bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null  
    /bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null 
    
  • 相关阅读:
    局部变量的认识
    179一个错误的认识
    (jmeter笔记) websocket接口测试
    (jmeter笔记)聚合报告分析
    (jmeter笔记)模拟用户各种场景压测
    (linux笔记)开放防火墙端口
    (jmeter笔记)导出响应内容的网络文件
    (jmeter笔记)jmeter导出excel,中文显示乱码
    (jmeter笔记)jmeter监控服务器资源
    (Jmeter笔记)jmeter连接数据库(mysql)
  • 原文地址:https://www.cnblogs.com/magic-chenyang/p/10529253.html
Copyright © 2011-2022 走看看