这个问题已经困扰很久了,终于解决了,把过程写下来,可能仅仅方便自己记录
1、要有个Linux操作系统,我使用的是CentOs 7
2、在阿里云的rds中下载备份文件,hins开头的tar.gz文件。
3、开始centos的操作
yum upgrade
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm && yum -y install mysql-server mysql
下载解压工具
wget http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh
解压数据库
sh rds_backup_extract.sh -f /root/hins*.tar.gz -C /data
修改数据库目录的所属用户
chown mysql:mysql -R /data/
建立mysql启动的配置文件
vim /data/my.cnf
[mysqld]
datadir = /data/
port = 3306
server_id = 3
socket = /data/mysqld.sock
max_allowed_packet=32M
log-error = /data/error.log
default-storage-engine=INNODB
保存
恢复的数据库root账号是没有密码的,为空,启动数据库
/usr/bin/mysqld_safe –-defaults-file=/data/my.cnf &
链接数据库
mysql -h127.0.0.1 –uroot -p
直接回车。。恢复成功了
阿里云的方法 安装XtraBackup
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum install percona-xtrabackup-24
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
清理用户表,阿里云写的也不对啊
delete from mysql.db where user <> 'root' and char_length(user) > 0;
delete from mysql.tables_priv where user <> 'root' and char_length(user) > 0;
flush privileges;
mysql_upgrade
修改配置文件中的sock
文章评论