echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!html
本文主要为了记录MySQL搭建读写分离的操做,是本人的操做纪实,并无详细讲解其中的原理和操做设置,若是须要详细解释的,不建议阅读。mysql
linux系统版本 | 对应服务器地址 | 数据库 | 版本 |
---|---|---|---|
CentOS7 | 192.168.222.132 | MySQL | 5.6 |
CentOS7 | 192.168.222.133 | MySQL | 5.6 |
CentOS7 | 192.168.222.134 | MySQL | 5.6 |
yum install ntp –y
vi /etc/ntp.conf
restrict 192.168.222.132 mask 255.255.255.0 nomodify notrap server 127.127.1.0 fudge 127.127.1.0 stratum 8
systemctl start ntpd
ntpq -p
将咱们三台服务所有作以上配置,配置完成以后,咱们就能够开始设置主mysql服务器了linux
# 打开文件 vi /etc/my.cnf
找到配置文件中的这一段,而后按照下面的配置进行修改 sql
server-id=132 # 使用ip的后端做为咱们的主服务id log_bin=mysql-bin # 开启MySQ二进制日志系统。
mysql -uroot -P3306 -p123456 -h192.168.222.132 show databases;
binlog-do-db=test # 须要同步的数据库名test,其余的数据库不一样步。 binlog-ignore-db=mysql #不一样步mysql系统数据库,每个数据库对应一行。 binlog-ignore-db=information_schema binlog-ignore-db=performance_schema
service mysql restart
show master status;
若是显示结果和咱们配置一致证实咱们的主服务器配置已经成功啦!能够进行从服务器的配置数据库
# 打开文件 vi /etc/my.cnf
找到配置文件中的这一段,而后按照下面的配置进行修改 后端
server-id=133 # 使用ip的后端做为咱们的主服务id log_bin=mysql-bin # 开启MySQ二进制日志系统。
mysql -uroot -P3306 -p123456 -h192.168.222.133 show databases;
binlog-do-db=test # 须要同步的数据库名test,其余的数据库不一样步。 binlog-ignore-db=mysql #不一样步mysql系统数据库,每个数据库对应一行。 binlog-ignore-db=information_schema binlog-ignore-db=performance_schema
service mysql restart
# 登陆主服务器,建立一个新帐号 GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.222.133' IDENTIFIED BY '123456'; # 刷新权限 FLUSH PRIVILEGES;
change master to master_host='192.168.222.132', master_user='slave', master_password='123456', master_log_file='mysql-bin.000011', master_log_pos=1243;
start slave;
show slave status \G;
出现上面这两个“Yes”就证实已经配置成功了服务器
stop slave;
reset slave;
若是出现如上报错,咱们须要先中止从服务器。该问题引发的缘由是我以前安装数据库的时候并无发现他们的版本不一致致使的,停机更新版本以后再次按照下面步骤操做就行了。微信
# 先停掉从服务器 stop slave; # 重置从服务器 reset slave; # 而后排查配置的问题,从新配置一遍 change master to master_host='192.168.222.132', master_user='slave', master_password='123456', master_log_file='mysql-bin.000011', master_log_pos=709; # 再次启动 start slave; # 查看服务器状态 show slave status \G;
CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id', `user_name` varchar(255) DEFAULT NULL, `pass_word` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
到这里咱们已经成功啦!学习
咱们配置第三台服务的时候,须要重新建立一个给第三台服务器访问的主服务器的帐号。同时,因为咱们是在本地虚拟机上安装的读写分离环境,因此每一次启动mysql或者关闭虚拟机都会致使mysql的position改变,因此咱们要跟随着配置变化,每次启动读写环境前检查一下,修改配置和上面采坑解决的步骤一直。spa
作一个有底线的博客主
原文出处:https://www.cnblogs.com/xlecho/p/11796619.html