群晖 mysql8主主同步设置方法

群晖 mysql8主主同步设置方法

1.设置docker路径映射

2.设置环境变量

配置文件1

1
2
[mysqld]
.

3.进入容器执行命令

显示所有在用的容器

1
docker ps

进入容器执行命令

1
docker exec -it ccaf2b85392e bash

进入mysql执行命令

1
mysql -u root -p

创建同步使用的用户名和账户

1
CREATE USER 'sync'@'%' IDENTIFIED WITH mysql_native_password BY 'sync6123510';

赋予账号同步权限

1
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'sync'@'%';

刷新数据库权限

1
flush privileges;

显示server_id同步id,每个数据库id必须不一样

1
show variables like 'server_id';

查看mysql的master状态,注意图中的File和Position所对应的值

1
SHOW MASTER STATUS;

在另一台服务器上进入mysql执行界面后,添加上面这个数据的连接方式

1
2
3
4
5
6
7
8
mysql> CHANGE MASTER TO
-> MASTER_HOST='114.114.114.114',
-> MASTER_USER='sync',
-> MASTER_PASSWORD='sync123',
-> MASTER_LOG_FILE='mysql-bin.000003',
-> master_port=6306,
-> MASTER_LOG_POS=848;
Query OK, 0 rows affected, 2 warnings (0.93 sec)

启动同步

1
start slave;

查看同步状态

1
show slave status\G

连接失败重置一下slave

1
2
3
4
5
stop slave;

reset slave;

start slave;

给同步账号提升账号权限

1
2
3
4
GRANT ALL PRIVILEGES ON *.* TO 'sync'@'%';
flush privileges;
stop slave;
start slave;

检查master设置,如果错误就修改

1
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=155;