主从复制说明: (主表增删改, 从表查询)
1. 准备两台服务器 (学习阶段: 同时关闭防火墙 <=> 上线阶段: 开放指定的数据库端口)
主库配置
2. 修改主库的配置文件my.cnf(添加 server-id = 1 read-only=0)
3. 创建远程连接的账户, 并授予主从复制的权限
- 创建: create USER 'xiao'@'%' IDENTIFIED WITH mysql_native_password BY '@123456Abb';
- 赋予权限: GRANT REPLICATION SLAVE ON *.* TO 'xiao'@'%'
4. 查询二进制binlog坐标 (show master status;)
字段说明:
- file: 从哪个日志文件开始推送日志
- position: 从哪个位置推送日志
- binlog_ignore_db: 指定不需要同步的数据库
从库配置
5. 修改从库的配置文件my.cnf(添加 server-id = 2 read-only=1)
read-only只是普通用户可读
super-read-only=1 设置超级用户只可读(管理员)
6. 设置从库配置
- 8.0.23以上,不包括8.0.23 (CHANGE REPLICATION SOURCE TO SOURCE_HOST = 'xxx.xxx', SOURCE_USER = 'xxx', SOURCE_PASSWORD = 'xxx', SOURCE_LOG_FILE='xxx