Linux主从复制练习
时间: 2025-01-03 20:36:23 浏览: 7
### 设置和测试MySQL主从复制
#### 关闭防火墙和服务安全设置
为了确保网络通信无障碍,在两台机器上执行如下操作来关闭防火墙以及SELinux服务:
```bash
# 停止firewall服务
systemctl stop firewalld
# 将SELinux设为宽松模式
setenforce 0
```
上述命令适用于所有参与主从复制的节点,即主服务器(Master)与从服务器(Slave)。这一步骤有助于减少因网络安全策略引起的连接问题[^1]。
#### 编辑主机映射文件
编辑`/etc/hosts`文件以添加各节点之间的IP地址对应关系。此步骤并非绝对必要,但如果进行了配置,则可以在后续配置过程中使用更易读的主机名代替IP地址。对于每台计算机而言,都需要完成这一配置工作。
```bash
vim /etc/hosts
```
向该文件追加以下内容:
```
192.168.126.141 mysql-master
192.168.126.139 mysql-slave
```
这里假设主服务器的IP地址为`192.168.126.141`而从服务器的是`192.168.126.139`。如果实际环境中使用的IP不同,请相应调整这些值。
#### 安装MySQL软件包
在目标路径下解压缩已下载好的MySQL安装包,并将其移动至合适位置以便于管理。接着更改权限使MySQL能够正常运行。
```bash
tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql
chown -R root:root /usr/local/mysql/
mkdir /usr/local/mysql/data
chown mysql:mysql /usr/local/mysql/data
```
注意这里的版本号可能依据实际情况有所变化;同时还需要创建用于保存数据的日志目录并赋予适当权限给MySQL进程使用[^4]。
#### 初始化数据库实例
启动前需先初始化新的MySQL实例,这是首次部署时必需的操作之一。具体方法取决于所采用的具体发行版及其文档指导说明。
#### 配置主从同步参数
接下来分别为主服务器和从服务器编写相应的my.cnf配置项,开启binlog记录功能,并指定唯一的server-id编号。例如,在主服务器上的配置可能是这样的:
```ini
[mysqld]
server-id=1
log-bin=mysql-bin
```
而在从服务器端则应设定不同的ID:
```ini
[mysqld]
server-id=2
relay-log=mysql-relay-bin
read-only=ON
```
以上配置均应在各自的MySQL配置文件中进行修改,通常位于/etc/my.cnl.d/server.cnf或其他相似的位置[^2]。
#### 创建用于复制授权账户
登录到主服务器上的MySQL控制台,通过SQL语句建立专门用来做数据同步工作的账号,并授予其必要的权限。
```sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
```
此处建议替换默认密码为更加复杂的安全字符串。
#### 开始同步流程
最后回到各自的服务端重启MySQL服务使其加载最新的配置变更,随后按照官方手册指示逐步建立起完整的主从架构体系即可开始验证整个系统的可用性和稳定性了。
阅读全文