当前位置: > 数据库 > MySQL >

Mysqldump分库分表备份

时间:2018-05-30 11:55来源:linux.it.net.cn 作者:IT

分库备份:

 


 
 
  1. #!/bin/bash  
  2. MYUSER=root  
  3. MYPASSWD=mysqld  
  4. SOCKET=/u01/my3306/run/mysql.sock  
  5. MYSQLCMD="mysql -u$MYUSER -p$MYPASSWD -S $SOCKET"  
  6. MYSQLDUMP="mysqldump -u$MYUSER -p$MYPASSWD -S $SOCKET"  
  7. for database in test test1  
  8. do  
  9. $MYSQLDUMP $database | gzip > /backup/bak/${database}_$(date +%F).sql.gz  
  10. done  

分表备份:

 

[html] view plain copy
 
 
  1. #!/bin/bash  
  2. MYUSER=root  
  3. MYPASSWD=mysqld  
  4. SOCKET=/u01/my3306/run/mysql.sock  
  5. # MYSQLCMD="mysql -u$MYUSER -P$MYPASSWD -S $SOCKET"  
  6. MYSQLCMD="/u01/my3306/bin/mysql -u${user} -p${pass}"  
  7. MYSQLDUMP="mysqldump -u$MYUSER -p$MYPASSWD -S $SOCKET"  
  8. for database in `$MYSQLCMD -e "show databases;" | sed '1,2d' | egrep -v "mysql|schema"`  
  9. do  
  10.    mkdir -p /backup/bak/${database}  
  11.    for table in `$MYSQLCMD -e "show tables from $database;" | sed '1d'`  
  12.    do  
  13.    $MYSQLDUMP $database $table | gzip > /backup/bak/${database}/${database}_${table}_$(date +%F).sql.gz  
  14.    done  
  15. done  




(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容