从云端数据库 MySQL恢复备份档案到自建数据库
发布时间:2023-06-20 13:39:57 所属栏目:MySql教程 来源:
导读:前提条件:
本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。
操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本
percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。
操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本
percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
|
前提条件: 本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。 操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本 percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm 是rpm包安装快速 # yum localinstall percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm 操作系统中已安装数据备份文件解压工具rds_backup_extract.sh 操作步骤: 在阿里云RDS管理控制台,在数据备份列表中,找到要下载的数据备份,并单击其对应的下载。 具体操作步骤如下: 执行如下命令,下载数据备份文件 wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz -c:启用断点续传模式。 -O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。 将下载的数据备份恢复到本地MysqL数据库中,具体操作步骤如下: 执行如下命令,解压已下载的数据备份文件。 说明:本文以自定义路径/home/MysqL/data为例,您可以根据实际情况将其替换成实际路径。 1.bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/MysqL/data -f:指定要解压的备份集文件。 C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录 # bash rds_backup_extract.sh -f hins2642811_data_20180227013214.tar.gz -C data 2.执行如下命令,查询解压后生成的文件。 # ls -l data/ 3.执行如下命令,恢复解压好的备份文件。 innobackupex --defaults-file=/home/MysqL/data/backup-my.cnf --apply-log /home/MysqL/data # innobackupex --defaults-file=data/backup-my.cnf --apply-log data 4.为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。 执行如下命令,以文本方式编辑backup-my.cnf文件。 # vi /home/MysqL/data/backup-my.cnf 执行如下命令,注释掉如下参数。 #innodb_fast_checksum #innodb_page_size #innodb_log_block_size 如果报错这两个也注释 # innodb_checksum_algorithm=innodb # innodb_log_checksum_algorithm=innodb # innodb_undo_directory=. # innodb_undo_tablespaces=0 # rds_encrypt_data=false # innodb_encrypt_algorithm=aes_128_ecb 按Esc键,然后输入:wq进行保存并关闭编辑器。 ============================================================= 安装MysqL-server 这个版本是: Server version: 5.1.73 # yum -y install MysqL-server MysqL-develop MysqL 升级MysqL版本: # yum -y remove MysqL-server MysqL-develop MysqL # yum localinstall MysqL-server-5.6.39-1.el6.x86_64.rpm 报错:file /usr/share/MysqL/charsets/dec8.xml from install of MysqL-server-5.6.39-1.el6.x86_64 conflicts with file from package MysqL-libs-5.1.73-8.el6_8.x86_64 看到“conflicts”,是产生冲突了,文件“/usr/share/MysqL/charsets/*” 需要MysqL-server-5.6.19-1.linux_glibc2.5.x86_64版本的,而系统已经存在MysqL-libs-5.1.73-8.el6_8.x86_64版本的! 解决办法: 执行以下命令,删除MysqL-libs-5.1.73-8.el6_8.x86_64: # yum -y remove MysqL-libs-5.1.73* 再执行以下命令安装MysqL: # yum localinstall MysqL-server-5.6.39-1.el6.x86_64.rpm 安装成功了。 # yum -y localinstall MysqL-client-5.6.39-1.el6.x86_64.rpm ============================================================= 5.执行如下命令,修改文件属主,并确定文件所属为MysqL用户。 chown -R MysqL:MysqL /home/MysqL/data # chown -R MysqL:MysqL data 6.执行如下命令,启动MysqL进程。 MysqLd_safe --defaults-file=/home/MysqL/data/backup-my.cnf --user=MysqL --datadir=/home/MysqL/data & # MysqLd_safe --defaults-file=/opt/data/backup-my.cnf --user=MysqL --datadir=/opt/data & 7.执行如下命令,登录MysqL数据库以验证进程启动成功。 MysqL -uroot 8.恢复完成后,表MysqL.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令 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; 9.创建用户: 报错:MysqL> grant all on *.* to xiaoyeyun@"%" identified by "xiaoyeyun"; ERROR 1558 (HY000): Column count of MysqL.user is wrong. Expected 43, found 42. Created with MysqL 50518, Now running 50639. Please use MysqL_upgrade to fix this error. 按照问题描述执行修复: MysqL_upgrade MysqL -h 192.168.1.2 -u xxx -p # MysqL_upgrade MysqL 创建用户成功。 MysqL> grant all on *.* to xiaoyeyun@"%" identified by "xiaoyeyun"; Query OK, 0 rows affected (0.00 sec) MysqL> select user,host from MysqL.user; +-----------+-----------+ | user | host | +-----------+-----------+ | xiaoyeyun | % | | root | 127.0.0.1 | | root | ::1 | | root | localhost | +-----------+-----------+ 4 rows in set (0.00 sec) MysqL> (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
