MySQL主从复制配置指南
需积分: 33 148 浏览量
更新于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的好资料。
2018-06-04 上传
608 浏览量
2009-11-15 上传
2021-10-11 上传
2019-07-22 上传
2009-12-13 上传
2021-09-24 上传
点击了解资源详情
SW_孙维
- 粉丝: 82
- 资源: 3830
最新资源
- react_website
- HCMGIS_Caytrong_Local
- 毕业设计&课设--毕业设计之鲜花销售网站的设计与实现.zip
- django-compiling-loader:Django的编译模板加载器
- Excel模板送货单EXCEL模板.zip
- tfbert:一个使用tf2复现的bert模型库
- 商用服务机器人行业研究报告-36氪-2019.8-47页.rar
- 愤怒的小鸟
- recommend-go:用户偏好推荐系统
- react-selenium-ui-test-example:示例项目显示了如何将Selenium Webdriver与Mocha结合使用以在本地环境中运行UI级别测试
- AttachmentManager:附件管理器库从Android设备中选择文件图像
- Excel模板财务报表-现金收支日记账.zip
- jquery-browserblacklist:处理浏览器黑名单的 jQuery 插件
- 毕业设计&课设--毕业设计--在线挂号系统APP(VUE).zip
- 017.长治市行政区、公交线路、 物理站点、线路站点、建成区分布卫星地理shp文件(2021.3.28)
- yfcmf-tp6:yfcmf新版本,基于thinkphp6.0和fastadmin