mysql主从复制

主从复制原理

Binary log:主数据库的二进制日志;Relay log:从服务器的中继日志。 复制过程:(1)主数据库在每次事务完成前,将该操作记录到binlog日志文件中; (2)从数据库中有一个I/O线程,负责连接主数据库服务,并读取binlog日志变化,如果发现有新的变动,则将变动写入到relay-log,否则进入休眠状态; (3)从数据库中的SQL Thread读取中继日志,并串行执行SQL事件,使得从数据库与主数据库始终保持一致。

hadoop11 安装 mysql master

1、在/etc/my.cnf文件

# 主从复制授权 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'%'; 
# 查看master的状态 
mysql> show master status;

2、登录mysql数据库 mysql -uroot -p

# 主从复制授权
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';

3、重启mysql服务

systemctl restart mysqld

 4、登录mysql数据库 mysql -uroot -p

# 查看master的状态
mysql> show master status;

hadoop12 安装 mysql slave

1、在/etc/my.cnf文件

# 指定从库从哪个主库的biglog的哪个位置进行数据同步 
mysql> CHANGE MASTER TO MASTER_HOST='hadoop11', MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=999;
# 启动主从复制 
mysql> start slave ;

2、登录mysql数据库 mysql -uroot -p

MASTER_LOG_FILE 和 MASTER_LOG_POS 来自于上边 show master status的截图

mysql> show slave status\G

3、重启mysql服务

systemctl restart mysqld

4、如果hadoop11里面之前已经有db1数据库,需要自己手动在hadoop12上创建db1数据库

问题汇总:

问题1:如果这张图上面的第一个不是yes

hadoop11上

hadoop12上

查看报错信息/var/log/mysqld.log

[ERROR] [MY-010584] [Repl] Slave I/O for channel '': error connecting to master 'root@hadoop11:3306' - retry-time: 60 retries: 11 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection. Error_code: MY-002061

解决办法:

在Hadoop11从库mysql中进行下面操作

grant all privileges on *.* to 'root'@'%' with grant option;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
show variables like '%validate_password%';
set global validate_password.policy=LOW;
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
alter user root@localhost identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
SELECT Host, User, plugin from user;

再在hadoop12上查看

show slave status\G

 问题2:如果数据库是之前克隆就有的,对auto.cnf文件的中的uuid进行修改,并且重启数据库

 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值