主机 环境 :mac os x 10.11
docker : DockerToolbox-1.12.1.pkg
==============================================
mysql 的 image 是 library\mysql:latest 从 daocloud下载的
启动两个容器
mysql-master : 3306
msyql-slave : 3307
在容器里没有vim很难受:
apt-get update
apt-get install vim
1、配置Master主服务器
(1)在Master MySQL上创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。
1 mysql>create user repl; //创建新用户
2 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'mysql'; // 设置密码与权限
(2)找到MySQL安装文件夹修改/etc/mysql/my.cnf文件。 启动二进制日志log-bin。
注:/etc/mysql/my.cnf里默认配置是空的!
===/etc/mysql/my.cnf=================begin =====================
[mysqld]
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
log-bin=master-bin
log-bin-index=master-bin.index
===/etc/mysql/my.cnf================= end ========================
(3)查看日志
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
slave需要用的信息:
日志文件名称:master-bin.000001
日志的记录点位置:1285
重启 master 的docker 容器实例
2、配置Slave从服务器
(1)找到MySQL安装文件夹修改/etc/mysql/my.cnf文件。 启动二进制日志log-bin。
注:/etc/mysql/my.cnf里默认配置是空的!
===/etc/mysql/my.cnf=================begin =====================
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
===/etc/mysql/my.cnf================= end ========================
重启 master 的docker 容器实例
(2)连接Master(如果之前已经change master 过, 需要 stop slave)
=========在slave 上执行============================
mysql > change master to master_host='192.168.99.100',
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001’,
master_log_pos=1285;
=====================================
master 的 地址、端口、登录账号、开始同步的日志信息;
(3)启动Slave
start slave;