您的位置:宽带测速网 > 网络知识 > debian mysql主从复制怎么做

debian mysql主从复制怎么做

2025-06-16 18:52来源:互联网 [ ]

Debian上的MySQL主从复制可以通过以下步骤实现:

1. 安装MySQL

首先,确保在主服务器和从服务器上都安装了MySQL。

sudo apt updatesudo apt install mysql-server
2. 配置主服务器

在主服务器上,编辑MySQL配置文件 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf,找到或添加以下配置:

[mysqld]server-id=1log_bin=/var/log/mysql/mysql-bin.logbinlog_format=ROW

然后,重启MySQL服务:

sudo systemctl restart mysql
3. 创建主服务器数据目录和权限

确保主服务器的数据目录存在并且MySQL用户有权限访问:

sudo mkdir -p /var/lib/mysqlsudo chown -R mysql:mysql /var/lib/mysqlsudo chmod -R 700 /var/lib/mysql
4. 初始化主服务器

登录到MySQL并初始化主服务器:

mysql -u root -p

创建一个用于复制的用户:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;

获取主服务器的二进制日志坐标:

SHOW MASTER STATUS;

记下 FilePosition 的值。

5. 配置从服务器

在从服务器上,编辑MySQL配置文件 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf,找到或添加以下配置:

[mysqld]server-id=2relay-log=/var/log/mysql/mysql-relay-bin.loglog_bin=/var/log/mysql/mysql-bin.logbinlog_format=ROW

然后,重启MySQL服务:

sudo systemctl restart mysql
6. 初始化从服务器

登录到MySQL并初始化从服务器:

mysql -u root -p

设置从服务器的 server-id

SET GLOBAL server_id=2;

配置从服务器连接到主服务器:

CHANGE MASTER TOMASTER_HOST='master_ip',MASTER_USER='repl',MASTER_PASSWORD='password',MASTER_LOG_FILE='recorded_file_name',MASTER_LOG_POS=recorded_position;

启动从服务器复制进程:

START SLAVE;
7. 验证复制状态

在从服务器上,检查复制状态:

SHOW SLAVE STATUS\G;

确保 Slave_IO_RunningSlave_SQL_Running 都是 YES,并且 Last_IO_ErrorLast_SQL_Error 是空的。

8. 测试复制

在主服务器上插入一些数据:

INSERT INTO test_table (name) VALUES ('test_data');

然后在从服务器上查询这些数据,确保它们已经同步:

SELECT * FROM test_table;

通过以上步骤,你应该能够在Debian上成功设置MySQL主从复制。