MySQL从库log-bin开启流程
本文将介绍如何在MySQL中将从库的log-bin功能开启,以实现主从复制。
流程图
flowchart TD
A[准备从库] --> B[停止MySQL服务]
B --> C[编辑my.cnf配置文件]
C --> D[添加配置参数]
D --> E[保存配置文件并退出]
E --> F[启动MySQL服务]
F --> G[连接主库]
G --> H[获取主库二进制日志文件名和位置]
H --> I[配置从库复制]
I --> J[启动从库复制]
详细步骤
- 准备从库
在开始配置从库之前,首先需要确保从库已经安装了MySQL,并且能够正常连接到主库。
- 停止MySQL服务
在开始修改配置文件之前,需要先停止MySQL服务。
sudo systemctl stop mysql
- 编辑my.cnf配置文件
使用编辑器打开MySQL的配置文件,一般位于/etc/mysql/my.cnf
或/etc/my.cnf
。
sudo vi /etc/mysql/my.cnf
- 添加配置参数
在配置文件中添加以下参数,启用从库的log-bin功能。
[mysqld]
log-bin=mysql-bin
binlog-format=row
log-bin
:指定二进制日志文件的前缀名称,MySQL会自动加上日期和序列号作为后缀。binlog-format
:指定二进制日志的格式,推荐使用row
格式,因为它能够提供最准确的数据复制。
- 保存配置文件并退出
保存修改后的配置文件并退出编辑器。
- 启动MySQL服务
重新启动MySQL服务,使配置生效。
sudo systemctl start mysql
- 连接主库
使用MySQL客户端连接到主库,获取主库的二进制日志文件名和位置。
mysql -u <主库用户名> -p -h <主库地址>
- 获取主库二进制日志文件名和位置
在连接到主库的MySQL客户端中执行以下命令,获取主库的二进制日志文件名和位置。
show master status;
记录下返回结果中的File
和Position
值,后续将用于配置从库复制。
- 配置从库复制
在从库上使用MySQL客户端连接到从库,配置从库复制。
mysql -u <从库用户名> -p -h <从库地址>
在连接到从库的MySQL客户端中执行以下命令,配置从库复制。
CHANGE MASTER TO MASTER_HOST='<主库地址>',
MASTER_USER='<主库用户名>',
MASTER_PASSWORD='<主库密码>',
MASTER_LOG_FILE='<主库二进制日志文件名>',
MASTER_LOG_POS=<主库二进制日志位置>;
<主库地址>
:替换为主库的地址。<主库用户名>
:替换为主库的用户名。<主库密码>
:替换为主库的密码。<主库二进制日志文件名>
:替换为主库的二进制日志文件名。<主库二进制日志位置>
:替换为主库的二进制日志位置。
- 启动从库复制
启动从库复制。
START SLAVE;
至此,MySQL从库的log-bin功能已成功开启。从库将会从主库复制数据并生成自己的二进制日志文件。
关系图
erDiagram
MASTER --|< SLAVE : 复制
- MASTER:主库
- SLAVE:从库
以上是开启MySQL从库log-bin的详细步骤和流程,希望能帮助你顺利实现主从复制。