CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)
备注1:解决连接MySQL数据库很慢的问题
vim /etc/my.cnf
添加内容:skip-name-resolve
,重启数据库。
备注2:(密码带!或其他特殊符合,前面加\,例如123!321–>123\!321)
1、主从备份
主数据库:
vim /etc/my.cnf
[mysqld]下添加内容:
server-id = 1
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
从数据库:
vim .etc/my.cnf
[mysqld]下添加内容:
server-id = 2
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
重启主从数据库
登录主数据库
mysql -uusername -ppassword
mysql>show master status;
找到master_log_file、master_log_pos(一般是mysql-bin.000001和155)
mysql>change master to \
mysql>master_host=’从数据库IP’,
mysql>master_user=’从数据库用户’,
mysql>master_password=’从数据库密码’,
mysql>master_log_file=’从数据库master_log_file’,
mysql>master_log_pos=’从数据库master_log_pos’;
mysql>start slave;
mysql>show slave status\G
登录从数据库
mysql -uusername -ppassword
mysql>show master status;
找到master_log_file、master_log_pos(一般是mysql-bin.000001和155)
mysql>change master to \
mysql>master_host=’主数据库IP’,
mysql>master_user=’主数据库用户’,
mysql>master_password=’主数据库密码’,
mysql>master_log_file=’主数据库master_log_file’,
mysql>master_log_pos=’主数据库master_log_pos’;
mysql>start slave;
mysql>show slave status\G
到这里,数据库的主从备份开启成功,赶紧去试试效果吧!
2、每日定时全量备份
cd ../usr/local/src/dbback
如果没有dbback就新加一个文件夹
vi bkDatabaseName.sh (没有会自动新加此文件)
复制内容:
#!/bin/bash
source /etc/profile
mysqldump -uusername -ppassword DatabaseName | gzip > /usr/local/src/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
保存。
添加可执行权限:chmod u+x bkDatabaseName.sh
添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
./bkDatabaseName.sh
然后看看有没有生成压缩文件
添加计划任务
1、安装 crontab
下载crontab:点击下载
下载后放入/usr/local/src/crontab目录下
cd ../usr/local/src/crontab
安装
rpm -ivh --nodeps --force *.rpm
添加计划任务
执行命令:
crontab -e
添加内容:(每天凌晨1点执行备份)
0 1 * * * ../usr/local/src/dbback/bkDatabaseName.sh
总结
以上所述是小编给大家介绍的CentOS7开启MySQL8主从备份、每日定时全量备份,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!