echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!mysql
本文主要为了记录MySQL搭建读写分离的操做,是本人的操做纪实,并无详细讲解其中的原理和操做设置,若是须要详细解释的,不建议阅读。linux
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服务器了sql
# 打开文件
vi /etc/my.cnf复制代码
找到配置文件中的这一段,而后按照下面的配置进行修改数据库
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;复制代码
到这里咱们已经成功啦!spa
咱们配置第三台服务的时候,须要重新建立一个给第三台服务器访问的主服务器的帐号。同时,因为咱们是在本地虚拟机上安装的读写分离环境,因此每一次启动mysql或者关闭虚拟机都会致使mysql的position改变,因此咱们要跟随着配置变化,每次启动读写环境前检查一下,修改配置和上面采坑解决的步骤一直。rest
作一个有底线的博客主