一、mysql安装步骤
- 拉取docker pull mysql:5.7
- docker-compose安装
- sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- sudo chmod +x /usr/local/bin/docker-compose
- 创建mysql主从库配置目录
- mkdir -p /data1/mysql/master/conf
- mkdir -p /data1/mysql/slave/conf
- 在主库 /data1/mysql/master/conf创建my.cnf配置文件
[client]port=3306default-character-set=utf8[mysql]default-character-set=utf8[mysqld]character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES# 配置大小写不敏感lower_case_table_names=1# 同一局域网内注意要唯一server-id=100 # 开启二进制日志功能(关键)log-bin=mysql-bin
- 在从库 /data1/mysql/slave/conf创建my.cnf配置文件
[client]port=3306default-character-set=utf8[mysql]default-character-set=utf8[mysqld]character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES# 配置大小写不敏感lower_case_table_names=1# 同一局域网内注意要唯一server-id=200
- 使用docker-compose来管理mysql主从库
- vi /data1/mysql/docker-compose.yaml (配置文件如下:)
version: '3'services: mysql-slave: image: mysql:5.7 depends_on: - mysql-master links: - mysql-master volumes: - /data1/mysql/slave/data:/var/lib/mysql - /data1/mysql/slave/conf:/etc/mysql - /data1/mysql/slave/log:/var/log/mysql ports: - "3308:3306" restart: always environment: MYSQL_ROOT_PASSWORD: root container_name: mysql-slave mysql-master: image: mysql:5.7 volumes: - /data1/mysql/master/data:/var/lib/mysql - /data1/mysql/master/conf:/etc/mysql - /data1/mysql/master/log:/var/log/mysql ports: - "3307:3306" restart: alwaysdocker pull mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root container_name: mysql-master
- 启动compose来启动mysql
- cd /data1/mysql
- docker-compose up -d
- 查看docker容器是否在运行
- 主数据库配置,连接主库并创建数据同步用户
- 使用Navicat for MySQL 连接上主库
- 创建同步账号:CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
- 授权:GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
- SHOW MASTER STATUS ;
- 从数据库配置,连接从库配置从库同步连接(指定连接的ip/port/user/passwd以及上图中show master status命令得到的file和position值)
- 使用Navicat for MySQL 连接上从库
- CHANGE MASTER TO MASTER_HOST='192.168.183.134',MASTER_PORT=3307,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=609;
- 启动同步进程:START SLAVE;
- 测试结果状态
- 主库查询进程:SHOW PROCESSLIST
-
- 从库查询进程:SHOW PROCESSLIST
- 到此安装完成,更多my.cnf请自行配置