您的位置:首页 > 其它

RDS 备份文件的恢复和遇到的相关问题

2017-03-28 00:00 330 查看
摘要: 主管直接扔给我一个备份文件,就说是利用Linux操作恢复到本地,不懂就自己查资料,愁死我了,我连Linux也是刚装上,完全百分百新手。。经过大概3天左右的样子,终于把数据恢复到本地数据库,所以分享一下过程,也希望能对同样遇到问题的你有所帮助~

环境是:虚拟机Centos 7 和 MySQL 5.7的版本
先注意几点情况:
1.我的数据库安装在 /usr/local/mysql 中
你的目录可能不会和我的一致参考一下就好
2.我这里就不说怎么备份辣(还不会..)

先安装MYSQL 5.7(已安装跳过)
参考:http://www.cnblogs.com/ZRJ-boke/p/6277031.html
一步步按照来做就可以,感谢这位博主的文章让我成功的安装上了数据库

安装完毕之后进入安装目录启动服务测试连接 cd /usr/mysql
启动服务: cd /usr/local/mysql/bin;  输入:./mysqld_safe -user=mysql & (安全模式)
或者: cd /usr/local/mysql/support_files; 输入:./mysql.server start 开启 | stop 关闭 | restart 重启

启动完毕后提示:


,若失败直接跳到本文最下方看!

打开测试:

打开连接输入:cd /usr/local/mysql/bin 输入 : ./mysql -uroot -p 然后输入密码则可!
显示数据库:mysql> show databases;
进入数据库:mysql> use ***;
现实数据表 : mysql> show tables;

随机密码位置:若没有在安装的时候保存密码下来可以在 root/.mysql_secret 里面后12位数就是

查看命令就是:

cat /root/.mysql_secret




每个机器的密码都不一样的~

若:输入还是登陆不上(我就遇到过,编写好多次密码都直接提示:...(yes)的那个错误死活进不去)

就需要另一个方法:

vi /etc/my.cnf

中修改属性:skip-grant-table 跳过检测密码的操作,就能直接进入Mysql辣

[mysqld]
skip-grant-tables = 1

进去之后记得要修改 root 的密码 ~ 方法自己搜索一下就行,很简单。记得修改完密码之后再次去到文件中把这行代码删除!

小技巧:保存退出命令先按:ctrl+[
再输入‘:wq’(保存退出)或者‘:q!’(强制退出)


-----------------------------------------------这里才是重点!!!-----------------------------------------

RDS还原数据库
准备官方给出的文件:rds_backup_extract
下载:wget http://oss.aliyuncs.com/aaliyunecs/rds_backup_extract.sh
先利用rds_backup_extract.sh进行解压:
命令:sh rds_backup_extract.sh -f /home/sloan/backup/*****.tar.gz -C /home/sloan/解压的位置
或者:bash rds_backup_extract -f /home/sloan/backup/******.tar.gz -C /home/sloan/解压的位置

意思就是:使用rds_backup_extract.sh工具解压指定的.tar.gz 到指定的地方
出现‘Done’表示解压完毕!
ll 命令查看解压完成,蓝色的表示是数据库,此时权限可以看到还是 root



解压完毕之后修改解压目录的所有者为:mysql
在Root的权限下执行:
chown mysql:mysql -R /完整的路径 或者使用‘*’(表示当前文件夹全部文件)

完了之后在当前目录下查看输入:ll 得到结果查看结果



----------------------------------此时备份的数据库文件解压就完成了--------------------------------------

下载官方工具: Percona-XtraBackup 工具
运行下载依赖包安装分三步逐步执行则可:
1.yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm 2.yum list | grep percona
3.yum install percona-xtrabackup-24

配置文件的修改:
输入 : vi /etc/my.cnf
把节点[mysql][mysqld]的属性修改
datadir = 修改成mysql 中的 data 文件目录路径则可,恢复时就是靠这个属性的路径
[mysql]
default-character-set = utf8
socket = /usr/local/mysql/data/mysqld.sock

[mysqld] skip-grant-tables = 1socket = /usr/local/mysql/data/mysqld.sock
default-storage-engine = INNODB
character_set_server = utf8
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp

在你的目录下输入 :
innobackupex --copy-back /备份解压的文件路径

直至出现..done...completed OK!表示恢复过程完毕


重新打开mysql服务;打开连接测试;
应该就没问题的了。

若期间出现以下错误:
ERROR:1017,Can't find file..
解:文件权限问题,把/usr/local/mysql/data的权限更改:chown mysql.mysql *
若更改完毕之后还是出现这个错误.则需要在数据库内,cd /你的数据库文件夹 再次执行更改权限操作
ERROR:The server .. PID file(.pid)
解:把/usr/local/mysql/data的权限更改:chown mysql.mysql *
ERROR:2002,缺少'mysql.sock'文件
解:重新开启mysql服务,会自动生成
还有一个问题:就是mysql服务启动完毕之后,也报ERROR:2002的错误;
解:先检查一遍 cat /etc/my.cnf中是否有指定.sock文件,如果没有则需要指定
利用全局搜索:find /-name '*.sock' 文件
找到生成的mysqld.sock文件位置
在 vi /etc/my.cnf 中把节点修改则可  可直接参考我的配置文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: