RDS-Mysql 物理备份恢复到本地数据库上

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 本篇文章作为对阿里云官方文档的补充,说明了在将物理文件恢复到本地可能会遇到的一些问题。

阿里云官方文档上已经对这个部分进行了说明,但是其中有一些小的细节上可能还没有说的特别清楚,这篇文章是对官方文档的一个补充。

https://help.aliyun.com/knowledge_detail/41817.html?spm=5176.11065259.1996646101.searchclickresult.c7c7321cwLnuFj

前提条件(再次强调):

  1. 本地的数据库版本要和RDS本身的数据库版本一致。如果RDS是5.7的,那么本地也要是5.7的版本。对于5.6版本也是一样。
    请最好使用二进制文件安装mysql:下载链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
  2. Percona XtraBackup的版本:5.6和之前的要使用2.3,5.7使用2.4。

1

在官方文档中有说明对 backup-my.cnf文件中一些参数进行注释,但是在某些环境下,仅仅对这些参数进行注释,可能还不够,需要对所有的参数都进行注释掉。参考下面的修改

# This MySQL options file was generated by innobackupex.

# The MySQL server
[mysqld]
#innodb_checksum_algorithm=innodb
#innodb_log_checksum_algorithm=innodb
#innodb_data_file_path=ibdata1:200M:autoextend
#innodb_log_files_in_group=2
#innodb_log_file_size=1572864000
#innodb_fast_checksum=false
#innodb_page_size=16384
#innodb_log_block_size=512
#innodb_undo_directory=.
#innodb_undo_tablespaces=0


#rds_encrypt_data=false
#innodb_encrypt_algorithm=aes_128_ecb

2

如果直接使用按照文档中的方式启动 mysql(mysqld_safe --defaults-file...),然后登录(mysql -uroot -p<数据库密码>) 可能会遇到权限问题,导致登录不上的情况。
image

所以下面会对这个部分再进行一下补充:

第一个方法

直接使用原来RDS中的账号进行登录,因为系统表是从原来rds中"继承"下来的,所以使用原来RDS创建的账号也是能够登录的。

第二个方法

由于RDS是PaaS服务,所以在一些权限上的确是做了一些修改,比如对原生mysql中root账号就进行了限制,用户是无法得到这个账号级别的权限的。有些客户希望将数据恢复到本地以后,能够"无限制"的使用,那么可以参考下面的方法进行:

将物理备份恢复到本地以后,可以使用 aliyun_root管理mysql, 但是需要对 aliyun_root 进行密码重置。

使用无密码的方式进行启动mysql服务。添加参数:--skip-grant-tables

mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --skip-grant-tables --user=mysql --datadir=/home/mysql/data

然后使用 下面的方法进行重置:

mysql -hlocalhost -uroot 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#重置密码
mysql> SET PASSWORD FOR 'aliyun_root'@'127.0.0.1' = PASSWORD('Fdsa1234');
Query OK, 0 rows affected, 1 warning (0.00 sec)

#使用aliyun_root账号登录
mysql -h127.0.0.1 -ualiyun_root -pFdsa1234 

这样就解决了权限的问题。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
35 2
|
21天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
104 0
|
21天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
21天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
23天前
|
存储 关系型数据库 MySQL
数据库字符编码MySQL中使用UTF-8还是UTFB4
数据库字符编码MySQL中使用UTF-8还是UTFB4
20 0
|
26天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
114 1
|
26天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
95 0
|
17天前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
47 0
|
17天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
33 0
|
21天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)