>[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 常用命令