MySql 主主

准备2台Linux服务器,并且在两台服务器上,同时安装docker,国内的同学可以使用aliyun的镜像安装。

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

然后,启动MySql 容器

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

配置第一台服务器的mysql

# 进入mysql 容器
docker container ls
docker exec -it mysql1 /bin/bash # 安装vim, 如果已经安装,则可以略过
apt-get update
apt-get install vim # 进入mysql 服务器之后,修改配置文件
cd /etc/mysql
vi my.cnf # 增加以下配置内容 [mysqld]
server_id = 1
log-bin= mysql-bin
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=1
auto-increment-increment=2 # 重启mysql服务
service mysql restart
docker container start mysql1 # 创建一个用户来同步数据,重新进入容器,然后登陆mysql
docker exec -it mysql1 /bin/bash
mysql -uroot -p123456 # 这里表示创建一个slave同步账号slave,允许访问的IP地址为%,%表示通配符
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456'; # 查看状态,记住File、Position的值,在另外一个服务器中将用到
show master status; # 查看容器IP, 退出mysql
exit;
exit;
docker inspect mysql1 | grep IPA

配置第二台mysql 服务器

# 进入mysql的容器
docker exec -it mysql2 /bin/bash # 安装vim, 如果已经安装,则可以略过
apt-get update
apt-get install vim # 修改配置文件
cd /etc/mysql
vi my.cnf # 增加如下配置 [mysqld]
server_id = 2
log-bin= mysql-bin
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=2
auto-increment-increment=2 # 重启mysql 服务
service mysql restart
docker start mysql2
docker exec -it mysql2 /bin/bash
mysql -uroot -p123456 # 创建一个用户来同步数据
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456'; # 设置主库链接,master_host即为容器IP,master_log_file和
master_log_pos即为在mone容器中,通过show master status查出来
的值;
//change master to
master_host='172.17.0.2',master_user='slave',master_passwor d='123456',master_log_file='mysql- bin.000001',master_log_pos=443,master_port=3306; change master to master_host='159.89.85.150',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=443,master_port=3306; # 启动同步
start slave ;
# 查看状态
show master status; # 查看容器IP:
docker inspect mysql1 | grep IPA # 设置完成后,再次进入第一个服务器的容器
docker exec -it mysql1 /bin/bash
mysql -uroot -p123456 # 设置mtwo主库链接,参数详细说明同上
// change master to
// master_host='172.17.0.3',master_user='slave',master_passwor d='123456',master_log_file='mysql-bin.000003',master_log_pos=443,master_port=3306; change master to
master_host='157.245.134.29',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=443,master_port=3306; # 启动同步
start slave; # 查看状态
show slave status\G;

MySql Docker 主主配置的更多相关文章

  1. Docker Mysql数据库双主同步配置方法

    一.背景 可先查看第一篇<Docker Mysql数据库主从同步配置方法>介绍 二.具体操作 1.创建目录(~/test/mysql_test1): --mysql --mone --da ...

  2. Docker Mysql主主同步配置搭建Demo

    主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章. 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql ...

  3. mycat 1.6.6.1安装以及配置docker 安装mysql 5.7.24 双主多从读写分离主主切换

    mycat和mysql的高可用参考如下两个图 简介:应用程序仅需要连接HAproxy或者mycat,后端服务器的读写分离由mycat进行控制,后端服务器数据的同步由MySQL主从同步进行控制. 服务器 ...

  4. Docker mysql主主互备和高可用

    一.测试环境 1.1 结构图 1.2 版本 操作系统:CentOS 7.3 MySQL版本:5.6.35 Docker版本:18.06.1-ce 使用root用户操作 IP地址说明 IP地址 用途 备 ...

  5. MacOS使用Docker创建MySQL主主数据库

    主从同步配置可以参考上一篇MacOS使用Docker创建MySQL主从数据库 一.创建MySQL数据库容器配置文件对应目录 我们在当前用户下创建一组目录,用来存放MySQL容器配置文件,(Linux下 ...

  6. mysql数据库主从及主主复制配置演示

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 实验拓 ...

  7. MySql数据库主主同步配置步骤

    测试环境:  192.168.1.192  192.168.1.193    mysql5.2     配置192服务器:  /usr/local/mysql/bin/mysql -uroot -p ...

  8. mysql主主复制(双主复制)配置步骤

    以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章.   MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...

  9. mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备

    binlog-do-db和replicate-do-db表示需要同步的数据库 binlog-ignore-db和replicate-ignore-db表示不需要同步的数据库 云端服务器为master配 ...

随机推荐

  1. pycharm执行报错: unprintable file name [Errno 2] No such file

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿在pycharm执行一个工程文件testListView时,发现其工程文件对应的py文件没有后缀 ...

  2. 本地web项目部署到服务器里连接不上数据库的解决办法

    今天突然想到把自己之前的项目挂到服务器上,但是用到了数据库,于是给服务器装上了MySQL,想着能赶紧把项目挂上去看看效果,然后并不是一帆风顺,在奋斗了四小时后终于解决了问题的所在. (1)首先我找到了 ...

  3. msfvenom命令自动补全工具下载=>msfvenom-zsh-completion

    msfvenom参数和命令很多,各种payload和encoder经常让⼈眼花缭乱,特别是对英语不好的⼈来说有些命令可能很容易忘记. 所以 Green_m 开发了⼀个zsh插件,可以⾃动化的补全msf ...

  4. john破解kali密码

    实验环境:kali 实验工具:john 所用命令: 1.查看/etc目录下的shadow文档,此文档记录了所有用户的用户名及密码hash值 2.使用命令echo 用户名:密码 > shadow, ...

  5. 团队作业6(A)-Alpha阶段项目复审

    Alpha阶段项目复审 复审团队: 莫政 (3118005067). 卢耀恒(3118005065) . 许梓莹(3218005083). 梁小燕(3218005081).高嘉淳(3118005047 ...

  6. MySQL技术内幕InnoDB存储引擎(三)——文件相关

    构成MySQL数据库和InnoDB存储引擎表的文件类型有: 参数文件:MySQL实例运行时需要的参数就是存储在这里. 日志文件:用来记录MySQL实例对某种条件做出响应时写入的文件. socket文件 ...

  7. 上传python代码到pypi

    上传python代码到pypi 去pypi官网注册账号 在项目中添加setup.py # coding = utf-8 from setuptools import setup, find_packa ...

  8. react项目中对dom元素样式修改的另一种方法以及将组件插入到node节点中

    在项目中,以前如果遇到对dom元素的操作都是直接获取dom元素,比如说: 但是如果修改的样式比较多的话,不如直接"切换"dom元素,如下例子: 这样会节省一些性能.因为操作dom的 ...

  9. 精尽Spring MVC源码分析 - WebApplicationContext 容器的初始化

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  10. 最短路径——BFS算法

    最短路径--BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void ...