You've already forked www.colben.cn
update
This commit is contained in:
@@ -6,18 +6,18 @@ tags: ["mysql", "master", "slave", "gtid", "replication", "同步"]
|
||||
categories: ["database"]
|
||||
---
|
||||
|
||||
# 环境
|
||||
## 环境
|
||||
- mysql 主服务器,centos7.4,192.168.1.10,端口 10000
|
||||
- mysql 从服务器,centos7.4,192.168.1.6
|
||||
- 要复制的数据库有 data_db、conf_db
|
||||
|
||||
# 在主服务器上创建用于备份的用户 replicator
|
||||
## 在主服务器上创建用于备份的用户 replicator
|
||||
```sql
|
||||
grant replication slave on *.* to 'replicator'@'192.168.1.6' identified by 'password';
|
||||
flush privileges;
|
||||
```
|
||||
|
||||
# 在主服务器上修改 my.cnf
|
||||
## 在主服务器上修改 my.cnf
|
||||
```
|
||||
# 建议与本机ip地址最后一位一致,与其他互备服务器均不一致
|
||||
server-id = 10
|
||||
@@ -43,14 +43,14 @@ categories: ["database"]
|
||||
#auto-increment-increment =
|
||||
```
|
||||
|
||||
# 在主服务器上重启 mysql,获取 master 状态
|
||||
## 在主服务器上重启 mysql,获取 master 状态
|
||||
```sql
|
||||
-- 如果 mysql 是全新安装,则无须导出数据库初态,直接查看 binlog pos 即可
|
||||
-- 锁定要导出的数据库表
|
||||
flush tables with read lock;
|
||||
```
|
||||
|
||||
# 导出数据库初态
|
||||
## 导出数据库初态
|
||||
```bash
|
||||
# 在主服务器的另一个终端中运行
|
||||
mysqldump -uroot -p data_db > /tmp/data_db.sql
|
||||
@@ -59,7 +59,7 @@ categories: ["database"]
|
||||
scp /tmp/data_db.sql /tmp/conf_db.sql 192.168.1.6:/tmp/
|
||||
```
|
||||
|
||||
# 查看 binary 日志位置
|
||||
## 查看 binary 日志位置
|
||||
```sql
|
||||
show master status\G
|
||||
-- 记住输出里的如下类似两行(不记录也可以,这两个信息已经写入了导出的sql文件中)
|
||||
@@ -69,7 +69,7 @@ categories: ["database"]
|
||||
unlock tables;
|
||||
```
|
||||
|
||||
# 在从服务器上编辑 my.cnf
|
||||
## 在从服务器上编辑 my.cnf
|
||||
```
|
||||
# 建议与本机ip地址最后一位一致,与其他互备服务器均不一致
|
||||
server-id = 6
|
||||
@@ -106,20 +106,20 @@ categories: ["database"]
|
||||
#auto-increment-increment =
|
||||
```
|
||||
|
||||
# 在从服务器上重启 mysql,导入初态
|
||||
## 在从服务器上重启 mysql,导入初态
|
||||
```sql
|
||||
-- 创建要导入的数据库
|
||||
create database data_db default charset utf8mb4;
|
||||
create database conf_db default charset utf8mb4;
|
||||
```
|
||||
|
||||
# 导入数据库
|
||||
## 导入数据库
|
||||
```bash
|
||||
msyql -uroot -p data_db < /tmp/data_db.sql
|
||||
mysql -uroot -p conf_db < /tmp/conf_db.sql
|
||||
```
|
||||
|
||||
# 开启同步
|
||||
## 开启同步
|
||||
```sql
|
||||
-- 基于 binlog 文件位置复制
|
||||
change master to master_host = '192.168.1.10',
|
||||
@@ -137,7 +137,7 @@ categories: ["database"]
|
||||
master_auto_position = 1;
|
||||
```
|
||||
|
||||
# 启动 slave,查看 slave 状态
|
||||
## 启动 slave,查看 slave 状态
|
||||
```sql
|
||||
start slave;
|
||||
-- 在从服务器上查看 slave 状态
|
||||
@@ -148,7 +148,7 @@ categories: ["database"]
|
||||
-- 则表示 slave 开启成功!
|
||||
```
|
||||
|
||||
# MySQL8 gtid 互为主从配置
|
||||
## MySQL8 gtid 互为主从配置
|
||||
```
|
||||
[mysqld]
|
||||
# ---- 固定配置 ----
|
||||
@@ -193,7 +193,7 @@ categories: ["database"]
|
||||
#read-only = ON
|
||||
```
|
||||
|
||||
# MySQL8 gtid 多源复制从库配置
|
||||
## MySQL8 gtid 多源复制从库配置
|
||||
- 修改 my.cnf
|
||||
```
|
||||
[mysqld]
|
||||
|
Reference in New Issue
Block a user