docker如何搭建mysql主从?
目录:
1 Docker 搭建 mysql 主从1 下载 docker 镜像2 创建网络驱动3.1 主服务器搭建3.1.1 启动主服务器3.1.2 修改主服务器的配置4 从服务器搭建3.1.1 启动从服务器3.1.2 修改从服务器的配置
1 Docker 搭建 mysql 主从1 下载 docker 镜像【docker如何搭建mysql主从?】docker pull mysql
2 创建网络驱动docker network create {网络名称} 创建专门用于容器之间通信的网络
作用: 创建 docker 容器的时候 通过 --network {网络名称} 可以方便在内部使用容器名称进行通信
docker network create cusnet
3.1 主服务器搭建3.1.1 启动主服务器docker run -dit--network cusnet --name mysql_master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
3.1.2 修改主服务器的配置
- 进入容器中docker exec -it mysql_master /bin/bash
- 修改配置文件cd /etc/mysqlecho "[mysqld]" > my.cnfecho "pid-file = /var/run/mysqld/mysqld.pid" >> my.cnfecho "socket = /var/run/mysqld/mysqld.sock" >> my.cnfecho "datadir = /var/lib/mysql" >> my.cnfecho "secure-file-priv= NULL" >> my.cnfecho "secure-file-priv= NULL" >> my.cnfecho "log-bin=/var/run/mysqld/mysql-bin" >> my.cnf # [必须]启用二进制日志echo "server-id=1" >> my.cnf # [必须]服务器唯一IDset +Hecho "!includedir /etc/mysql/conf.d/" >> my.cnf
- 创建用于复制的账号$ mysql -uroot -p123456 mysql> CREATE USER 'slave'@'%' IDENTIFIED BY '123456';mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
- 关闭容器重启 docker container stop mysql_master--tt-darkmode-bgcolor: #BDBEBE;">docker exec -it mysql_slave /bin/bash
- 修改配置文件cd /etc/mysqlecho "[mysqld]" > my.cnfecho "pid-file = /var/run/mysqld/mysqld.pid" >> my.cnfecho "socket = /var/run/mysqld/mysqld.sock" >> my.cnfecho "datadir = /var/lib/mysql" >> my.cnfecho "secure-file-priv= NULL" >> my.cnfecho "secure-file-priv= NULL" >> my.cnfecho "log-bin=/var/run/mysqld/mysql-bin" >> my.cnf # [必须]启用二进制日志echo "relay_log=/var/run/mysqld/mysql-relay-bin" >> my.cnf echo "server-id=2" >> my.cnf # [必须]服务器唯一IDset +Hecho "!includedir /etc/mysql/conf.d/" >> my.cnf
- 关闭容器重启 docker container stop mysql_slave--tt-darkmode-bgcolor: #191919;">$ mysql -uroot -p123456 ?mysql> show master status \G; ;; 这句话是查看 master 日志文件和当前的位置mysql> CHANGE MASTER TO GET_MASTER_PUBLIC_KEY=1;mysql> change master to MASTER_HOST='mysql_master',MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE="mysql-bin.000001",MASTER_LOG_POS=156;mysql> start slave; ;; 启动复制mysql> show slave status \G; ;; 查看复制的状态如果报 (1872, 'Slave failed to initialize relay log info structure from the repository')执行 reset slave;
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 培育|跨境电商人才如何培育,长沙有“谱”了
- 抖音小店|抖音进军电商,短视频的商业模式与变现,创业者该如何抓住机遇?
- 计费|5G是如何计费的?
- 车轮旋转|牵引力控制系统是如何工作的?它有什么作用?
- 视频|短视频如何在前3秒吸引用户眼球?
- Vlog|中国Vlog|中国基建如何升级?看5G+智慧工地
- 涡轮|看法米特涡轮流量计如何让你得心应手
- 手机|OPPO手机该如何截屏?四种最简单的方法已汇总!
- 和谐|人民日报海外版今日聚焦云南西双版纳 看科技如何助力人象和谐