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

生产环境升级mysql流程及配置主从服务

之前写到过mysql升级8.4的文章, 因此不再介绍mysql的安装过程

避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客

生产环境升级mysql8.4.x流程

 安装mysql

参考之前文章: 避免服务器安装多个mysql引起冲突的安装方法_安装两个mysql会冲突吗-CSDN博客

配置主从

配置主从主要就看my.cnf里的配置

log-bin=/data/mysql8/data/mysql-bin

server-id=3

注意主从的server-id不要为同一个值

主数据库设置

-- 创建用户 slave

CREATE USER 'slave'@'%' IDENTIFIED BY 'password';

-- 授权

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';

-- 刷新权限

FLUSH PRIVILEGES;

查看bin-log日志名称

8.4.0及以上的版本不能再使用SHOW MASTER STATUS;

SHOW BINARY LOG STATUS;

记住以下两个值

配置从数据库

登录到从数据库,注意使用以下命令登录

./mysql --defaults-file=/data/mysql8/my.cnf -uroot -p

CHANGE REPLICATION SOURCE TO

SOURCE_HOST='192.168.0.103',

SOURCE_PORT=3306,

SOURCE_USER='slave',

SOURCE_PASSWORD='password',

SOURCE_LOG_FILE='binlog.000016',

SOURCE_LOG_POS=158;

从库执行命令,开始同步主库

START REPLICA;

查看复制状态

SHOW REPLICA STATUS\G;

如果上面状态有报错或复制失败 可能是数据不一致的原因,在从库上先停止复制

STOP REPLICA;

然后重置复制,它将清除复制元数据存储库,删除所有中继日志文件,并启动新的中继日志文件

RESET REPLICA;

最后重启复制

START REPLICA;

如果以上步骤还是不对,那么就重新再主数据库查询bin-log状态,然后从数据库切换为root账号复制, 注意:root账号一定要能在从服务器登录才行

可能遇到的问题

  1. 导入数据时可能会出现编码/排序规则不对的情况, 这个问题是在创建数据库的时候需要设置编码格式为utf8mb3, 因为在mysql8.4中默认的字符集是utf8mb4, 且由utf8mb3取代了utf8

  2. 导入数据时如果用到了坐标函数, 会出现GeomFromText does not exist的错误, 这是因为mysql8.0以后的版本废弃了这个函数, 改为了GeomFromText ==> ST_GeomFromText, 参考链接: mysql 出现 GeomFromText does not exist 解决方案-CSDN博客

  3. 在整个升级的过程中, 可能最容易出问题的就是设置主从, 在创建好slave用户, 且分配权限之后,可能还会出现复制不成功的情况, 解决方法, 可以使用root账号进行主从复制, 或给slave账号分配更多的权限


http://www.kler.cn/a/326668.html

相关文章:

  • uniapp在js方法中,获取当前用户的uid(uni-id-user)表中的用户id
  • koa项目实战 == 实现注册登录鉴权
  • mqsql 场景函数整理
  • spring ai 入门 之 结构化输出 - 把大模型llm返回的内容转换成java bean
  • 桥接IC lt7911d linux 驱动
  • 火山引擎VeDI数据服务平台:在电商场景中,如何解决API编排问题?
  • YOLOv8改进 | 主干篇,YOLOv8改进主干网络为华为的轻量化架构GhostNetV1
  • C++ 左值右值引用梳理(一)
  • 蓝桥杯—STM32G431RBT6(RTC时钟获取时间和日期)
  • python 如何引用变量
  • LeetCode 每日一题 最佳观光组合
  • 水波荡漾效果+渲染顺序+简单UI绘制
  • Chromium 屏蔽“缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用。”提示 c++
  • Conda 虚拟环境使用指南,python,anaconda,miniconda
  • MySQL InnoDB 事务commit逻辑分析
  • C++的new关键字
  • 如何在Android上运行Llama 3.2
  • 关于TrustedInstaller权限
  • c++-类和对象-设计立方体类
  • 每天学习一个技术栈 ——【Django Channels】篇(2)
  • ansible实现远程创建用户
  • [BUUCTF从零单排] Web方向 03.Web入门篇之sql注入-1(手工注入详解)
  • Java 编码系列:注解处理器详解与面试题解析
  • Uptime Kuma运维监控服务本地部署结合内网穿透实现远程在线监控
  • PostgreSQL的扩展Citus介绍
  • 非常全面的中考总复习资料-快速提升中考成绩!