MySQL主从数据库配置全攻略
需积分: 13 33 浏览量
更新于2024-09-13
收藏 9KB TXT 举报
"这篇文档详细记录了MySQL主从数据库配置的步骤,包括主库和从库的配置,以及权限设置和状态检查等关键环节。"
MySQL主从数据库配置是数据库高可用性和数据冗余的一种常见解决方案,它允许数据在主数据库(Master)上写入并同步到从数据库(Slave)。以下是对配置过程的详细说明:
1. **安装与准备**:
在两台服务器上分别安装MySQL服务,确保版本一致,以便于数据同步。这里假设已安装完成。
2. **主库配置**:
- 打开`my.ini`配置文件,添加`log-bin=mysql-bin`启用二进制日志,这将记录所有改变数据库的SQL语句。
- 设置`server-id=1`,确保每个MySQL实例有唯一的ID。
示例配置:
```ini
[mysqld]
log-bin=mysql-bin
server-id=1
```
3. **从库配置**:
- 类似地,修改从库的`my.ini`,同样开启`log-bin`,但分配不同的`server-id`,如`server-id=2`。
示例配置:
```ini
[mysqld]
log-bin=mysql-bin
server-id=2
```
4. **服务重启**:
重启MySQL服务,使配置生效。在Windows环境下,可以使用`net stop mysql`和`net start mysql`命令来停止和启动服务。对于从库,使用`mysql2`替换`mysql`。
5. **权限设置**:
在主库上,登录MySQL并创建一个用于复制的用户,并赋予`REPLICATION SLAVE`权限。例如:
```sql
GRANT REPLICATION SLAVE ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mysql';
```
这里,`myuser`是用户名,`localhost`是复制的从机地址,`mysql`是密码。
6. **获取主库状态**:
在主库上执行`SHOW MASTER STATUS;`,记录返回的`File`(二进制日志文件名)和`Position`(二进制日志位置),这些信息在后续的从库配置中会用到。
7. **从库设置**:
- 在从库上,使用`CHANGE MASTER TO`命令指定主库的连接信息和二进制日志位置,例如:
```sql
CHANGE MASTER TO
MASTER_HOST='192.168.145.226', // 主库IP
MASTER_USER='myuser', // 用户名
MASTER_PASSWORD='mysql', // 密码
MASTER_LOG_FILE='mysql-bin.000004', // 主库的日志文件
MASTER_LOG_POS=2517; // 日志位置
```
- 开始复制进程:`START SLAVE;`
- 验证是否成功:`SHOW SLAVE STATUS \G;`,检查`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,表示配置成功。
以上步骤完成后,主库上的数据更改将会被记录并同步到从库,实现数据的实时备份和高可用性。请注意,实际操作中,要根据具体环境和需求调整配置细节,如网络、安全策略等。同时,监控和维护主从同步状态也是十分重要的。
点击了解资源详情
2023-09-21 上传
2021-11-08 上传
2020-09-10 上传
2020-12-15 上传
zxytiefanhe
- 粉丝: 0
- 资源: 1
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析