mysql 主从复制配置

来源:互联网 发布:法国房补 知乎 编辑:程序博客网 时间:2024/06/01 10:39

      mysql 使用主从复制配置的好处:

1、实现服务器负载均衡 实现数据库读写分离。对于实时性比较高的,读写分离可能不好用,因为主从复制会有延时,导致数据一致性不好。

2、实现异地备份

3、提高数据库可用性,为了使数据库高可用,还是主主备份(后面会继续)比较好。双主热备份,实现数据库切换。

master:win7  mysql版本5.6

slave: CentOS7  mysql版本5.7

为了更好的兼容性,这里使用低版本作为主服务器 

1、修改主服务器master:

打开C:\Program Files\MySQL\MySQL Server 5.6\my.ini


2、修改从服务器



3、重启两台mysql

win7: net stop mysql  

    net start msyql

CentOS: systemctl restart mysqld.service

如果是CentOS5或6 :service mysqld restart

4、进入mysql命令行进行设置

master:GRANT REPLICATION SLAVE ON *.* to 'victor'@'%' identified by '123456'; 

查看master 状态 :

记住File和Position,不要操作主服务器

slave:连接到master并启动slave

change master to master_host='192.168.1.111',master_user='victor',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=120;

start slave;

查看slave状态:

show slave status;

       Slave_IO_State: Waiting for master to send event
              Master_Host: 192.168.1.111  //主服务器地址
              Master_User: victor   //授权帐户名,尽量避免使用root
              Master_Port: 3306    //数据库端口,部分版本没有此行
              Connect_Retry: 60
              Master_Log_File: mysql-bin.000008
              Read_Master_Log_Pos: 120     //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
              Relay_Log_File: victor123-relay-bin.000002
              Relay_Log_Pos: 317
              Relay_Master_Log_File: mysql-bin.000008
              Slave_IO_Running: Yes    //此状态必须YES
              Slave_SQL_Running: Yes     //此状态必须YES

注:Slave_IOSlave_SQL进程必须正常运行,即YES状态,否则都是错误的状态;


5、测试

新建数据库:


新建完后刷新slave数据库



在master新建表插入数据



到此主从复制没有问题