阿里RDS数据库 全量备份恢复到本地MYSQL

1.首先下载RDS的全量备份

 

下载完成后上传到服务器备用
 
2.安装MySQL 5.6
首先删除机上其他的MySQL版本
检查系统是否安装其他版本的MYSQL数据
#yum list installed | grep mysql
#yum -y remove mysql-libs.x86_64
 
 
groupadd mysql #添加mysql组
 
useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
 
mkdir -p /home/data/mysql #创建MySQL数据库存放目录
 
chown -R mysql:mysql /home/data/mysql #设置MySQL数据库目录权限
 
下载Linux通用版mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
 
cd /usr/local/src
直接给出下载地址使用wget下载
解压到/usr/local目录,解压即用
 
cd /usr/local/mysql  #进入MySQL目录
 
cp ./support-files/my-defhuge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
 
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加下面一行
 
datadir = /home/data/mysql #添加MySQL数据库路径
 
:wq! #保存退出
 
初始化MySql数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/alidata/mysqldata
执行mysql_install_db命令的时候后面的参数一定要加上,--user代表运行用户,--basedir代表MySql安装目录,--datadir代表数据库数据所在目录,每个人的配置不一样,根据自己的修改一下
 
把Mysql加入系统启动
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 
 
chmod 755 /etc/init.d/mysqld #增加执行权限
 
chkconfig mysqld on #加入开机启动
 
vi /etc/rc.d/init.d/mysqld #编辑
 
basedir = /opt/mysql #MySQL程序安装路径
 
datadir = /home/data/mysql #MySQl数据库存放目录
 
service mysqld start #启动
 
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
 
export PATH=$PATH:/opt/mysql/bin
 
:wq! #保存退出
 
source /etc/profile #生效配置
 
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
 
MySQL密码设置
/usr/local/mysql/bin/mysqladmin -u root -p password "123456"#修改密码
 
service mysqld restart #重启
 
到此,mysql安装完成!
 
3.恢复RDS的全量备份
 
操作系统中已安装数据恢复工具Percona XtraBackup。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。可以从Percona XtraBackup官网下载安装,安装指导请参见官方文档 Percona XtraBackup 2.3、Percona XtraBackup 2.4。https://www.alibabacloud.com/help/zh/doc-detail/26212.htm
 
阿里的文档说5.6及之前版本需要安装Percona XtraBackup 2.3,我自己按下面的方法安装了 innobackupex version 2.4.12 Linux (x86_64) 可以使用
安装如下
先安装依赖 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
 
 
percona-release-0.1-6.noarch.rpm
$ rpm -ivh percona-release-0.1-6.noarch.rpm
 
yum install percona-xtrabackup-24
安装完成
 
mkdir -p /home/data/mysql2  #新建个数据目录用来存放备份导出数据
 
#解压数据
tar zxf hins4538771_data_20180909031616.tar.gz -C  /home/data/mysql2
 
恢复数据文件
cd /home/data/mysql2
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
 
 系统显示innobackupex: completed OK!,则数据恢复成功。
 修改配置文件。将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size注释掉,并且添加 datadir=/home/data/mysql2,如
下所示。
datadir=/home/data/mysql2 这个数据目录官网说要加实际按我的操作可以不加,可以先加上不影响
 
#修改/etc/my.cnf 把数据目录改成 datadir=/home/data/mysql2
#修改启动脚本中的数据目录
vim /etc/rc.d/init.d/mysqld
 
#进入数据目录,开启MySQL
cd  /home/data/mysql2       #进入数据目录
chown mysql.mysql -R *      #加权限
mysqld_safe &                     #启动MySQL
ps -ef | grep mysql              #查看是否有进程
service mysqld restart         #检查重启是否正常
正常的话你已经可以使用RDS的账号密码登录MySQL了
 
修改下MySQL     root 密码
vim /etc/my.cnf
加入 skip-grant-tables
重启mysql
service mysqld restart 
 
登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit

 

登录

 

mysql -u root -h127.0.0.1 -p(password) 

 

#这边的root限制是只有本地能登录,你可以自己添加需要的远程账户

 

grant all on *.* to 'user'@'%' identified by 'password';

 

完成

 

posted @ 2018-10-11 10:24  饭票  阅读(3066)  评论(1编辑  收藏  举报