当前位置: 首页 > news >正文

mysql从库重新搭建的流程

背景

生产环境上的主从集群,因为一些异常原因,导致主从同步失败。现记录下通过重做mysql从库的方式来解决,重做过程不影响主库。

步骤

1、在主库上的操作步骤

  1. 备份主库所有数据,并将dump.sql文件拷贝到从库/tmp目录

    • mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=1 --all-databases > dump.sql

      备注:

    • 如果出现报错`Can't connect to local MySQL server through socket`可以执行netstat -ln | grep  mysql命令查看mysql socket的地址需要添加参数 --socket=/u/mysql/tmp/mysql.sock 再次执行即可
      mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=1 --all-databases --socket=/u/mysql/tmp/mysql.sock > dump.sql
    • --single-transaction参数是mysqldump在全量数据导入是对锁的一些处理,都应该加上该参数
    • --master-data=1参数是在备份文件中有 CHANGE MATER TO xxxxx命令,对备库有用,默认值为1,如果为2,就是把该条语句注释了。

2、在从库的操作

  • 通过mysql-client使用root用户登录上mysql

  • 停止从库:

    stop slave;
  • 重置从库:

    reset slave all;
  • 导入主库的数据

    source /tmp/dump.sql;
  • 查看dump.sql文件里面主库同步的位点:

  • 然后在从库执行
    CHANGE MASTER TO MASTER_HOST='XXXXX',MASTER_USER='REPL',MASTER_PASSWORD='XXXX',MASTER_LOG_FILE='mysql-bin.002029',MASTER_LOG_POS=486015475;
    
  1. 假如需要旧用户密码忘记了,可以新建用户和密码作为主从复制的用户
    #登录 MySQL 主库,创建用于复制的账号并授权:```mysql -u root -p``````CREATE USER 'replication'@'从库IP地址' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'replication'@'从库IP地址';FLUSH PRIVILEGES;
  2. 在从库上再次执行
     #在从库上登录 MySQL,并执行以下命令:```mysql -u root -p``````CHANGE MASTER TO MASTER_HOST='主库IP地址',MASTER_USER='replication',MASTER_PASSWORD='password',MASTER_LOG_FILE='主库的binlog文件名',MASTER_LOG_POS=主库的binlog位置;
  • 开启同步:

    start slave;
  • 查看同步状态:

    show slave status\G;
  1. 如果发现`Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection`报错

  2. 解决方法:

  • 在从库上执行一下命令即可,出现该报错的原因是因为mysql8.0默认要求连mysql需要安全连接

  • stop slave;
    CHANGE MASTER TO GET_MASTER_PUBLIC_KEY=1;
    start slave
  • 参考连接:mysql主从复制报错:Authentication plugin ‘caching_sha2_password‘ reported error: Authentication requires se_authentication plugin 'caching_sha2_password' repo-CSDN博客

  • 再次查看从库状态,这两个都是yes即可
http://www.lryc.cn/news/285162.html

相关文章:

  • 用户ssh正确密码登陆树莓派镜像均报错Permission denied, please try again.处理方法
  • SpringBoot 统计API接口用时该使用过滤器还是拦截器?
  • Python sleep函数用法:线程睡眠
  • 50-Js控制元素显示隐藏
  • LC213. 打家劫舍 II
  • Django REST Framework入门之序列化器
  • AI对比:ChatGPT与文心一言的异同与未来
  • elasticsearch备份恢复,elasticdump使用
  • 【C++干货铺】C++11新特性——右值引用、移动构造、完美转发
  • 5G_射频测试_基础概念(二)
  • 【笔记】Helm-3 主题-10 Kubernetes分发指南
  • ROS第 13 课 TF 坐标系广播与监听的编程 实现
  • flask 与小程序 菜品详情和分享功能
  • C语言通过MSXML6.0读写XML文件(同时支持char[]和wchar_t[]字符数组)
  • 在react中说说对受控组件和非受控组件的理解?以及应用场景
  • 【算法练习Day50】下一个更大元素II接雨水
  • 深耕文档型数据库12载,SequoiaDB再开源
  • json解析
  • 【AI】深度学习在编码中的应用(8)
  • 什么是VUE 创建第一个VUE实例
  • 进程间协同:从进程启动、同步与互斥到进程间通信
  • 【驱动】TI AM437x(内核调试-06):网卡(PHY和MAC)、七层OSI
  • Java基础面试题 Object
  • 5G_射频测试_接收机测量(五)
  • ESP32-HTTP_webServer库(Arduino)
  • 无法找到mfc100.dll的解决方法分享,如何快速修复mfc100.dll文件
  • [VulnHub靶机渗透]:billu_b0x 快速通关
  • Docker安装开源Blog(Typecho)
  • 【Qt-license】误操作qt下载导致只能安装商业版试用十天,无法安装社区版
  • 数据操作——缺失值处理