MySQL的主从搭建

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到我们要的目录底下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL主从复制是一种常用的数据库复制技术,用于实现数据的备份、读写分离和负载均衡。下面是一种简单的MySQL主从搭建步骤: 1. 确保主服务器和从服务器上都安装了MySQL数据库,并且版本一致。 2. 在主服务器上编辑MySQL配置文件(my.cnf),启用二进制日志功能。在配置文件中添加以下内容: ``` [mysqld] log-bin=mysql-bin server-id=1 ``` `log-bin`参数指定二进制日志文件的名称,`server-id`参数指定主服务器的唯一ID。 3. 重启主服务器使配置生效。 4. 在主服务器上创建一个用于复制的用户,并授予适当的权限。例如,可以使用以下命令创建用户并授予权限: ``` CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip'; FLUSH PRIVILEGES; ``` `slave_ip`是从服务器的IP地址,`password`是用户的密码。 5. 在主服务器上执行以下命令,获取当前二进制日志文件和位置的信息: ``` SHOW MASTER STATUS; ``` 记下输出结果中的文件名和位置信息,稍后在从服务器上配置时会使用。 6. 在从服务器上编辑MySQL配置文件(my.cnf),启用复制功能。在配置文件中添加以下内容: ``` [mysqld] server-id=2 ``` `server-id`参数指定从服务器的唯一ID,与主服务器不同即可。 7. 重启从服务器使配置生效。 8. 在从服务器上执行以下命令,配置从服务器连接到主服务器并开始复制: ``` CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos; ``` `master_ip`是主服务器的IP地址,`replication_user`和`password`是之前创建的复制用户的用户名和密码,`master_log_file`和`master_log_pos`是之前在主服务器上获取的二进制日志文件和位置信息。 9. 启动从服务器上的复制进程: ``` START SLAVE; ``` 10. 在从服务器上执行以下命令,检查复制状态: ``` SHOW SLAVE STATUS\G ``` 如果输出结果中的`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,表示主从复制已成功搭建。 这只是一个简单的MySQL主从搭建步骤,实际环境中可能还需要考虑更多因素,如网络配置、防火墙设置等。具体操作还需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值