MySQL主从配置教程:从安装到同步
需积分: 12 73 浏览量
更新于2024-08-05
收藏 201KB PDF 举报
“Mysql主从配置操作示例.pdf”提供了关于如何配置MySQL主从复制的详细步骤,包括安装MySQL数据库,启动服务,设置主库和从库,以及检查主从同步状态。
一、安装MySQL
在安装过程中,首先运行初始化命令,这将创建必要的数据目录并生成一个临时的root用户密码。例如:
```
./mysqld --initialize --user=dic_mysql --basedir=/mysqldata/mysql-5.7.21/mysql --datadir=/mysqldata/mysql-5.7.21/data
```
记得保存生成的临时密码,因为之后会需要它来登录MySQL服务。
二、启动MySQL
接着,通过指定配置文件启动MySQL服务:
```
./mysqld --defaults-extra-file=/mysqldata/mysql-5.7.21/mysql/support-files/my.cnf --basedir=/mysqldata/mysql-5.7.21/mysql --log-error=/mysqldata/mysql-5.7.21/data/mysql_error.log --pid-file=/mysqldata/mysql-5.7.21/data/mysqld.pid --socket=/mysqldata/mysql-5.7.21/data/mysql.sock --port=3306 &
ln -s /mysqldata/mysql-5.7.21/data/mysql.sock /tmp/mysql.sock
```
确保MySQL守护进程正常启动,并创建符号链接以便系统可以找到MySQL套接字文件。
三、主从配置
1. 修改用户密码:在主库和从库上,使用如下命令更新root用户的密码:
```
alter user 'root'@'localhost' identified by '123456';
```
2. 主库my.cnf配置:在主库的配置文件中添加以下内容,设置服务器ID(server-id),启用二进制日志(log-bin)并设定日志格式为ROW模式:
```
server-id=2
log-bin=/mysqldata/mysql-5.7.21/data/binlog/mysql-bin
binlog_format=ROW
```
3. 从库my.cnf配置:同样地,在从库的配置文件中设置唯一的server-id,然后重启MySQL服务。
4. 创建复制用户:在主库上,创建一个用于从库复制的用户,赋予适当的权限:
```sql
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'192.168.161.251' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
```
5. 获取主库二进制日志信息:在主库上运行`SHOW MASTER STATUS;`,记录返回的File和Position值。
6. 从库配置:最后,在从库上,执行以下SQL命令来配置复制:
```sql
CHANGE MASTER TO MASTER_HOST='192.168.161.250', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='记录的File值', MASTER_LOG_POS=记录的Position值;
START SLAVE;
SHOW SLAVE STATUS\G;
```
这将开始从主库复制数据,并可以通过`SHOW SLAVE STATUS\G;`命令检查同步状态。
通过以上步骤,你可以成功地配置一个MySQL主从复制环境,实现数据的安全备份和高可用性。注意在实际操作中,你需要根据你的环境调整IP地址、端口、用户名、密码等参数。同时,监控主从复制的状态是非常重要的,以确保数据的一致性和完整性。
2021-11-05 上传
2020-03-09 上传
2021-11-25 上传
2021-10-30 上传
2021-11-17 上传
2020-04-15 上传
2023-06-15 上传
2021-10-11 上传
2021-10-20 上传
微心微世界
- 粉丝: 5
- 资源: 35
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器