>[info] 主節點相關配置
1. 開啟 binlog 日志(修改 my.cnf 配置文件)
~~~
[mysqld]
log-bin=mysql-bin
server-id = 1
~~~
2. 配置復制賬號
~~~
mysql> create user 'mysql_server1'@'%' identified by '123456';
~~~
3. 分配賬號權限
~~~
mysql> grant replication slave on *.* to 'mysql_server1'@'%' identified by '123456';
~~~
>[info] 從節點相關配置
1. 開啟 binlog 日志(修改 my.cnf 配置文件)
~~~
[mysqld]
log-bin=mysql-bin
server-id = 2
~~~
2. 開啟中繼日志(修改 my.cnf 配置文件)
~~~
[mysqld]
relay_log=mysql-relay-bin
relay_log-index=mysql-relay-bin.index
~~~
3. 設置相關信息
~~~
mysql> change master to master_host="192.168.10.129",master_port=3306,master_user="mysql_server1",master_password="123456",master_log_file="mysql-bin.000001",master_log_pos=0;
~~~
4. 啟動復制
~~~
mysql> start slave;
~~~
5. 執行 `mysql> show slave status;` 看下面兩個參數,相同則啟動成功。
| 參數 | 參數值 |
| --- | --- |
| Slave\_IO\_Running | Yes |
| Slave\_SQL\_Running | Yes |
6. 一些可選參數
| 參數 | 作用 | 實例 |
| --- | --- | --- |
| log\_slave\_updates | 允許更新 | log\_slave\_updates=1 |
| read\_only | 非root賬戶只讀 | read\_only=1 |
| replicate-do-table | 指定需要復制的表 | replicate-do-table=db1.table1 |
| replicate-ignore-table | 指定不復制的表 | replicate-ignore-table=db1.table1 |
| replicate-do-db | 指定復制的數據庫 | replicate-do-db=db1 |
| replicate-ignore-db | 指定不復制的數據庫 | replicate-ignore-db=db2 |
>[info] 一些查找命令
* 查看主從狀態(在從庫執行)
~~~
mysql> show slave status;
~~~
* 查詢系統變量(可 like 搜索)
~~~
mysql> show variables;
~~~
* 停止復制
~~~
mysql> stop slave;
~~~
* 重置相關信息的配置
~~~
mysql> reset slave;
~~~
- MySQL
- MySQL 開啟遠程訪問權限
- MySQL 查詢語句
- Explain 分析器
- MySQL 索引
- MySQL 主從復制
- Binlog 日志
- Docker
- Docker 安裝
- Docker 常用命令
- Docker 網絡
- Docker 安裝MySQL
- Redis
- Redis 常用命令
- Redis 配置文件
- Redis 主從復制
- Nginx
- Nginx 常用命令
- Nginx 內置變量
- Nginx 配置文件
- Nginx 負載均衡
- Composer
- Composer 構架組件
- Swoole
- Laravel
- 正則表達式
- Linux
- Linux 常用命令
- Linux 系統相關命令
- Git
- Git 全局配置
- Git 版本控制
- Git 遠程倉庫
- Git 分支管理
- Git 忽略文件
- Supervisor
- Supervisor 安裝
- Supervisor 配置文件
- Supervisor 常用命令