docker搭建mysql读写分离
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了docker搭建mysql读写分离,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2913字,纯文字阅读大概需要5分钟。
内容图文
![docker搭建mysql读写分离](/upload/InfoBanner/zyjiaocheng/526/f95359b7d200408abd93fc5edf66af3d.jpg)
- 创建主从数据映射目录
// 创建目录,数据和配置不至于丢失 mkdir -p /usr/local/docker_app/mysql/master/conf.d/ mkdir -p /usr/local/docker_app/mysql/slave/conf.d/
- 创建master配置文件
/usr/local/docker_app/mysql/master/conf.d/my.cnf
vi /usr/local/docker_app/mysql/master/conf.d/my.cnf
修改文件配置
[mysqld] log-bin=master-bin server-id=1
- 创建slave配置文件
/usr/local/docker_app/mysql/slave/conf.d/my.cnf
vi /usr/local/docker_app/mysql/slave/conf.d/my.cnf
修改文件配置
[mysqld] log-bin=slave-bin server-id=2
5.启动master服务
docker run -d --name mysql-master -p 3306:3306 -v /usr/local/docker_app/mysql/master/conf.d/data:/var/lib/mysql -v /usr/local/docker_app/mysql/master/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
- 启动slave服务
docker run -d --name mysql-slave -p 3307:3306 -v /usr/local/docker_app/mysql/slave/conf.d/data:/var/lib/mysql -v /usr/local/docker_app/mysql/slave/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
- 进入容器修改master 的读写权限
# 进入容器shell $ docker exec -it mysql-master /bin/sh
mysql -uroot -p // mysql shell // 用户名:root // 密码:root GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;
进入容器修改slave的读写权限
# 进入容器shell
$ docker exec -it mysql-slave/bin/sh
//进入mysql mysql -uroot -p // mysql shell // 用户名:root // 密码:root GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;8.进入mysql-master查看master状态
// mysql shell show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | master-bin.000003 | 154 | | | | +------------------+----------+--------------+------------------+-------------------+
- 获取master容器的host
docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ mysql-master
- 进入mysql-slave关联主从模式(自行更改那些参数)
// mysql shell change master to master_host=‘172.17.0.2‘, master_user=‘root‘,master_password=‘root‘, master_log_file=‘master-bin.000003‘,master_log_pos=154;
// mysql shell // 启用slave start slave;
查看是否成功
show slave status \G;
以下两个都为yes就代表成功了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
//说明主从成功
- 测试主从
在master创建test数据库,再到slave中查看是否存在test库,若存在则基本完成,若未成功检查binlog、master host、position是否正确;目前已经可以给前台使用,只不过要区分读写数据源,挺麻烦!
show databases;
create database test;
docker搭建mysql读写分离
标签:ofo doc 容器 实例 mic 使用 setting use ipa
本文系统来源:https://www.cnblogs.com/-mrl/p/13262554.html
内容总结
以上是互联网集市为您收集整理的docker搭建mysql读写分离全部内容,希望文章能够帮你解决docker搭建mysql读写分离所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。