生产环境升级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账号分配更多的权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值