mysql8主主复制_实战MYSQL 8.0.12 主主复制配置过程

实战MYSQL 8.0.12 主主复制配置过程

搭建环境:

Server name

IP

mysql1

192.168.200.1

mysql2

192.168.200.2

服务器版本:CentOS Linux release 7.5.1804 (Core)

MYSQL版本:8.0.12 # 采用源码安装方式, 此过程略,或者参考 https://blog.51cto.com/snowlai/2140451

由于MYSQL采用的是源码安装方式,没有生成 /etc/my.cnf 文件,需要手动创建,创建内容如下:

vim /etc/my.cnf # mysql1里的内容,mysql2的内容区别是server-id = 2 就可以,其它一样;

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

server-id = 1

log-bin=mysql-bin

relay-log = mysql-relay-bin

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=information_schema.%

symbolic-links=0

log-error=/usr/local/mysql/data/mysql1.err

pid-file=/usr/local/mysql/data/mysql1.pid

进入mysql1的数据库

mysql -uroot -p #输入数据库的密码

mysql> flush table with read lock;

锁住数据库的写操作后,不要退出这个终端,复制一个终端,将/usr/local/mysql/data 压缩打包,然后再scp到mysql2上。

tar zcvf data.tar.gz data

scp data.tar.gz root@mysql2:/usr/local/mysql/

然后再mysql2上解压data.tar.gz, 并删除 auto.cnf文件

tar zxvf data.tar.gz

rm -rf auto.cnf

都重启mysqld服务

service mysqld restart

mysql1: MASTER ; mysql2:SLAVE

在mysql1上创建复制用户(repl_user),并授权

grant replication slave on . to 'repl_user'@'mysql2' identified by 'REPL_PASSWORD';

show master status;

并记录master的输出:File和Position的值

登录到mysql2上,设置mysql1为自己的主服务器

change master to master_host='mysql1',master_user='repl_user',master_password='REPL_PASSWORD',master_log_file='mysql1上File的值',master_log_pos=mysql1上的position值;

start slave;

show slave status \G;

mysql2: MASTER ; mysql1:SLAVE

在mysql2上创建复制用户(repl_user),并授权

grant replication slave on . to 'repl_user'@'mysql1' identified by 'REPL_PASSWORD';

show master status;

并记录master的输出:File和Position的值

登录到mysql1上,设置mysql2为自己的主服务器

change master to master_host='mysql2',master_user='repl_user',master_password='REPL_PASSWORD',master_log_file='mysql2上File的值',master_log_pos=mysql2上的position值;

start slave;

show slave status \G;

注意事项:

两个数据库的数据在初始状态必须保持一致, 这样才能保证 show master status;的时候输出的结果才一致;

show slave status \G; 的时候。 Slave_IO_Running 和 Slave_SQL_Running 的结果为YES;

数据库的配置文件:/etc/my.cnf 中的server-id的值必须不一样;

两台服务器中的数据库版本必须一样;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值