linux mysql主从同步配置
时间: 2023-10-30 08:07:18 浏览: 82
在 Linux 上配置 MySQL 主从同步需要进行以下步骤:
1. 安装 MySQL:使用适合您的 Linux 发行版的包管理工具安装 MySQL。
2. 配置主服务器(Master):
- 编辑主服务器的配置文件 my.cnf,通常位于 /etc/mysql/my.cnf。
- 找到并修改以下参数:
```
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
```
这些参数将启用二进制日志和为特定数据库启用二进制日志复制。将 `your_database_name` 替换为您要复制的数据库名称。
- 重启 MySQL 服务器以使更改生效。
3. 配置从服务器(Slave):
- 编辑从服务器的配置文件 my.cnf,通常位于 /etc/mysql/my.cnf。
- 找到并修改以下参数:
```
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
read_only = 1
```
这些参数将设置从服务器的身份、设置中继日志和启用只读模式。
- 重启 MySQL 服务器以使更改生效。
4. 在主服务器上创建用于复制的用户:
- 登录到主服务器的 MySQL 控制台:`mysql -u root -p`
- 创建用于复制的用户并授予复制权限:
```
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
```
将 `replication_user` 替换为您选择的用户名,并为其设置密码。
5. 备份主服务器数据:
- 使用 `mysqldump` 命令备份主服务器的数据:
```
mysqldump -u root -p --opt your_database_name > database_backup.sql
```
将 `your_database_name` 替换为您要备份的数据库名称。
6. 在从服务器上设置复制:
- 登录到从服务器的 MySQL 控制台:`mysql -u root -p`
- 运行以下命令来设置复制:
```
CHANGE MASTER TO
MASTER_HOST = 'master_server_ip',
MASTER_USER = 'replication_user',
MASTER_PASSWORD = 'password',
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 0;
```
将 `master_server_ip` 替换为主服务器的 IP 地址,`replication_user` 和 `password` 替换为之前创建的复制用户的用户名和密码。
- 启动复制:`START SLAVE;`
现在,主从同步应该已经配置完成。您可以使用 `SHOW SLAVE STATUS\G;` 命令来检查从服务器的状态,确保复制正常运行。