配置主库:
第一步:创建文件夹
mkdir -p /docker/mysql/mysqlmaster
编写配置文件
vim /docker/mysql/mysqlmaster/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
server_id = 3307 #mysql主从的重要属性,要保证主库和从库的server_id不同
log_bin = log #因为要做主从切换,所以主库和从库都开启。如果只是读写。就只要主库配置即可
第二步:下载MySQL 镜像
docker pull mysql:5.7
第三步:创建并运行 MySQL 容器
docker run –privileged=true –name mysql -p 3307:3306 -v /docker/mysql/mysqlmaster/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
第四步:连接数据库测试
docker exec -it mysql bash
mysql -u root -p
输入密码:root
查看二进制文件
show master status
配置从库
第一步:创建文件夹
mkdir -p /docker/mysql/mysqlslave
vim /docker/mysql/mysqlslave/my.cnf
第二步:创建并运行 MySQL 容器
docker run –privileged=true –name mysqlslave -p 3308:3306 -v /docker/mysql/mysqlslave/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
配置主从:
第一步:连接主库
设置用户
grant replication slave on . to ‘backup’@’%’ identified by ‘qfjava’;
flush privileges;#刷新权限使得刷新
第二步:查看二进制文件
show master status;
二进制文件:log.000003 591
第三步:查看主库 ip 信息
docker inspect mysql
ip:172.17.0.3
第四步:连接从库
设置主库信息
CHANGE MASTER TO MASTER_HOST=’172.17.0.3’,master_port=3306,MASTER_USER=’backup’,MASTER_PASSWORD=’qfjava’,MASTER_LOG_FILE=’log.000003’,MASTER_LOG_POS=591;
start slave;#启动复制
show slave status
第五步:测试