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  映射到宿主端口3306

test@2018mysql密码

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

、配置文件(修改/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';

CentOS双机中Docker下安装Mysql并配置互为主从模式的更多相关文章

  1. CentOS 7 中 Docker 的安装

    CentOS 7 中 Docker 的安装 Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: [root@loc ...

  2. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

  3. CentOS7下安装MySQL并配置远程连接

    一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...

  4. Linux(CentOS 7)环境下安装MySQL

    在CentOS中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 ...

  5. CentOS下安装mysql及配置使用

    最近一直使用的是CentOS,平时用的最多的数据库是Sql Server,对于mysql还停留在上学的时候,早已忘得一干二净,写这篇内容目的是,重新学习如何安装使用mysql. 一.安装mysql 操 ...

  6. CentOS 7 中 Docker 的安装和卸载

    安装Dokcer Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: [root@localhost ~]# yu ...

  7. docker下安装mysql数据库

    因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...

  8. 2016-1-8 windows 7下安装mysql及其配置和运用

    绪言 最近学习了一下mysql的相关用法,以及vs2010结合mysql的使用. 遇到的问题:1.安装mysql 5.6 绿色免安装版本,出现mysql server not connect loca ...

  9. linux 下安装 mysql 并配置 python 开发环境

    1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql ...

随机推荐

  1. [Day4]Switch语句、数组、二维数组

    1.选择结构switch (1)格式 switch (表达式){ case 目标值1: 执行语句1; break; case 目标值2: 执行语句2; break; ...... case 目标值n: ...

  2. [daily] SNAT和DNAT

    SNAT,DNAT,MASQUERADE都是NAT MASQUERADE是SNAT的一个特例 SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包 ...

  3. SQL instr()函数的格式

    格式一:instr( string1, string2 )    /   instr(源字符串, 目标字符串) 格式二:instr( string1, string2 [, start_positio ...

  4. 如何在安装node\npm\cnpm

    1.安装node.js node.js的官方地址为:https://nodejs.org/en/download/. 根据windows版本后,选择要下载的安装包,下载完毕,按照windows一般应用 ...

  5. 重读《深入理解Java虚拟机》四、虚拟机如何加载Class文件

    1.Java语言的特性 Java代码经过编译器编译成Class文件(字节码)后,就需要虚拟机将其加载到内存里面执行字节码所定义的代码实现程序开发设定的功能. Java语言中类型的加载.连接(验证.准备 ...

  6. Linux I/O 调度器

    每个块设备或者块设备的分区,都对应有自身的请求队列,  而每个请求队列都可以选择一个I/O调度器来协调所递交的.I/O调度器的基本目的是将请求按照它们对应在块设备上的扇区号进行排列,以减少磁头的移动, ...

  7. centos安装Django之一:安装openssl

    这几天在部署Django,需要安装的东西有点多,python3.pip3.openssl(pip依赖ssl环境),所以第一步是安装openssl,如何安装呢?主要有三步,随ytkah一起来看看吧 1. ...

  8. HTN规划 jshop2

    http://www.cs.umd.edu/projects/shop/description.html 在HTN规划,规划体系从世界的初始状态和创建一个计划来执行一系列任务的目的(需要做的事情,抽象 ...

  9. 这可能是由于 CredSSP 加密 Oracle 修正。

    1.Win+R 输入regedit打开注册表 找到对应的以下目录 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Polici ...

  10. 【剑指offer】两个链表的第一个公共结点

    一.题目: 输入两个链表,找出它们的第一个公共结点. 二.思路: 思路一:模拟数组,进行两次遍历,时间复杂度O(n2) 思路二:假定 List1长度: a+n  List2 长度:b+n, 且 a&l ...