阿里云mysql数据库备份还原

1、下载备份

  在rds的备份恢复中点击下载,在弹出的窗口中复制内网下载地址(前提是目标服务器与rds内网互通,否则请复制外网地址)

  在目标服务器中执行如下命令进行下载:

    wget -c '复制的地址' -O mysql-bin.001150.tar.gz

        -c 参数使 wget 工具在连接中断的时候尝试断点续传。

        -O 参数将下载的结果保存为指定的文件(建议使用 URL 中包含的文件名)。

2、解压备份文件

  bash rds_backup_extract.sh -f /opt/project/xxxxx.tar.gz -C /home/data

    rds_backup_extract.sh 可在阿里云中下载,也可在通过http://url.cn/4BtvG4t下载

    /opt/project/xxxxx' .tar.gz 为下载的数据库包路径,/home/data为要解压到的文件夹

3、安装Percona-XtraBackup 工具

       Percona-XtraBackup安装,下载地址为:https://www.percona.com/downloads/XtraBackup/

        

      也可以通过http://url.cn/4Btvndw进行下载

      下载好rpm包后执行rpm -ivh percona-xtrabackup-2.2.3-4982.el6.x86_64.rpm进行安装

      出现错误的话要安装好依赖包

        yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

3、 恢复数据文件

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

4、修改配置文件

      对恢复后的backup-my.cnf配置文件进行一些修改

[mysqld]

#datadir为恢复的目录

datadir=/home/data
innodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000
innodb_undo_directory=.
innodb_undo_tablespaces=0
max_connections=1000
innodb_file_per_table = on
skip_name_resolve = on

symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf8
init_connect='SET NAMES utf8'

5、 启动mysql服务

mysqld_safe --defaults-file=/home/data/backup-my.cnf --user=root --datadir=/home/data &

--defaults-file表示mysql初始化文件,第三步中--defaults-file设置的文件地址

--user 表示启动mysql服务时使用的系统用户,不是mysql数据库用户

--datadir表示数据库存在的路径,对应解压缩的数据库路径

&表示以后台进程的方式运行命令

6、 初始化还原库

    一些密码初始化和授权的操作可参考 yum安装mysql数据库中的4、5步

    可能出现的问题:

       1、初始化数据库密码出问题

          可尝试以下初始化操作

            mysql -u root

            mysql> use mysql;

            mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

            mysql> FLUSH PRIVILEGES;

       2、Column count of mysql.user is wrong

               这能是当前mysql版本和需要恢复数据的mysql版本不一致导致的

            解决方法:mysql_upgrade –u root –p '密码'

总结:

     此种方式阿里云物理备份的还原方式,为整库还原,比较麻烦且耗时。

     如无特别需要,也可通过逻辑备份进行还原

      下载逻辑备份文件通过解压可得到还原的sql文件,如(platform.sql),然后执行

        mysql -u root -p platformdb_back < ./platform.sql  

          -- platformdb_back为还原的目标数据库

        还原后如需对数据库备份可以使用

        mysqldump -u root -p platformdb_back > platform.sql

        

 

 

posted @ 2017-07-15 19:41  一曲秋殇  阅读(4148)  评论(0编辑  收藏  举报