Mysql主从配置

1,准备两台服务器,如下

主服务器的情况大概像这样:注意IP

Mysql主从配置_第1张图片

从服务器的情况,大概像这样:注意IP

Mysql主从配置_第2张图片

2,开始配置主服务器

修改mysql的配置文件,加入如下配置项:

log_bin=mysql-bin

binlog_format=mixed

server_id=128

保存退出,重启mysql服务,进入到mysql的控制台下:

执行:show master status;

可以看到结果如下:记住下面的值,在后面配置从服务器时需要

Mysql主从配置_第3张图片

执行:use  mysql;

执行:select Host,User,Password from user;

看到如下结果:

Mysql主从配置_第4张图片

执行:grant  replication slave on *.*  to [email protected]  identified  by '123456';

执行:select Host,User,Password from user;

结果如下:

Mysql主从配置_第5张图片

执行:flush  privileges;

注意:现在停止对主服务器的更新操作!

3,开始配置从服务器

修改mysql配置文件,加入如下配置项:

relay_log=mysql-relay

server_id=131

保存退出,重启mysql服务,然后进入到mysql的控制台下:

执行:show slave status;

可以看到是空,ok,继续!

执行:

change master to

    master_host='192.168.75.128',

    master_user='slave1',

    master_password='123456',

    master_log_file='mysql-bin.000001',  //这里和上图相对应

    master_log_pos=120;  //这里和上图相对应

执行:start slave;

然后再执行:show slave status\G 

看到如下结果:

Mysql主从配置_第6张图片

Mysql主从配置_第7张图片

看到以上信息,则表示配置成功!

4,测试配置是否生效

在主服务器下新建一个数据库,然后在新建的数据库中新建表,然后在从服务器下查看,看是否同步过来,如果同步过来则表示成功,否则需要具体去查看原因!

5,可能产生的问题

可能发生的问题是:“服务器的UUID相同”

首先,问题产生的原因是因为在mysql第一次启动的时候会生成一个auto.cnf文件,里面记录了服务器的一个uuid的值,如果在你配置主从服务器的时候报错说主从服务器的uuid值相同,那么这时请确认:

1,在主从中配置了:server_id 并保证它们的值不同

2,在mysql控制台下通过命令:show variables like 'server_id',来确认主从服务器的server_id是否相同,如果没有查看到server_id或者跟你的配置项不同,那么请确认mysql的配置文件my.cnf的位置,因为这里可能是因为my.cnf的配置有两份

3,如果经过排查还是不行,那么请把原来的auto.cnf文件备份一下,然后重启一下mysql服务,这样差不多就可以了!




你可能感兴趣的:(Mysql主从配置)