我这里用的主库阿里云的RDS mysql版本为8.0,

主从配置需要注意的点

  • Master 和 Slave 数据库的版本要一致;

  • Master 开启二进制日志, Master 和 Slave 的 server_id 不能一致;

从主机Centos下安装Mysql8 可参考以下教程 

https://blog.csdn.net/qq_39150374/article/details/112471108

注意:

使用  service mysqld start 可能会出现错误,无法启动。

请使用  systemctl start mysqld 命令

systemctl start/stop/status mysqld

设置Mysql开机自启动

1、确保权限

chmod +x /etc/rc.d/rc.local

2、在ect目录下创建脚本

vi MysqlStart.sh

 #!/bin/bashservice mysqld start

赋予权限

chmod +x /etc/MysqlStart.sh

3、编辑/etc/rc.d/rc.local文件

vi /etc/rc.d/rc.local

 4、重启机器  

reboot

配置主实例

  1. 登录 RDS 控制台,选择目标实例。
  2. 配置从实例读取数据使用的只读账号和授权数据库。
  3. 将本地从实例的 IP 地址加入主实例的 IP 白名单中

  4. 查询主实例的 server-id

配置从实例

1、打开从实例 MySQL 配置文件。

vim /etc/my.cnf

2、配置从实例的 server-id 和要同步的数据库。

#mysql 服务ID主从实例service-id需不同
server-id=15646844
log_bin=/var/log/mysql/mysql-bin.log
binlog_expire_logs_seconds=864000
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid#需要同步的数据库
replicate-do-db=jy-shop
#不需要同步的数据库
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
#开启gitid模式
gtid_mode=on
#保证GTID安全的参数
enforce_gtid_consistency=on
#主从同步模式
binlog_format=row
#让主机接收到bin_log后也同步到自己的bin_log上
log_replica_updates=ON

3、执行如下命令,查看 binlog 配置结果。

show variables like '%binlog_format%';

 4、登录数据库设置同步选项

mysql> change master to master_host = 'rds主库外网地址', master_port = 3306, master_user = '主库账号', master_password='密码', master_auto_position = 1;

5、启动从库实例

mysql> start slave;

6、查看本机mysql同步状态

mysql>show slave status;

查看系统返回信息中 Slave_IO_Running 和 Slave_SQL_Running 的状态是否为 Yes,如下。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

如果都为yes代表设置成功。

在实际操作终于到的问题:

问题1、在第一步设置完log_bin目录后会造成 mysql无法启动,

通过查看/var/log/mysqld.log发现是/var/log/mysql/mysql-bin.index not found  错误

主要因为文件夹权限的问题。刚才新建的binlog目录 /var/log/mysql/mysql-bin.log

在 /var/log目录下创建mysql文件夹,然后授权

 chown mysql:mysql -R /var/log/mysql

启动成功。

问题2:Slave_IO_Running状态为Connecting

问题 :分析

(1)网络不通

(2)防火墙端口未开放

(3)mysql账户密码错误

(4)mysql主从机配置文件写错

(5)配置从机连接语法错误

(6)主机未开放账户连接权限

我这里出现了3和6两个,账户写错,未放开主库账户的远程登录权限

问题3:Slave_SQL_Running: NO 问题

首先出现的是 Got fatal error 1236 from master when reading data from binary log错误。

2022-10-11T06:43:57.815382Z 17 [ERROR] [MY-013114] [Repl] Slave I/O for channel '': Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate because the master purged required binary logs. Replicate the missing transactions from elsewhere, or provision a new slave from backup. Consider increasing the master's binary log expiration period. The GTID set sent by the slave is '689f2d92-4915-11ed-a038-00163e0e8f9c:1-179', and the missing transactions are '23654640-4088-11ed-ae1d-00163e08e553:1-46747'', Error_code: MY-013114

解决方法:

1、登陆slave库

2. stop slave

mysql> stop slave;mysql> reset slave all; mysql> reset master;Query OK, 0 rows affected, 1 warning (0.01 sec)#23654640-4088-11ed-ae1d-00163e08e553:1-46747 为上述错误中出现的数字mysql> SET @@GLOBAL.GTID_PURGED='23654640-4088-11ed-ae1d-00163e08e553:1-46747';mysql> start slave; mysql> show slave status;

这时候发现Slave_SQL_Running:还是 NO

再次查看mysqld.log发现Unknown or incorrect time zone: ‘Asia/Shanghai时区错误

Slave SQL for channel '': Worker 1 failed executing transaction '23654640-4088-11ed-ae1d-00163e08e553:47188' at master log mysql-bin.000049, end_log_pos 134689; Error 'Unknown or incorrect time zone: 'Asia/Shanghai'' on query. Default database: ''. Query: 'CREATE USER '****'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*DE8B3934BD28FC61FE53A9162B63A6D1CD873EF9'', Error_code: MY-001298

通过查看目前从库的时区没有 Asia/Shanghai

mysql>show variables like '%time_zone%';

默认这个时区设置是没有的,mysql默认不支持’Asia/Shanghai’这种时区格式

mysql>set global time_zone='Asia/Shanghai';ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Shanghai'

解决方案

需要从mysql官网下载一个时区文件,下载地址:https://dev.mysql.com/downloads/timezones.html

我们下载5.7+以上这个版本。

下载完成后,解压后是一个SQL文件,将SQL文件导入到系统库mysql中,然后就支持设置支持’Asia/Shanghai’这种时区格式

再开启 从库发现 ok了

阿里云RDS Mysql 8.0 与本地主从同步相关推荐

  1. 十年磨一剑,阿里云RDS MySQL和AWS RDS谁的性能更胜一筹?

    MySQL代表了开源数据库的快速发展. 从2004年前后的Wiki.WordPress等轻量级Web 2.0应用起步,到2010年阿里巴巴在电商及支付场景大规模使用MySQL数据库,再到2012年开始 ...

  2. 阿里云重启mysql_阿里云RDS Mysql 5.6 ECS自建从库(不锁表,不重启)

    注意:你的备份的时间应该在你的binlog保存时间范围内 环境: 主库: 阿里云RDS Mysql 5.6 从库: ECS机器上自建从库 Centos 7.4 setp 1 在阿里云RDS后台建立只读 ...

  3. Canal监听阿里云RDS Mysql踩坑

    Canal监听阿里云RDS Mysql中间的坑 canal下载安装,mysql binlog开启常规操作,照着github上的指导就完事了 1)需要保证账号有如下权限,让管理员大大开一下,否则报权限错 ...

  4. 【数据库取证篇】阿里云RDS MySQL数据库在线取证教程

    [数据库取证篇]阿里云RDS MySQL数据库在线取证教程 在线取证或备份数据-[蘇小沐] 文章目录 [数据库取证篇]阿里云RDS MySQL数据库在线取证教程 1.实验环境 一.RDS登录方式 (一 ...

  5. 阿里云rds mysql 并发_干货 | 浅析RDS MySQL 8.0语句级并发控制-阿里云开发者社区

    背景 为了应对突发的数据库请求流量.资源消耗过载的语句访问.SQL 访问模型的变化, 并保持 MySQL 实例持续稳定运行,阿里云RDS for MySQL 8.0所采用的AliSQL分支设计了基于语 ...

  6. 本地电脑连接阿里云RDS Mysql数据库问题(10038错误)

    使用本地电脑连接阿里云RDS数据库是总是出现如下错误: (1)之前连接是没有问题的,(由于许久没有弄,很多东西都忘记了),我放在ECS服务器上的网站是可以正常访问数据库的: (2)已经切换到外网模式, ...

  7. 阿里云ECS代理访问阿里云RDS MySQL数据库

    一.前言 阿里云RDS数据白名单一般只对内部的服务器开放,一般不会开放给外网直接访问,有时开发需要直接访问RDS数据库,平时我们使用的网络都是动态公网IP,经常会变化,设置白名单相对繁琐一点.想了一个 ...

  8. 阿里云rds mysql坑_配置ECS上自建MySQL作为RDS从库过程中踩到的坑

    环境: RDS版本:阿里云的5.6 ECS自建MySQL5.6.34(官方版本) 通过将阿里云rds的自动全量备份下载到ECS上,按照官方的步骤解压--> aploy-log ---> m ...

  9. rds mysql 恢复到本地_阿里云RDS数据库备份文件恢复到本地mysql数据库

    一.安装mysql和xtrabackup (1)安装mysql 因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应. rpm -ivh http://repo.mysql.com ...

最新文章

  1. lnmp 切换mysql 版本_LNMP1.5:php多版本切换
  2. python 调用linux命令-Python Linux系统管理之Python中执行外部命令
  3. PHP的工作原理和生命周期
  4. 数学--数论--原根(循环群生成元)
  5. tensor判断是否相等_PyTorch的Tensor(中)
  6. *多叉树的树形背包常见建模方法
  7. 厉害了,自己手写一个Java热加载!
  8. 不同操作系统上DNS客户端操作区别汇总
  9. Undefined symbols for architecture xxx
  10. maven覆盖setting_maven-如何为.m2文件夹或settings.xml永久指定替代位置?
  11. 毕业答辩的PPT全攻略(要用)
  12. Html软件进度计划,施工进度计划表软件
  13. golang mian函数和init函数
  14. 为什么要处理自然语言? | NLP基础
  15. iphone11屏比例_iPhone 11屏幕和iPhone X哪个大 iPhone 11和iPhone X屏幕大小对比
  16. 【历史】 apache catalina servlet tomcat 命名的由来
  17. nodejs---console.log()控制台打印
  18. Error occured processing XML 'Cannot find class [springmvc.extention.BeanArgumentResolver]
  19. VBA 开发学习--基础语法
  20. 防火墙添加ip白名单_防火墙白名单设置方法firewalld

热门文章

  1. 关于手机的序列号,UDID,IMEI,IMSI,ICCID详解
  2. 28V耐压线性充电管理芯片-ZCC3221替代CE3221 V1.2
  3. HashMap、比较器与Lambda
  4. VisualStudio工程设置(三)---Pclint集成VS2013及常见用法
  5. ABB主计算机作用是什么,上门维修ABB机器人主计算机开机自动反复重启故障解决方法...
  6. 谷歌搜索留痕怎么做?有没内容限制?
  7. 谷歌留痕技术教程,Google留痕外推软件
  8. 阿里云 oss 203 Non-Authoritative Information.CallbackFailed.Error status : 502.问题解决
  9. Nginx配置SSL 重定向到非80端口
  10. Adaptive AUTOSAR架构介绍(9)