- 复制环境搭建
1.1 备份主库信息
# mysqldump
https://www.cnblogs.com/lifeiLinux/p/19066160
# pxb
https://www.cnblogs.com/lifeiLinux/p/19066181
# 克隆
https://www.cnblogs.com/lifeiLinux/p/19094251
1.2 主数据库二进制日志功能开启
vim /etc/my.cnf
server_id=51
log_bin=/data/mysql80/datamysql-bin# 查看二进制功能是否开启
show variables like '%log_bin%';
+---------------------------------+-----------------------------------+
| Variable_name | Value |
+---------------------------------+-----------------------------------+
| log_bin | ON |
| log_bin_basename | /data/mysql80/datamysql-bin |
| log_bin_index | /data/mysql80/datamysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-----------------------------------+
# 确认多个复制节点的服务标识不同(server id)
mysql> select @@server_id;
1.3 确认多个复制节点的时间信息同步
1.4 确认多个复制节点的版本信息一致
说明:部分实际应用场景中可以支持不一致,但是复制源端可以是低版本,复制目标端可以是高版本,反之不行;
1.5 创建主从数据同步的用户信息
# 在主库上创建复制同步数据用户
mysql> create user repl@'10.0.0.%' identified with mysql_native_password by '1';
mysql> grant replication slave on *.* to repl@'10.0.0.%';
# 从库会利用主库上的同步数据用户,进行数据同步传输操作
1.6 配置主从节点数据复制的信息
# 获取连接主库,以及定义同步位置点的数据库配置模板信息
vim full_`date +%F`.sql
# CHANGE MASTER TO MASTER_LOG_FILE='binlog.000036', MASTER_LOG_POS=1738;
# 通过备份文件获取同步位置点信息1738
mysql> CHANGE MASTER TOMASTER_HOST='10.0.0.51',MASTER_USER='repl',MASTER_PASSWORD='1',MASTER_PORT=3306,MASTER_LOG_FILE='binlog.000036',MASTER_LOG_POS=833,MASTER_CONNECT_RETRY=10;
# 以上配置主从同步信息在从库进行执行;
1.7 激活主从节点数据复制的线程
# 利用相应线程实现主从数据库的数据同步复制
mysql> start slave;
# 在从库上激活数据复制同步功能# 若此时数据同步失败可以重新开启同步功能
mysql> stop slave;
mysql> reset slave all;
# 在从库上重置数据复制同步功能,重新配置change master to信息,然后重新激活同步复制功能# 进行核实主从同步功能是否实现
mysql -S /tmp/mysql.sock
mysql> create database xiaoq;
# 在主库模拟创建数据信息
mysql -S /tmp/mysql.sock
mysql> show databases;
# 在从库模拟查看数据信息(确认是否同步数据)
mysql> show slave status\G
# 从库上查看数据同步状态情况,看到上面的两个Yes信息,就表示主从数据同步功能设置成功了
Slave_IO_Running: Yes
lave_SQL_Running: Yes