MySQL主从复制配置指南

需积分: 33 115 下载量 170 浏览量 更新于2024-08-08 收藏 4.78MB PDF 举报
"《配置主从复制-软件调试》PDF,张银奎先生力作,讲解MySQL数据库的主从复制配置方法,适用于未上线的主机。" 在MySQL数据库管理中,主从复制是一项重要的高可用性和数据冗余策略。通过主从复制,可以将主数据库(Master)上的数据变更实时同步到从数据库(Slave),从而实现数据的安全备份和负载均衡。张银奎先生在书中详细阐述了如何配置这一过程。 配置主从复制的步骤如下: 1. **部署MySQL**:首先,在主从服务器上安装并配置MySQL。在主库上,启用二进制日志功能,这使得数据变更能够被记录下来以便同步。配置文件中的`[mysqld]`段应包含`log-bin=mysql-bin`,表示开启二进制日志,并设置`server-id`为一个唯一的值,如IP的后8位加端口。 2. **获取主库状态信息**:使用`SHOW MASTER STATUS;`命令查看主库的当前二进制日志文件(File)和位置(Position)。这些信息将在后续配置中作为从库同步的起点。 3. **创建复制账号**:在主库上创建一个用于复制的用户,赋予`REPLICATION SLAVE`和`REPLICATION CLIENT`权限。例如: ``` GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replic_user'@'%' IDENTIFIED BY 'xxxxxxxxxxx'; ``` 其中,`replic_user`是用户名,`xxxxxxxxxxx`是密码。`%`表示该用户可以从任何主机连接到主库。 4. **从库配置**:在从库上编辑`my.cnf`配置文件,添加必要的复制选项。比如: ``` log_bin=mysql-bin server_id=2 relay_log=/path_to_mysql_log/mysql-relay-bin log_slave_updates=1 read_only=1 ``` - `log_bin`:设置二进制日志文件名,建议与主库相同。 - `server_id`:设置为不同于主库的唯一ID。 - `relay_log`:指定中继日志文件的位置。 - `log_slave_updates=1`:启用此选项,从库会记录来自主库的更新,方便将来提升为新主库或数据恢复。 - `read_only=1`:设置从库为只读,防止非授权用户修改数据。 5. **启动复制**:在从库上使用`CHANGE MASTER TO`命令,提供主库的日志文件名和位置,以及主库的主机名和端口,然后启动复制。 书中还提到了`log_slave_updates`的利弊。开启此选项虽然能确保数据完整性和方便数据恢复,但也可能导致从库的错误难以被发现,因为从库上的写操作可能被视为正常更新。为了防止这种情况,通常会在从库上设置`read_only`,限制普通用户的写权限。 此外,陈晓勇的《MySQL DBA修炼之道》也提供了关于MySQL的深入学习资源,包括入门、开发和测试等方面的知识,是系统学习MySQL的好资料。