如果我的方案可行请点赞,转载请注明。
在linux环境下配置mysql的读写分离。
环境 Centos6.5 Mysql 5.5.53
192.168.1.150 (主数据库)
192.168.1.151 (从数据库)
安装准备好数据库,所有功能正常使用后。
首先修改从数据库的配置文件my.cnf
server-id =2,任意数字,只要不给主数据库的server-id 重复就可以了。
启动主数据库,和从数据库。
再主数据库添加复制同步用户。
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.1.151' identified by 'replication';
flush privileges;
锁住主库,只能读不能写,FLUSH TABLES WITH READ LOCK;
查看主数据库binlog文件,以及位置。SHOW MASTER STATUS;
至此主库操作已经完成,不要退出当前shell。开始操作从数据库。
CHANGE MASTER TO \
MASTER_HOST='192.168.1.150', \ 主数据库IP
MASTER_USER='replication',\ 主数据库分配的同步用户名
MASTER_PASSWORD='replication',\ 主数据库分配的同步用户密码
MASTER_LOG_FILE='mysql-bin.000005',\主数据库的binlog日志
MASTER_LOG_POS=348;\主数据库的log位置
然后show slave status;会发现连个线程都是NO
开始start slave 然后在show slave status 会发现两个yes表示成功。
然后主库解锁UNLOCK TABLES。
最后大家可以自行测试,主数据库插入数据,从数据库会看到相应的数据。这里就不测试了。