#搭建主库
mkdir /data/mysql/master01 -p
cd /data/mysql/master01
mkdir conf data
chmod 777 * -R
#创建配置文件
cd /data/mysql/master01/conf
vim my.cnf
#输入以下内容
[mysqld]
log-bin=mysql-bin #开启二进制文件
server-id=1 #服务id,单集群节点内不可重复
binlog_format=MIXED #设置mixed模式
#创建容器(如果没有定制镜像,需要进入mysql容器内my.cnf.d文件夹内复制配置文件到/etc/目录)
docker create --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.25
#启动
docker start percona-master01 && docker logs -f percona-master01
创建同步账户以及授权
create user 'xiaokai'@'%' identified by '123456';
grant replication slave on . to 'xiaokai'@'%' identified by '123456';
//如果要配置Haproxy,可以开启所有权限
grant all on . to 'xiaokai'@'%' identified by '123456';
flush privileges;
查看master状态
show master status;
查看serverid是否生效
show global variables like 'server%'
查看模式是否修改成功
show global variables like 'binlog%'
#搭建从库
mkdir /data/mysql/slaver01 -p
cd /data/mysql/slaver01
mkdir conf data
chmod 777 * -R
#创建配置文件
cd /data/mysql/slaver01/conf
vim my.cnf
#输入以下内容
[mysqld]
server-id=2 #服务id,单集群节点内不可重复
#创建容器(如果没有定制镜像,需要进入mysql容器内my.cnf.d文件夹内复制配置文件到/etc/目录)
docker create --name percona-slaver01 -v /data/mysql/slaver01/data:/var/lib/mysql -v /data/mysql/slaver01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.25
#启动(记得同步my.cnf)
docker start percona-slaver01 && docker logs -f percona-slaver01
设置master相关信息
CHANGE MASTER TO MASTER_HOST='172.16.169.168',
MASTER_PORT=3306,
MASTER_USER='xiaokai',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;
启动同步
start slave
查看slave状态
show slave status
网友评论