温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL分库分表备份脚本

发布时间:2020-09-05 09:43:04 来源:网络 阅读:826 作者:jiege333 栏目:MySQL数据库

备份数据库脚本

[root@*** script]# cat store_backup.sh 

#!/bin/sh

MYUSER=root

MYPASS=qwe123

SOCKET=/data/3306/mysql.sock

MYLOGIN="mysql -u$MYUSER -p$MYPASS -S $SOCKET"

MYDUMP="mysqldump -u$MYUSER -p$MYPASS -S$SOCKET -B"

DATABASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

 

for dbname in $DATABASE

  do

   MYDIR=/server/backup/$dbname

   [ ! -d $MYDIR ] && mkdir -p $MYDIR

 $MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz

done


[root@*** script]# sh store_backup.sh 

[root@*** script]# tree /server/backup/

/server/backup/

├── test

│   └── test_2017-06-21.sql.gz

└── wordpress

    └── wordpress_2017-06-21.sql.gz


2 directories, 2 files


mysql分库分表备份脚本

[root@*** script]# cat mysql_table.sh 

#!/bin/sh

USER=root

PASSWD=qwe123

SOCKET=/data/3306/mysql.sock

MYLOGIN="mysql -u$USER -p$PASSWD -S$SOCKET"

MYDUMP="mysqldump -u$USER -p$PASSWD -S$SOCKET"

DATEBASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

 

for dbname in $DATEBASE

do

 TABLE="$($MYLOGIN -e "use $dbname;show tables;"|sed '1d')"

  for tname in $TABLE

   do

MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)

     [ ! -d $MYDIR ] && mkdir -p $MYDIR

 $MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz

    done

done


小贴士:

  

  MySQL 5.6 警告信息 command line interface can be insecure 修复


  在命令行输入密码,就会提示这些安全警告信息。

  Warning: Using a password on the command line interface can be insecure.


  注: mysql -u root -pPASSWORD 或 mysqldump -u root -pPASSWORD 都会输出这样的警告信息.

  1、针对mysql

  mysql -uroot -pPASSWORD 改成mysql -uroot -p 在输入密码即可.


  2、mysqldump就比较麻烦了,通常都写在scripts脚本中。


  解决方法:

  对于 mysqldump 要如何避免出现(Warning: Using a password on the command line interface can be    insecure.) 警告信息呢?


 vim /data/3306/my.cnf

 [mysqldump]

 user=your_backup_user_name

 password=your_backup_password


 修改完配置文件后, 只需要执行mysqldump 脚本就可以了。备份脚本中不需要涉及用户名密码相关信息。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI