博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS双机中Docker下安装Mysql并配置互为主从模式
阅读量:6629 次
发布时间:2019-06-25

本文共 2303 字,大约阅读时间需要 7 分钟。

CentOS双机中Docker下安装Mysql并配置互为主从模式

 

目录

1、搜索镜像... 1

2、拉取镜像... 1

3、绑定端口: 1

4、配置文件(修改/etc/mysql/my.cnf文件)... 2

5、重启mysql... 2

6、进入mysql 2

7、创建同步用户... 2

8、在mysql中查看主服务状态:... 2

9、链接master... 3

10、启动从服务:... 3

11、查看slave状态... 3

12B服务器如上配置... 3

附录:... 3

解决方案1... 4

解决方案2... 4

解决方案3... 4

双服务器(已安装docker)如下:

A服务器:192.168.0.90

B服务器:192.168.0.230

先进入A服务器

1、搜索镜像

#docker search mysql

2、拉取镜像

#docker pull mysql:5.7

3、绑定端口:

#docker run --name test-mysql -v /data/mysql-db:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test@2018 -d --restart=always mysql:5.7  --lower_case_table_names=1

说明:

test-mysql:镜像名称

/data/mysql-db mysql数据文件地址

/var/lib/mysql mysql原数据地址

-p 3306:3306docker镜像端口3306映射到宿主端口3306

test@2018mysql密码

-d --restart=always mysql:5.7:配置为宿主重启自启动mysql

     --lower_case_table_names=1 :忽略表名大小写

4、配置文件(修改/etc/mysql/my.cnf文件)

#echo  -e '[mysqld]\nlog-bin=mysql-bin\nserver-id=90' > /etc/mysql/my.cnf

mysql-bin:日志二进制文件

server-id:服务器唯一ID

      skip-name-resolve:跳过域名解析【可选】

      lower_case_table_names=1//忽略表名大小写

 

      sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"//忽略1055信息
      default-time_zone = '+8:00'

5、重启mysql

#service mysql restart

6、进入mysql

       #mysql -u root -p

       输入mysql密码:test@2018

7、创建同步用户

       a、创建备份账号及密码

mysql>grant all privileges on *.* to `test_replic`@`%` identified by 'test@2018';

 

b、提交

              mysql>flush privileges;//

 

c、查看账号信息:

mysql>select host,user,authentication_string from user;

 

8、在mysql中查看主服务状态:

show master status;

日志文件:例:mysql-bin.000001

Position:例:596

9、链接master

mysql>change master to master_host='192.168.0.230',master_user='test_replic',master_password='test@2018',master_log_file='mysql-bin.000001',master_log_pos=1011;

mysql-bin.000001B服务器日志文件【查看show master status;

1011B服务器日志文件位置【查看show master status;

test_replicB服务器中第7创建的用户

test@2018B服务器中第7创建的密码

10、启动从服务:

mysql>start slave

11、查看slave状态

mysql>show slave status\G;

Slave_IO_RunningSlave_SQL_Running都为YES的时候就表示主从同步设置成功

12B服务器如上配置

附录:

解决方案1

1、停止slave

mysql> stop slave;

2、跳过错误点

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

3、启动slave

mysql> start slave;

解决方案2

1、停止slave

mysql> stop slave;

2、改position位置

mysql> change master to master_log_file='mysql-bin.000288',master_log_pos=627625751;

3、启动slave

mysql> start slave;

解决方案3

删除mysql binlog

mysql>purge master logs before'2016-09-01 17:20:00';

转载地址:http://ptwvo.baihongyu.com/

你可能感兴趣的文章
JS 得细心的坑位
查看>>
hdu1874 畅通project续(求最短路径)
查看>>
ArcGIS教程:Geostatistical Analyst 应用演示样例
查看>>
winform网络编程之TcpClient类,TcpListener类和UdpClient类
查看>>
CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)
查看>>
AspNetCore-MVC实战系列(三)之个人中心
查看>>
JSON简述
查看>>
Missing 'name' key attribute on element activity at AndroidMan
查看>>
跨平台的WebRTC客户端框架:OpenWebRTC
查看>>
java大数字操作:BigInteger,BigDecimal(浮点型)
查看>>
WebGIS开发技术杂谈
查看>>
cvs的规范以及介绍(转)
查看>>
Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护...
查看>>
C++运算符优先级
查看>>
Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D【转】
查看>>
iOS中 支付宝钱包具体解释/第三方支付 韩俊强的博客
查看>>
solidity代码
查看>>
【转】C++可变参数列表处理宏va_list、va_start、va_end的使用
查看>>
跨站脚本攻击XSS
查看>>
linux ls 命令
查看>>