简单实现MySQL主从复制

依赖及环境

Docker1.7    yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

系统    CentOS7

安装

安装docker,这里使用docker是为了方便安装mysql,你们可以选择直接安装mysql

直接通过yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm安装docker

安装完成后我们通过service docker start启动docker


拉取MySQL5.7镜像

docker pull mysql:5.7


这样说明拉成功了

MySQL主从复制

我这里配置的是一主一从

首先需要创建两个文件夹作为挂在数据文件的目录为什么要两个呢?一个是主机的一个是从机的


创建完毕

之后我们需要再创建一个文件夹配置主机和从机的my.cnf文件,我们这里直接创建就好了,你们也可以到docker容器里面去复制到主机


这里的data和配置文件,1的是主机的,2是从机的

然后我们就可以启动我们的docker容器了

启动主机

docker run -dit -p 6661:3306 -v /home/yuhui/mysql/conf/mysql1.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7

启动从机

docker run -dit -p 6662:3306 -v /home/yuhui/mysql/conf/mysql2.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7


这样说明已经启动成功了,我们可以连接测试一下


主机连接成功


从机连接成功

建立帐户并授权slave,当然你们可以直接使用root,但是一般不使用root

GRANT FILE ON *.* TO 'yuhui'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'yuhui'@'%' identified by '123456';

FLUSH PRIVILEGES;

添加成功

看到有自己添加进去的用户时说明添加成功了


查看状态

接下来是从服务器,从服务器相对没那么繁琐

change master to master_host='192.168.237.129',master_port=6661,master_user='yuhui',master_password='123456',master_log_file='master-bin.000001',master_log_pos=865;

注意,上面这段配置都要和主机一致

start slave启动


这两个为YES时说明已经成功了

我们来测试一下


在主机新建一个库


到从机查询

从机上有主机上新建的test库,说明主从复制已经部署成功了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。