实话说,我想做的是Mysql集群架构。
我的计划是:
1.实现Docker下的Mysql主从复制 2.实现MyCat基于Mysql的读写分离 3.实现MyCat的分库分表 4.实现pxc集群 5.综合MyCat和pxc实现高可用、高并发的数据库集群架构当然,现在的我还是一个小菜鸟,尤其是第一次上手docker上配置Mysql的主从复制,
自己一路跳坑,终于走出了黑暗。
这里,我就带领大家进入我的坑计划。
开始搬砖: 1.安装docker (1)登录linux (2)下载docker 命令:yum install docker
就这么简单
2.安装mysql镜像 (1)开启docker命令:service docker start
(2)拉取Mysql,注意Mysql5以后的版本才支持主从复制我这里是去网易蜂巢取得镜像:
命令: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 user;