MySQL 主从同步配置

2024-01-27 12:57:22 浏览数 (2)

MySQL 主从同步配置

  1. 编辑 MySQL 主上的/etc/my.cnflog-bin=imooc_mysql server-id=1
  • log-bin :MySQL 的 bin-log 的名字
  • server-id : MySQL 实例中全局唯一,并且大于 0。
  1. 编辑 MySQL 从上的/etc/my.cnfserver-id=2
  • server-id : MySQL 实例中全局唯一,并且大于 0。与主上的 server-id 区分 开。
  1. MySQL 主上创建用于备份账号
  • mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
  • mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
  1. MySQL 主上加锁,阻止所有的写入操作
  • mysql> FLUSH TABLES WITH READ LOCK;
  1. MySQL 主上,查看 bin-log 的文件名和位置
  • mysql > SHOW MASTER STATUS;
  1. MySQL 主上 dump 所有数据,
  • mysqldump --all-databases --master-data > dbdump.db -uroot -p
  1. MySQL 主进行解锁,解锁后,主上可以写入数据
  • mysql> UNLOCK TABLES;
  1. MySQL 从上导入之前 dump 的数据
  • mysql < aa.db -uroot -p
  1. MySQL 从上配置主从连接信息 mysql> CHANGE MASTER TO
代码语言:javascript复制
-> MASTER_HOST='master_host_name',
-> MASTER_PORT=port_num
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;
  • master_host_name : MySQL 主的地址
  • port_num : MySQL 主的端口(数字型)
  • replication_user_name : 备份账户的用户名
  • replication_password : 备份账户的密码
  • recorded_log_file_name :bin-log 的文件名
  • recorded_log_position : bin-log 的位置(数字型)
  • bin-log 的文件名和位置 是 步骤 5 中的 show master status 得到的。
  1. MySQL 从上开启同步:mysql> START SLAVE;,查看 MySQL 从的状态:show slave status;

0 人点赞