在MySQL中,主从复制是一种常用的数据备份和负载均衡技术,通过设置一个主服务器(Master)和一个或多个从服务器(Slave),可以实现数据的实时同步,手动复制数据库是主从复制的一种方式,通常在无法使用自动同步的情况下使用,小编将详细介绍如何开始使用MySQL主从手动复制数据库。

准备工作
1、确保主从服务器都已安装MySQL,并且主服务器上有待复制的数据库。
2、在主服务器上创建用于复制的用户并授权。
3、记录主服务器的IP地址、端口、用户名和密码。
4、在从服务器上安装MySQL,并确保与主服务器的版本兼容。

5、记录从服务器的IP地址、端口。
主服务器配置
1、修改主服务器的配置文件my.cnf
(通常位于/etc/mysql/
或/etc/mysql/mysql.conf.d/
目录下)。
2、在[mysqld]
部分添加以下内容:
“`

serverid=1
logbin=mysqlbin
binlogformat=MIXED
“`
3、重启MySQL服务以应用更改。
从服务器配置
1、修改从服务器的配置文件my.cnf
。
2、在[mysqld]
部分添加以下内容:
“`
serverid=2
relaylog=relaybin
“`
3、重启MySQL服务以应用更改。
获取主服务器信息
在主服务器上执行以下命令,获取二进制日志文件名和位置:
SHOW MASTER STATUS;
记下File
和Position
的值,稍后将在从服务器上使用。
配置从服务器连接主服务器
1、在从服务器上创建一个用于复制的用户,并授权。
2、执行以下命令,连接到主服务器:
“`sql
CHANGE MASTER TO
MASTER_HOST=’主服务器IP’,
MASTER_USER=’复制用户’,
MASTER_PASSWORD=’密码’,
MASTER_LOG_FILE=’File值’,
MASTER_LOG_POS=Position值;
“`
3、开启从服务器的复制进程:
“`sql
START SLAVE;
“`
验证复制状态
在从服务器上执行以下命令,检查复制状态:
SHOW SLAVE STATUSG;
如果Slave_IO_Running
和Slave_SQL_Running
的值都是Yes
,则表示复制正在正常运行。
单元表格示例
操作步骤 | 主服务器操作 | 从服务器操作 |
准备 | 创建复制用户 | 安装MySQL |
配置 | 修改my.cnf | 修改my.cnf |
获取信息 | 查看MASTER STATUS | |
连接 | CHANGE MASTER TO | |
启动复制 | START SLAVE | |
验证 | SHOW SLAVE STATUS |
相关问题与解答
Q1: 如果从服务器已经落后很多,如何快速赶上主服务器的数据?
A1: 如果从服务器落后很多,可以考虑执行SLAVE STOP
停止复制进程,然后使用mysqldump
工具从主服务器导出数据,并在从服务器上导入,完成后,再使用CHANGE MASTER TO
命令重新设置主从关系,并执行START SLAVE
继续复制。
Q2: 如何在不停机的情况下重新搭建主从复制?
A2: 可以在从服务器上先暂停复制进程(使用SLAVE STOP
),然后按照上述步骤重新配置主从复制,配置完成后,使用START SLAVE
恢复复制进程,这样可以避免停机,同时保证数据的一致性。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复