musql中,当master服务器宕机,提升一个slave成为新的master

拓扑如下:

在这里插入图片描述
查询数据库节点最新的为新master
MariaDB [(none)]> show slave status\G

修改配置文件并关闭read-only配置

[11:25:43 root@slave1 ~] vi /etc/my.cnf.d/mariadb-server.cnf
[mysql]
server-id=18
log-bin
read-only=off

[11:25:43 root@slave1 ~] systemctl restart mariadb.service


清除旧节点信息:

MariaDB [(none)]> set global read_only=off;
MariaDB [(none)]> stop slave;
MariaDB [(none)]> reset slave all;

备份新master的信息:

[11:31:51 root@slave1 ~] mysqldump -A -F --single-transaction --master-data=1> /data/mariadb_backup_`date +%F_%T`.sql
[11:31:51 root@slave1 ~] scp /data/mariadb_backup_2020-10-17_11\:33\:25.sql 10.0.0.28:/data

其他所有slave还原数据库,指向新master:

[11:18:07 root@slave2 ~] vi /data/mariadb_backup_2020-10-17_11\:33\:25.sql

CHANGE MASTER TO
  MASTER_HOST='10.0.0.8',
  MASTER_USER='abc',
  MASTER_PASSWORD='123456',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mariadb-bin.000005',
  MASTER_LOG_POS=389;


MariaDB [(none)]> stop slave;
MariaDB [(none)]> reset slave all;
ariaDB [(none)]> set sql_log_bin=off;
MariaDB [(none)]> source /data/mariadb_backup_2020-10-17_11\:33\:25.sql
MariaDB [(none)]> set sql_log_bin=on;
MariaDB [(none)]> start slave;

 	

猜你喜欢

转载自blog.csdn.net/u014578909/article/details/109129097