MySQL主从搭建
1.为什么要建立主从搭建
在说明为什么要建立主从关系前,先解释下什么是MySQL的主从。它是一种常见的数据库架构其中一个数据库服务器(主服务器)将其更新或更改复制到一个或多个其他数据库服务器(从服务器)。
它的好处有:
1.负载分摊:当我们进行读的操作时,可以从多个服务器上读取,减轻主服务器的负载,其中从服务器只负责读的操作。
2.高可用性:当我们的主服务器出现故障的时候,可以使用从服务器,不至于当我们的主服务器宕机的时候,我们的系统就停用了。
3.数据备份:当我们的主服务器出现问题的时候,数据丢失,可以在从服务器进行恢复、备份。
原理图:master为主服务器,slave为从服务器。
2.主从搭建的步骤
2.1创建储存的文件夹
[root@localhost local]# mkdir -p software/mysql/3306 software/mysql/3310 software/mysql/3311 [root@localhost local]# mkdir -p mkdir -p 3306/conf 3306/data [root@localhost local]# mkdir -p mkdir -p 3310/conf 3310/data [root@localhost local]# mkdir -p mkdir -p 3311/conf 3311/data
这里我们在mysql文件夹下又创建了三个文件夹对应不同的端口号,并每个文件夹下都创建了conf、data两个文件夹。大家可以tree看下目录结构,如果没有tree这个操作可以通过 yum -y install tree 这个命令进行下载。
2.2将my.cnf文档拷贝到conf文件夹下
这里我们是还没有创建mysql容器的,所以我们先创建一个简单的测试的容器来生成my.cnf文档。
docker run -it --name mytest -e MYSQL_ROOT_PASSWORD=123 -d mysql #生成容器
生成容器好以后,我们进入到容器。
[root@localhost mysql]# docker exec -it mysql_3306 bash root@aa39b507c2fe:/# cd /etc/mysql root@aa39b507c2fe:/etc/mysql# ls
这里可以看到我们的这个测试的mysql的容器是有一个my.cnf的文档了。我们下一步就是把这个文档复制到我们的3306底下的conf文件下里面。
第一步:我们先推出容器内部,exit。
第二步:cd到我们要的目录底下。