mysql的主从热备份
Server version: 5.7.22-log
OS: master(windows10企业版20H2)-->slave(windows10企业版LTSC1809)
mysql的权限及必要点
1,任意ip可以连接2个数据库
-->>grant all on *.* to root@'%' identified by '[root密码]';
2,2个数据库的的库名,库中的结构要相同
-->>借助Navicat进行结构,数据同步
主库mysql的my.ini配置文件
log-bin=mysql.bin
# 使binlog在每N次binlog写入后与硬盘同步
sync-binlog=1
# 1天时间自动清理二进制日志
expire_logs_days=1
# 需要同步的数据库
binlog-do-db=master
binlog-do-db=*
# 不需要同步的数据库
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = performance-schema
binlog-ignore-db = sys
# Error Logging.
log-error="WIN-11.1.1.197.err"
# Server Id
server-id=197
从库mysql的my.ini配置文件
# Server Id.
server-id=161
# bind-address=11.1.1.161
log_bin=mysql-bin
# 二进制日志自动删除的天数
expire_logs_days=1
主库mysql的配置
1,新建同步用户(back是mysql用户名,back123是密码,11.1.1.161是从库的IP地址)
-->>grant replication slave on *.* to 'back'@'11.1.1.161' identified by '[对应密码 ]';
2,刷新权限
-->>flush privileges;
3,添加测试数据库
create database test;
use test;
create table test(id int(11), value varchar(20));
insert into test values(1, 'aa'),(2, 'bb'),(3, 'cc') ,(4, 'dd') ,(5, 'ff')
4,查看master的状态(牢记File,Position)
-->>show master status \G
从库mysql的配置
1,新建同步用户并修改权限
-->>grant all privileges on *.* to 'back'@'%' identified by '[对应密码]' with grant option;
2,连接master主库
-->>change master to master_host='[主库IP]',master_user='同步用的user',master_password='对应passwd', master_log_file='[master status 中的file]',master_log_pos=[master status 中的Position];
3,检查slave的状态
-->>show salve status \G
总结
slave IO和SQL状态都为'YES'则同步成功