我这里是去网易蜂巢取得镜像:https://c.163yun.com/hub#/m/home/

命令:docker pull hub.c.163.com/library/mysql:latest

拉取完之后查询镜像

命令:docker images

3.配置主从复制

(1)创建配置文件

目录:/usr/local/mysql/   注意:目录你个人设定,这不过是我自己的爱好

主数据库(master)配置文件/usr/local/mysql/master/my.cnf:

[mysqld]

log-bin=mysql-bin

server-id=1     #注意这个id>0且要唯一

从数据库(slave)配置文件/usr/local/mysql/slave/my.cnf:

[mysqld]

log-bin=mysql-bin

server-id=2     #注意这个id>0且要唯一

注意:我是在容器外部进行的配置,喜欢进入容器内部配置的请稍等。

(2)开启主从数据库

开启主数据库:

开启从数据库:

查看容器状态:

在这里,容器就正常打开了。

喜欢进入容器内部修改配置文件的注意了:

进入主数据库命令:docker exec -it mysql /bin/bash

修改my.cnf配置文件命令:vi /etc/mysql/my.cnf

oh my 上帝!里面的vi、vim命令都不能用!!!

上天难不倒有心之人,我装一个vim(实话说,vi是怎么装怎么失败,vim偶尔成功,但老子用的是集群啊,对,每一个容器都得装一遍vim,so,我启用外部的配置文件)

命令:apt-get update

命令:apt-get install vim

(这一次神奇的装成功了)

照着上边修改配置文件修改下my.cnf就可以了。

命令:vim /etc/mysql/my.cnf

配置成功的同学,保存,重启容器,照此再配置从服务器。

(3)重中之重的主从配置环节

---------------------------------------------------------------------------------------------------------------------------------master数据库配置-----------------------------------------------------------------------------------------------------------------------

master数据库创建授权用户:

grant all privileges on *.* to 'username'@'ip' identified by 'password' with grant option;

flush privileges;

%是统配字符,表示所有ip都可以连接,这个ip主要是从数据库的ip

喜欢进入容器内部进行黑窗操作的同学请不要介意,我是喜欢这样用客户端哈哈。

查询用户,host:select user,host from mysql.user;

查看master状态:show master status;

主数据库的配置环节到此就完成了。

---------------------------------------------------------------------------------------------------------------------------------slave数据库配置-----------------------------------------------------------------------------------------------------------------------

停止slave:stop slave;

配置连接master数据库:

change master to master_host=’ip’, master_user=’username’, master_password=’password’, master_log_file=’log_file_name’;

开启slave:start slave;

查询slave状态:show slave status;

当你的Slave_IO_State也是这样就完成了。

但是可惜的是,如果你不知道这个细节,你永远是完不成的。

注意:上面填写的ip,一定一定是docker容器的ip,而不是虚拟机的ip。

docker inspect -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq) 获取所有容器ip

来查看下,docker容器的ip:

Mysql:主从集群配置的更多相关文章

  1. mysql主从集群配置

    1.二进制日志 主: #master vim /etc/mysql/my.cnf #server-id server-id=2 #二进制日志 log-bin=musql-bin#statement r ...

  2. CentOS7 配置 Redis Sentinel主从集群配置

    Redis Sentinel主从集群 环境.准备 slave配置 sentinel配置 测试 C#连接Redis Sentinel 1.环境.准备 单实例3台CentOS7服务器,IP地址.: 192 ...

  3. Docker搭建MySQL主从集群,基于GTID

    写在前边 搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式 源码见我的Github https://github.com/hellxz/mysql-cluster-do ...

  4. 搭建mysql主从集群的步骤

    前提条件是:须要在linux上安装4个mysql数据库,都须要配置完对应的信息. 须要搭建: mysql 01: 主数据库  master                  mysql 02 :   ...

  5. Solr主从集群配置简要说明

    关于solr的集群主要分为主从和SolrCloud两种.主从,比较适合以读为主的场景.SolrCloud适合数据量大,时不时会有更新的情形.那么solr的主从配置很简单.在solrconfig.xml ...

  6. 基于zookeeper的activemq的主从集群配置

    项目,要用到消息队列,这里采用activemq,相对使用简单点.这里重点是环境部署. 0. 服务器环境 RedHat710.90.7.210.90.7.1010.90.2.102 1. 下载安装zoo ...

  7. mysql主从集群搭建;(集群复制数据)

    1.搭建mysql 5.7环境chown mysql:mysql -R /data/groupadd mysqluseradd -g mysql mysql yum install numactlrp ...

  8. mysql主从集群定时备份脚本

    #!/bin/bash   dpath="/mysql_backup" mydays="7" username="root" mysql_p ...

  9. MariaDB集群配置(主从和多主)

    1.mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从 ...

随机推荐

  1. perl: warning: Falling back to the standard locale ("C").

    /********************************************************************************** * perl: warning: ...

  2. javascript设计模式和构造函数返回值

    工厂模式 function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = age; o.job = ...

  3. hdu 3998 Sequence

    There is a sequence X (i.e. x[1], x[2], ..., x[n]). We define increasing subsequence of X as x[i1], ...

  4. bzoj 4540: [Hnoi2016]序列 莫队

    题目: 给定长度为n的序列:a1,a2,-,an,记为a[1:n].类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,-,ar- 1,ar.若1≤l≤s≤t≤r≤n,则称a[s:t]是a ...

  5. Ubuntu 14.04开发环境

    安装ssh服务:sudo apt-get install openssh-server 安装vim:sudo apt-get install vim-gtk 安装gparted:sudo apt-ge ...

  6. Java的native关键字

    一. 什么是Native Method   简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非j ...

  7. SQL中replace函数

    string sql1 = "select price from dbo.eazy_farm where REPLACE(title,' ','')='" + cainame + ...

  8. Erlang generic standard behaviours -- summary

    gen_server 相关的片段分析得也差不多了, 这篇作为一个简要的总结.这一系列相关的分析暂且告一段落(之后如有必要,还会回来的 ^^ ),下一个系列主要是以pool 相关, 包括但不仅限于开源项 ...

  9. linux下dns设置详解

    DNS就是Domain Name System,它能够把形如www.21php.com这样的域名转换为211.152.50.35这样的IP地址;没有DNS,浏览21php.com这个网站时,就必须用2 ...

  10. EventLoop 与 Channel 的关联

    Netty 中, 每个 Channel 都有且仅有一个 EventLoop 与之关联, 它们的关联过程如下: 从上图中我们可以看到, 当调用了 AbstractChannel#AbstractUnsa ...