docker怎么部署mysql主从复制
要在Docker中部署MySQL主从复制,需要执行以下步骤:
创建一个网络(可选):
docker network create mysql-net
启动MySQL主节点容器:
docker run -d --name mysql-master --network mysql-net -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
启动MySQL从节点容器:
docker run -d --name mysql-slave --network mysql-net -p 3307:3306 -e MYSQL_ROOT_PASSWORD=password mysql
在主节点容器中启用二进制日志和主从复制功能:
docker exec -it mysql-master bashmysql -u root -pGRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';FLUSH PRIVILEGES;FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS;
记下File
和Position
的值。
在从节点容器中配置主从复制:
docker exec -it mysql-slave bashmysql -u root -pCHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='[File]', MASTER_LOG_POS=[Position];START SLAVE;
将[File]
和[Position]
替换为主节点的相应值。
现在,你已经成功部署了MySQL主从复制。可以通过连接到主节点容器的3306
端口或从节点容器的3307
端口来访问数据库。