主数据库配置
设置/etc/my.cnf 内容添加
log-bin=mysql-bin 启用二进制日志
server-id=100 服务器唯一id
用docker 部署的mysql 就用 docker cp my.cnf xxxx(容器id):/etc/my.cnf
这句话就是从外面复制配置文件到容器里面
然后 docker restart xxxx(容器id)
设置复制账号
mysql8 需要先创建账号
create user slave'%' identified by '123456';
然后授权
grant all privileges on *.* to 'slave'@'%' with grant option;
刷新
flush privileges;
获取file和position 值
在进入mysql 里面之后输入
mysql> show master status;
配置从库
一样,先搞定my.cnf 不过重复只需要设置服务器唯一id server-id=xxxx.
然后重启数据库 docker 的话 就 docker restart xxxx
进入mysql
mysql>change master to
master_host='127.0.0.1',master_user='slave',master_password='123456',
master_log_file = 'mysql-bin.000000x',master_log_pos = '1',
get_master_public_key=1;
然后 start slave;
查看从数据库状态
show slave status\G;
如果 slave_io_running:yes
slave_sql_running:yes
看到这个,你就成了