主服务配置
1. 打开mysql 中的my.ini 文件,新增以下配置
#不给从机同步的库(多个写多行)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#自动清理 7 天前的log文件,可根据需要修改
expire_logs_days=7
# 启用二进制日志
log-bin=master-bin
log_bin_index = master-bin.index
#日志格式
binlog_format=MIXED
2. 默认同步全部数据库, 超过7天自动清理,启动二进制日志。
3.新增数据库用户,专门同步使用
4.执行命令:mysql –uroot –proot登录本机mysql
5.执行命令: use mysq
6.执行命令:show master status
File master-bin.000002是数据库记录日志,154 是当前位置,这个是同步的起始位置,后面备机会用。
7.产生的binlog 日志可以通过:show binlog events in 'master-bin.000003'; 查看
8.将主库数据库文件备份到磁盘,生成database.sql.
从服务器配置
1.mysql 的my.ini 中新增 如下配置
2.执行命令:mysql –uroot –proot登录本机mysql
3.执行命令: use mysl
4.执行命令:stop slave; 停掉备机功能
5.把主库的数据导入到备库中
6.执行命令:
change master to master_host='172.29.130.164',
master_port=3306,master_user='root',master_password='root',
master_log_file='master-bin.000002',master_log_pos=414
7.其中master_log_file 和master_log_pos 取自 主库配置第6步,如下图
8.执行命令:start slave; 开启备库同步
9.执行命令:show slave status\G;
10.看到Slave_IO_Running和Slave_SQL_Running 都为yes,备库同步成功。
11.在主库上新建数据库,新建表,插入数据,在从库上均能看到,验证完毕。
数据恢复
使用binlog 恢复数据
mysqlbinlog --start-position=2051 --stop-position=2399 /app/mysql_binlog/mysql-bin.000003 | mysql -uroot –p