MySQL的主从数据库配置文件_开始使用
在现代应用开发中,数据库的高效管理与可靠性至关重要,MySQL主从复制是一种常见的数据库架构,用于提高数据高可用性、负载均衡和数据备份能力,本文将详细介绍如何配置和使用MySQL的主从复制功能。
一、主从复制原理
MySQL主从复制的原理主要包含以下三个步骤:
1、二进制日志记录:主库(Master)将所有数据更改记录到二进制日志(Binary Log)中,这些日志称为二进制日志事件。
2、日志复制:从库(Slave)通过IO线程将主库上的二进制日志复制到自己的中继日志(Relay Log)。
3、SQL执行:从库通过SQL线程读取中继日志中的事件,并重放到自身的数据库中。
下图展示了MySQL主从复制的基本架构:
++ ++ | 主库 (Master) | | 从库 (Slave) | | | | | | Binary Log |<>| Relay Log | ++ ++
二、环境准备
假设我们已经有两台服务器,分别作为主库和从库:
主库(Master)
IP: 192.168.197.135
从库(Slave)
IP: 192.168.197.136
三、主库配置
1. 修改主库my.cnf文件
在主库上编辑/etc/my.cnf
文件,添加以下内容:
[mysqld] 服务的唯一编号 serverid = 1 开启binlog功能 logbin = mysqlbin binlog记录内容的方式,记录被操作的每一行 binlog_format = ROW 减少记录日志的内容,只记录受影响的列 binlog_row_image = minimal 指定需要复制的数据库名为jgyw binlogdodb = jgyw
保存后重启MySQL服务:
service mysqld restart
2. 创建同步用户
登录MySQL终端,执行以下命令:
CREATE USER 'jgyw'@'192.168.197.136' IDENTIFIED BY 'jgyw@123'; GRANT REPLICATION SLAVE ON *.* TO 'jgyw'@'192.168.197.136'; FLUSH PRIVILEGES;
3. 查看主库状态
SHOW MASTER STATUSG;
记下输出中的File和Position值,后续从库配置时需要用到。
四、从库配置
1. 修改从库my.cnf文件
在从库上编辑/etc/my.cnf
文件,添加以下内容:
[mysqld] 服务的唯一编号 serverid = 2 开启binlog功能 logbin = mysqlbin binlog记录内容的方式,记录被操作的每一行 binlog_format = ROW 减少记录日志的内容,只记录受影响的列 binlog_row_image = minimal 指定需要复制的数据库名为jgyw replicatedodb = jgyw
保存后重启MySQL服务:
service mysqld restart
2. 配置从库同步信息
登录从库MySQL终端,执行以下命令:
CHANGE MASTER TO MASTER_HOST='192.168.197.135', MASTER_USER='jgyw', MASTER_PASSWORD='jgyw@123', MASTER_LOG_FILE='mysqlbin.000002', # 从主库show master status获取的文件名 MASTER_LOG_POS=2380; # 从主库show master status获取的位置
3. 启动从库同步
START SLAVE;
4. 查看从库状态
SHOW SLAVE STATUSG;
确保Slave_IO_Running
和Slave_SQL_Running
都为Yes,表示从库配置成功。
五、测试主从复制
1. 在主库创建数据库和表并插入数据
CREATE DATABASE jgyw; USE jgyw; CREATE TABLE comm_config (configId varchar(200) NOT NULL, configValue varchar(1024) DEFAULT NULL, description varchar(2000) DEFAULT NULL, PRIMARY KEY (configId)) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO comm_config(configId, configValue, description) VALUES('name', '架构与我', '测试一下');
2. 在从库查看同步结果
SHOW DATABASES; USE jgyw; SHOW TABLES; SELECT * FROM comm_config;
如果从库中能看到与主库一致的数据,说明主从复制配置成功。
六、FAQs
1. 如何更改从库的同步源?
要更改从库的同步源,可以执行以下命令:
STOP SLAVE; CHANGE MASTER TO MASTER_HOST='新的主库IP', MASTER_USER='同步用户', MASTER_PASSWORD='同步密码', MASTER_LOG_FILE='新的日志文件', MASTER_LOG_POS=新的位置; START SLAVE;
2. 如果从库同步中断怎么办?
首先检查从库的错误日志,找出导致中断的原因,如果是因为网络问题或临时故障,可以手动启动同步:
START SLAVE;
如果是因为主库的二进制日志已经过期或者被删除,需要重新设置同步源并从新的二进制日志开始同步。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1239165.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复