提示:前要开启
docker
不知道移步docker
分类入门
docker pull percona:5.7.23
(percona:5.7.23)Orcal 发布的mysql版本 理解为mysql的一个分支就好了
docker images
mkdir /data/mysql/conf -p
mkdir /data/mysql/data
##返回根目录 并对data文件夹加入写权限
chmod 777 data -R
ll
目录这样显示my.cnf
,并输入#建议将注释删除
[mysqld]
#开启二进制目录文件
log-bin=mysql-bin
#服务id不可重复
server-id=1
#解决打印台报错
sql_mode=‘STRICT_TRANS_TABLES,NO‘
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 percona:5.7.23
注意端口号映射
-p 3306:3306
(前面为机器端口号,后面为docker端口号)
docker start percona-master01 && docker logs -f percona-master01
--用户名@mysql位置地址
CREATE USER ‘zhy‘@‘%t‘IDENTIFIED BY ‘zhy‘;
grant replication slave on *.* to ‘zhy‘@‘%‘;
FLUSH PRIVILEGES;
Navicat 窗口报错解决
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘
docker 重新启动 docker restart 容器名 (后面可选)&& docker docker logs -f 容器名
Navicat show master status;
查看master状态
日志文件 与 起始位置
查看二进制日志和文件 show GLOBAL VARIABLES like ‘binlog%‘;
查看server相关的配置信息 show GLOBAL VARIABLES LIKE ‘server%‘;
前面配置过server-id
为1 这里看到说明配置文件生效了
/data/mysql/slave01
在下面创建 conf
、data
两个目录 用来映射docker目录chmod 777 *-R
意义在于任意用户可以写##内容如下
[mysqld]
log-bin=mysql-bin
server-id=2 ##注意从节点不能和主节点id相同
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘
docker create --name percona-slave01 -v /data/mysql/slave01/data/:/var/lib/mysql -v /data/mysql/slave01/conf:/etc/my.cnf.d -p 3317:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
docker start percona-slave01 && docker logs -f percona-slave01
CHANGE MASTER TO
master_host=‘hadoop102‘,
master_user=‘zhy‘,
master_password=‘zhy‘,
master_port=3306,
--与上文种主节点1的 状态查询文件与位置一致
master_log_file=‘mysql-bin.000005‘,
master_log_pos=154;
START SLAVE;
可以实现主从复制修改从服务配置 需要停止服务
stop slave;
原文:https://www.cnblogs.com/zhy-god/p/15138661.html