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

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

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

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 

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

相关文章:

  • 客户端网络库实现真的很简单吗?
  • HTPC家庭娱乐和XBOX未来发展畅想另:创业工作机会
  • Socket IO与NIO(四)
  • 【算法导论】学习笔记——第6章 堆排序
  • 转:网络协议概览
  • 5分钟了解 Python 中的super函数是如何实现继承的
  • LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
  • 问题:什么情况UDP的非阻塞写会失败?
  • 一次服务器CPU占用率高的定位分析
  • [HNOI2015]实验比较
  • Springboot简介01
  • 我的作业,来看看把
  • ReentrantLock
  • OSChina 周日乱弹 —— 去应聘男友吧
  • 在网站开发中很有用的8个 jQuery 效果【附源码】
  • @angular/forms 源码解析之双向绑定
  • 【Leetcode】104. 二叉树的最大深度
  • C++入门教程(10):for 语句
  • Facebook AccountKit 接入的坑点
  • iOS编译提示和导航提示
  • JavaScript DOM 10 - 滚动
  • JavaScript服务器推送技术之 WebSocket
  • Java编程基础24——递归练习
  • Java教程_软件开发基础
  • Joomla 2.x, 3.x useful code cheatsheet
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringBoot 实战 (三) | 配置文件详解
  • v-if和v-for连用出现的问题
  • Windows Containers 大冒险: 容器网络
  • 不上全站https的网站你们就等着被恶心死吧
  • 分布式任务队列Celery
  • 前端技术周刊 2019-02-11 Serverless
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 我看到的前端
  • 正则与JS中的正则
  • 阿里云移动端播放器高级功能介绍
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #1014 : Trie树
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (1)(1.13) SiK无线电高级配置(六)
  • (6)STL算法之转换
  • (python)数据结构---字典
  • (TOJ2804)Even? Odd?
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .form文件_一篇文章学会文件上传
  • .net core 6 集成和使用 mongodb
  • .NET Project Open Day(2011.11.13)
  • .NET 事件模型教程(二)
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET轻量级ORM组件Dapper葵花宝典