MySQL并库实现流程
1. 创建主库和从库
首先需要创建一个主库和一个或多个从库。主库用于写入数据,从库用于读取数据。
2. 配置主库
在主库上进行以下配置:
-
修改主配置文件
my.cnf
,添加以下配置项:server-id = 1 # 设置主库的唯一标识ID log_bin = /var/log/mysql/mysql-bin.log # 启用二进制日志,用于主从同步 binlog-do-db = database_name # 需要同步的数据库名称
-
重启主库使配置生效。
3. 创建从库账号
在主库上创建一个用于同步的从库账号,并授权访问权限。
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
4. 配置从库
在从库上进行以下配置:
-
修改从配置文件
my.cnf
,添加以下配置项:server-id = 2 # 设置从库的唯一标识ID(与主库不同) relay-log = /var/log/mysql/mysql-relay-bin.log # 中继日志文件,用于将主库的二进制日志转发给从库 log_bin = /var/log/mysql/mysql-bin.log # 启用二进制日志,用于从库作为其他从库的主库时使用
-
重启从库使配置生效。
5. 备份主库数据
在主库上进行数据备份,用于初始化从库。
6. 导入备份数据到从库
在从库上导入主库的备份数据。
mysql -u root -p < backup.sql
7. 配置从库的主库信息
在从库上配置连接主库的信息。
CHANGE MASTER TO
MASTER_HOST='master_ip', # 主库的IP地址
MASTER_PORT=3306, # 主库的端口号
MASTER_USER='replication_user', # 同步账号
MASTER_PASSWORD='password'; # 同步账号密码
8. 启动从库同步
在从库上启动同步。
START SLAVE;
9. 检查同步状态
可以通过以下命令来检查从库和主库的同步状态。
SHOW SLAVE STATUS\G
如果状态中的 Slave_IO_Running
和 Slave_SQL_Running
都为 Yes
,则表示同步成功。
10. 测试主从同步
在主库上进行数据写入操作,然后在从库上进行读取操作,检查数据是否同步。
代码示例
创建从库账号
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
配置从库的主库信息
CHANGE MASTER TO
MASTER_HOST='master_ip', # 主库的IP地址
MASTER_PORT=3306, # 主库的端口号
MASTER_USER='replication_user', # 同步账号
MASTER_PASSWORD='password'; # 同步账号密码
启动从库同步
START SLAVE;
检查同步状态
SHOW SLAVE STATUS\G
以上是实现MySQL并库的流程和相关代码示例,通过按照以上步骤进行配置,即可实现主库和从库之间的数据同步。