mysql8.0.28主从配置
1.首先确认两台mysql木有问题
2.新增主节点(192.168.5.130)中配置:
#主从同步配置binlog log-bin=/var/lib/mysql/mysql-bin server-id=1001
3.重启:
systemctl restart mysqld
4.验证:

 
查看binlog的信息
show BINLOG EVENTS in 'mysql-bin.000002';
5.在Master库创建一个具有指定库数据复制权限的用户,slave库在访问数据连接时,需要用到该账户进 行连接。
-- 创建用户,其中repl表示用户名, 192.168.221.131表示slave库的ip地址,也就是只允许这个ip通过repl用户访问master库
create user 'repl'@'192.168.5.131' identified with mysql_native_password by 'repl'
执行授权操作
-- replication slave 表示授权复制
-- *.* 表示所有的库和表
grant replication slave on *.* to 'repl'@'192.168.5.131';
通过下面的sql命令刷新权限信息
flush privileges;
6.从mysql中执行
change master to master_host='192.168.5.130',master_user='repl',master_password='rep1',master_log_file='mysql-bin.000002',master_log_pos=858;

master_log_file 为主节点的File,
master_log_pos为Position
###这个地方截图错了,密码写错了,主修修改
 
7.启动slave
START slave
7.查看状态
show slave status;
8.确认是否有无问题:
执行命令
Waiting for source to send event
观察两个字段:slave_io_running 和 slave_sql_running 是否都为yes

在结果中:
Read_master_log_Pos:1345表示读取到主库的最新点位
Exec_master_log_pos:1345 表示从库读取的文件
如果有问题查看字段:
slave_sql_running_state:

如果sql同步异常,需要手动执行,比如缺少了数据库
9.验证:
再130上新建数据,然后再131上刷新
 
 


其实就是基于binlog 的同步方式
10.查看binlog日志
查看当前数据库有哪些binlog文件
show binary logs;

查看binlog详细信息
show binlog events in 'mysql-bin.000002';

原理的核心点:

排错:
show slave STATUS
LastSqlError:3234
Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 6 failed executing transaction 'ANONYMOUS' at master log mysql-bin.000002, end_log_pos 1318. See error log and/or performance_schema.replication_applier_status_by_worker table for more
找到主节点的binlog查看文件

发现131上没有shard01的数据库,开始解决....建库,执行sql,重写同步
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号