当前位置:Gxlcms > 数据库问题 > 在Centos7.6上配置mysql主从

在Centos7.6上配置mysql主从

时间:2021-07-01 10:21:17 帮助过:16人阅读

 

    

配置说明:

#设置主服务 的ID (id可以自己随便设置但是要保证和slave的id不一样)
server-id=1

#设为1当然是最安全的,但性能也是最差的(相对其他两个参数而言,但不是不能接受)。如果对数据一致性和完整性要求不高,完全可以设为2,如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能
innodb_flush_log_at_trx_commit=2

#开启binlog 志同步功能
sync_binlog=1 

#binlog 日志文件名
log-bin=mysql-bin-200 

# 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
binlog-do-db=xxxx 

保存后,重启mysql

 

systemctl restart mysqld

进入mysql命令行 mysql -uroot -p你的密码

输入授权命令

 

GRANT REPLICATION SLAVE ON *.* to ‘repl‘@‘%‘ identified by ‘Admin123!‘;

 

意思是所有slave都可以通过账号repl和密码Admin123!来同步master的数据

然后查看master的状态:

 

show master status;

 

技术图片

把file列和Position列记录下来,一会配置slave要用到

 

此时Master的配置已经搞定,登录一下从机(slave)

同理修改slave服务器的mysql配置 vim /etc/my.cnf 加入下面的配置,需要注意的是server-id不要和master一样

 

server-id=201 
innodb_flush_log_at_trx_commit=2 
sync_binlog=1 
log-bin=mysql-bin-201

保存后重启服务 systemctl restart mysqld

 

进入mysql命令行 mysql -uroot -p你的密码

输入命令:

 

change master to master_host=‘39.106.228.179‘,master_user=‘repl‘ ,master_password=‘Admin123!‘, master_log_file=‘mysql-bin.000002‘ ,master_log_pos=154

命令说明:

master_host: 主机的ip

master_user : 主机授权的用户.

master_password : 主机授权时候填写的密码

master_log_file : 主机show master status;中的File

master_log_pos: 主机show master status;中的Position.

输入命令启动slave

 

start slave;
可以查看slave的状态:

 

 

show slave status G;

然后我们就可以测试一下对master进行写入,看看salve是否可以同步数据了

技术图片

 

当然了,mysql的读写分离主从配置并不是万能的,根据不同的应用场景选择不同的策略,MySQL的主从复制功能有一定的延迟性,如果对数据实时一致性的要求比较高的场景不推荐使用。

 

转载:https://v3u.cn/a_id_85

 

 

在Centos7.6上配置mysql主从

标签:root   roo   class   业务   负载   commit   完成   pass   user   

人气教程排行