Centos7下Mysql8.0版本实现主从同步详解

近期学习搭建高可用mysql的解决方案,结果倒在了最简单的主从模式上面。。。。

Mysql主从配置

1.1 配置环境:

    本人在vm下做的实验,linux版本是centos的7.0版本,然后Mysql版本为此时较新的8.0.13版本。做最为基础的Master-Slave实验,其中两台虚拟机的IP地址如下:

192.168.106.131---Master,192.168.106.132--Slave

1.2安装Mysql:

    8.0以后的版本安装与之前差异较大,绿色版安装详情见这里。

mysql主从配置前提条件要求:

1、服务器版本一致

2、主服务器日志必须二进制

3、主服务器-从服务器库的数据要求一致

4、从数据库不能做写操作

2.主服务器配置

2.1、修改my.cnf,添加

  [mysqld]

  log-bin=mysql-bin

  server-id=1

2.2、重启mysql服务

  service mysqld restart

2.3、配置mysql

在mysql数据库中,建立用户同步数据库的账号:

create user 'repl'@'%' identified with 'mysql_native_password' by '123456';

TIPS:此处有坑!!!,详情见附录!!!

给repl用户权限:

GRANT replication slave ON *.* TO 'repl'@'%';

GRANT ALL privileges ON *.* TO 'repl'@'%';

flush privileges;

查看mysql主服务器日志:

  show master status

  show master status\G(均可)


记录下File和Position的值,一会儿再从服务器上配置时使用。

3.从服务器配置

3.1、修改my.cnf,添加

  [mysqld]

  log-bin=mysql-bin

  server-id=2

3.2、重启mysql.server服务

  service mysqld restart

3.3、在从服务器设置主服务器,实现主从配置

CHANGE MASTER TO

MASTER_HOST='192.168.106.131',#Master的ip

MASTER_USER='repl',#你创建的用户

MASTER_PASSWORD='123456',#password

MASTER_LOG_FILE='mysql-bin.000003',#主服务器上的File

MASTER_LOG_POS=155;#刚刚保存的position

3.4、开启主从

  start slave

3.5、检查从服务器状态

  show slave status\G


只需要关注这两个参数是否为Yes,其他状态No,connecting均代表有错误!根据错误代码,去检查不同的错误

但一般就三种:

1、网络不通 

2、密码不对 

3、pos不对

(附录提及error:2061)

最后测试就不再测试了,只要上面两个参数为Yes就不会有错误。

附录

2061的错误是我在配置中一直没解决的错误,百度也搜不到,但最终还是巴拉巴拉到了答案。this,


一开始,我是按照正常的创建用户方法:

create user 'repl' identified by '123456';最后一直提示无法连接到数据库。

解决方法是:

要么重新按照最上面的命令建这个repl用户,要么直接alteruser repl@'%' identified with 'mysql_native_password' by '123456';。

原因不详。。。。。。。因此写下一篇笔记来记录这个emmmm事件!。。。

希望知道的大佬给讲解一下。。。。。

你可能感兴趣的:(Centos7下Mysql8.0版本实现主从同步详解)