linux 阿里云RDS数据库恢复到本地

葫芦的运维日志

下一篇 搜索 上一篇

浏览量 204

2021/01/14 14:54


下载mysql源码包,创建mysql用户

wget --user=* --password=* http://*/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql
getent passwd mysql

创建my.cnf配置文件

[root@cmst-mysql opt]# cat  /etc/my.cnf
[mysqld]
skip-name-resolve
basedir=/usr/local/mysql               #新添加的,用于mysql初始化的时候去找相应的lib库等等。
character_set_server=utf8
datadir=/data/mysql         #原配置修改的,存放数据的目录
socket=/tmp/mysql.sock     #原配置修改的,mysql的sock文件
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

下载阿里云备份压缩文件

 nohup wget -c 'https://rdsbak-shanghai-v2.oss-cn-shanghai.aliyuncs.com/**/***' -O mysql.tar.gz  &
mv mysql.tar.gz /data/alimysql
tar zxvf mysql.tar.gz

安装备份还原工具

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
yum install -y percona-xtrabackup-24.x86_64

恢复数据库

innobackupex --defaults-file=/data/alimysql/my.cnf --apply-log /data/alimysql/

innobackupex --defaults-file=/etc/my.cnf --copy-back /data/alimysql

拉起mysql

[root@cmst-mysql support-files]# pwd
/usr/local/mysql/support-files

cp mysql.server /etc/init.d/mysqld

chown –R mysql.mysql /data/mysql

service mysqld start

[root@cmst-mysql support-files]# cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

export PATH

登陆验证

mysql -u***** -p****

show databases;

问题: 因为 RDS 的物理备份恢复后,打不开存储过程函数。

解决: mysql.event、mysql.func、mysql.proc 这些表都是 innodb 引擎的,改成 myisam 就正常了。 

葫芦的运维日志

打赏

上一篇 搜索 下一篇
© 冰糖葫芦甜(bthlt.com) 2021 王梓打赏联系方式 陕ICP备17005322号