两台mysql5.7版本需要主从同步
server1 主 centos7 mysql5.7 192.168.0.6
server2 从 centos7 mysql5.7 192.168.0.7
分别打开3306端口(主要好测试,如在生产环境,建议打开端口时注意3306的安全)

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

安装好mysql5.7好
添加好可以远程查看的root账户方法(主要是本地测试,生为环境中可以不加)
配置server1主库上,编辑/etc/my.cnf文件,在[mysqld]下加入

server-id=1
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#binlog-do-db=home  # 这个表示只同步home库,你也可以多加几个一行一个库(如果没有此项,表示同步所有的库)

重启mysql

systemctl restart mysqld.service

重启后登录mysql,创建一个loshub的用户,密码为loshub123258,并取得REPLICATION SLAVE权限

create user 'loshub'@'192.168.0.7' identified by 'loshub123258';
grant replication slave on *.* to 'loshub'@'192.168.0.7';
flush privileges;
quit

重启mysql

systemctl restart mysqld.service

重启后登录mysql输入

show master status;
File 
Position
mysql-bin.000002
679

查看这两个的值,每台机都不一样

配置server2从库,编辑/etc/my.cnf文件,在[mysqld]下加入

server-id=2
#log-bin=mysql-bin
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
innodb_flush_log_at_trx_commit=2
sync_binlog=1000
slave_parallel_workers=1
slave_parallel_type=logical_clock
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

重启mysql

systemctl restart mysqld.service

登录从的mysql输入以下代码

stop slave;
change master to master_host='192.168.0.6',
master_user='loshub' ,master_password='loshub123258', 
master_log_file='mysql-bin.000002',
master_log_pos=679;
flush privileges;
start slave;

查看有无同步,show slave status \G;,都是yes就同步了

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

如出现Slave_SQL_Running: No解决方法

stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave ;
分类: mysql 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录