iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何实现迁移RDS for MySQL数据到本地 MySQL
  • 279
分享到

如何实现迁移RDS for MySQL数据到本地 MySQL

2024-04-02 19:04:59 279人浏览 安东尼
摘要

不知道大家之前对类似如何实现迁移RDS for Mysql数据到本地 mysql的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完如何实现迁移RDS for Mysq

不知道大家之前对类似如何实现迁移RDS for Mysql数据到本地 mysql的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完如何实现迁移RDS for Mysql数据到本地 MySQL你一定会有所收获的。

首先需要下载跟线上阿里云数据库同样版本的数据库安装包或者说二进制编码包(已编译,可以直接使用)

链接如下:

Http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

解压缩:

root@ubuntu:/data#tar  -xzvf  mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

root@ubuntu:/data# mv  mysql-5.6.36-linux-glibc2.5-x86_64  mysql

root@ubuntu:/data#cd  mysql

root@ubuntu:/data/mysql#

root@ubuntu:/data/mysql# ls  //解压缩出来的文件如下所示,不用源码编译安装,直接使用即可;

bin  COPYING  data  docs  include  lib  man  my.cnf  my-new.cnf  mysql-test  README  scripts  share  sql-bench  support-files

接下来就是解压缩线上数据库的备份文件:

root@ubuntu:/data/mysql#cd  ../

root@ubuntu:/data# tar -xzvf h7351_data_20170804032.tar.gz  -C /data/mariadb/

待得解压缩完成后,恢复数据文件:

首先需要安装innobackupex命令,所以要安装这个包文件:

root@ubuntu:/data#apt-get install percona-xtrabackup

root@ubuntu:/data#innobackupex --defaults-file=./backup-my.cnf --apply-log --ibbackup xtrabackup_56  ./      //必须要加上后面的--ibbackup  xtrabackup_56,我这里是56,因为我的数据库版本是5.6版本的;

最后系统显示 innobackupex: completed OK!,则数据恢复成功。

数据恢复成功之后,修改恢复数据mariadb目录下文件(包含mariadb目录)的属主和属组:

新建mysql用户:

root@ubuntu:/data#useradd  mysql

root@ubuntu:/data# chown -R mysql.mysql mariadb/   //修改解压缩后的数据文件的属主和属组,以级联的方式,把mariadb目录下的所有文件修改属主和属组为mysql

初始化之前需要修改配置文件;

root@ubuntu:~#cd /data/mariadb  //数据库的数据文件解压缩的目录

root@ubuntu:/data/mysql/scripts# cd /data/mariadb/

root@ubuntu:/data/mariadb# vi backup-my.cnf   //我的配置文件如下:

把将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size 注释掉,并且添加 datadir=/data/mariadb


# This MySQL options file was generated by innobackupex.

# The MySQL Server

[mysqld]

innodb_checksum_alGorithm=innodb

#innodb_log_checksum_algorithm=innodb

innodb_data_file_path=ibdata1:200M:autoextend

innodb_log_files_in_group=2

innodb_log_file_size=1572864000

#innodb_fast_checksum=false

#innodb_page_size=16384

#innodb_log_block_size=512

innodb_undo_directory=.

innodb_undo_tablespaces=0

datadir=/data/mariadb

#rds_encrypt_data=false

#innodb_encrypt_algorithm=aes_128_ecb

初始化操作:

进入刚解压的mysql安装的位置/data/mysql

root@ubuntu:~# cd /data/mysql/

root@ubuntu:/data/mysql# ls

bin  COPYING  data  docs  include  lib  man  my.cnf  my-new.cnf  mysql-test  README  scripts  share  sql-bench  support-files

root@ubuntu:/data/mysql# cd scripts/

root@ubuntu:/data/mysql/scripts#

root@ubuntu:/data/mysql/scripts# ./mysql_install_db --user=mysql --datadir=/data/mariadb --basedir=/data/mysql --defaults-file=/data/mariadb/backup-my.cnf   //这里需要指定配置文件,不然它会在初始化的时候去到/etc/目录下查找

出现OK即表示初始化成功;

接下来就是创建快捷方式啦:

root@ubuntu:/data/mariadb# cd /data/mysql/support-files/   //进入mysql安装位置的这个目录

root@ubuntu:/data/mysql/support-files# ls

binary-configure  magic  my-default.cnf  mysqld_multi.server  mysql-log-rotate  mysql.server

root@ubuntu:/data/mysql/support-files# cp mysql.server /etc/init.d/mysqld   //复制启动文件到/etc/init.d/目录下

root@ubuntu:/data/mysql/support-files#vi  /etc/init.d/mysqld  //做一下修改,具体修改的位置如下:

basedir=/data/mysql

datadir=/data/mariadb


修改完成后保存退出,还需要注意一个地方,就是配置文件,如果启动的时候不指定配置文件,那么它就会调用/etc/my.cnf文件,所以需要指定,有两种方法,一种是直接在/etc/init.d/mysqld中修改,如:

  #conf=/etc/my.cnf

  conf=/data/mariadb/backup-my.cnf


另一种方法就是:直接复制解压文件mariadb目录下的backup-my.cnf文件到/etc/my.cnf,如

root@ubuntu:/data/mariadb# cp backup-my.cnf /etc/my.cnf   //这样就可以不用修改/etc/init.d/mysqld文件中的conf

启动mysql:

root@ubuntu:/data/mariadb#/etc/init.d/mysqld start  //未报错,即表示是正常的

root@ubuntu:/data/mariadb#ps aux | grep mysql  //查看是否有mysql进程

root      5706  0.0  0.0   4464  1624 pts/0    S    09:53   0:00 /bin/sh /data/mysql/bin/mysqld_safe --datadir=/data/mariadb --pid-file=/data/mariadb/ubuntu.pid

mysql     5900  0.3  7.2 1572664 586972 pts/0  Sl   09:53   0:08 /data/mysql/bin/mysqld --basedir=/data/mysql --datadir=/data/mariadb --plugin-dir=/data/mysql/lib/plugin --user=mysql --log-error=/data/mariadb/ubuntu.err --pid-file=/data/mariadb/ubuntu.pid

root      6009  0.0  0.0  13464  2124 pts/1    S+   10:29   0:00 grep --color=auto mysql

root@ubuntu:/data/mariadb#


附上阿里云文档上的操作:

操作步骤

本例以本地云服务器为 RHEL6/x64 系统,备份文件存储路径为 /home/mysql/ 为例。

  1. 下载云数据库 物理备份文件 并上传至目标云服务器。备份文件获取方法请参见 下载备份数据。如果目标云服务器可以访问源实例,您也可以使用 wegt "url" 下载备份文件。其中 url 为备份文件下载地址。

  2. 切换路径到备份文件所在路径。

  1. cd /home/mysql/

  1. 解压备份文件。

  1. tar vizxf filename.tar.gz

其中,filename.tar.gz 为备份文件名。

  1. 检查解压后文件包含的数据库是否正确。

  1. cd filename/

  2. ll

系统显示如下,其中 db0dz1rv11f44yg2、mysql 和 test 为云数据库中存在的数据库。

  1. -rw-r--r-- 1 root root       269 Aug 19 18:15 backup-my.cnf

  2. drwxr-xr-x 2 root root      4096 Aug 21 10:31 db0dz1rv11f44yg2

  3. -rw-rw---- 1 root root 209715200 Aug  7 10:44 ibdata1

  4. drwxr-xr-x 2 root root      4096 Aug 21 10:31 mysql

  5. drwxr-xr-x 2 root root      4096 Aug 21 10:31 test

  6. -rw-r--r-- 1 root root        10 Aug 19 18:15 xtrabackup_binary

  7. -rw-r--r-- 1 root root        23 Aug 19 18:15 xtrabackup_binlog_info

  8. -rw-r--r-- 1 root root        77 Aug 19 18:15 xtrabackup_checkpoints

  9. -rw-r--r-- 1 root root      2560 Aug 19 18:15 xtrabackup_logfile

  10. -rw-r--r-- 1 root root        72 Aug 19 18:15 xtrabackup_slave_info

  1. 恢复数据文件。

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

系统显示 innobackupex: completed OK!,则数据恢复成功。

  1. 修改配置文件。将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size 注释掉,并且添加 datadir=/home/mysql,如下所示。

  1. # This MySQL options file was generated by innobackupex-1.5.1.

  2. # The MySQL Server

  3. [mysqld]

  4. innodb_data_file_path=ibdata1:200M:autoextend

  5. innodb_log_files_in_group=2

  6. innodb_log_file_size=524288000

  7. #innodb_fast_checksum=0

  8. #innodb_page_size=16364

  9. #innodb_log_block_size=512

  10. datadir=/home/mysql/

  1. 重装 MySQL 系统库,取得数据库的 root 权限。

  1. rm -rf mysql

  2. mysql_install_db --user=mysql --datadir=/home/mysql/

系统显示如下,则 mysql 系统库重装成功。

  1. Installing MySQL system table...

  2. OK

  3. Filling help table...

  4. OK

  1. 修改文件属主。

  1. chown -R mysql:mysql /home/mysql/

  1. 启动 mysqld 进程。

  1. mysqld_safe --defaults-file=/home/mysql/backup-my.cnf &

  1. 使用客户端登录数据库。

  1. mysql –u root –p

  1. 验证数据库是否完整。

  1. show databases;

系统显示入选,则数据库恢复成功。

  1. +--------------------+

  2. | Database           |

  3. +--------------------+

  4. | infORMation_schema |

  5. | db0dz1rv11f44yg2   |

  6. | mysql              |

  7. | performance_schema |

  8. | test               |

  9. +--------------------+

利用逻辑备份文件导出

本例以本地云服务器为 RHEL6/x64 系统,备份文件存储路径为 /home/mysql/ 为例。

操作步骤

  1. 下载云数据库 逻辑备份文件 并上传至目标云服务器。备份文件获取方法请参见 下载备份数据。如果目标云服务器可以访问源实例,您也可以使用 wegt "url" 下载备份文件。其中 url 为备份文件下载地址。

  2. 切换路径到备份文件所在路径。

  1. cd /home/mysql/

  1. 解压备份文件。

  1. tar vizxf filename.tar.gz

其中,filename.tar.gz 为备份文件名。

  1. 解压 sql 压缩文件。

  1. gunzip filename.sql.gz

其中,filename.sql.gz 为 sql 压缩文件名。

  1. 执行逻辑导入操作,将数据导入目标数据库。

  1. mysql -u userName -p -h hostName -P port dbName < filename.sql

其中,filename.sql 为解压后的 sql 文件。

看完如何实现迁移RDS for MySQL数据到本地 MySQL这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的数据库板块。 

您可能感兴趣的文档:

--结束END--

本文标题: 如何实现迁移RDS for MySQL数据到本地 MySQL

本文链接: https://www.lsjlt.com/news/36337.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 阿里云RDS数据库迁移到本地MySQL
    简介 阿里云RDS(Relational Database Service)是一种托管式数据库服务,提供了高可用性、可扩展性和安全性的数据库解决方案。然而,有时候我们可能需要将RDS数据库迁移到本地MySQL服务器上,以满足特定的需求或降低...
    99+
    2024-01-29
    阿里 数据库 RDS
  • Mysql如何实现数据迁移
    这篇文章将为大家详细讲解有关Mysql如何实现数据迁移,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL迁移通常使用的有三种方法:1、数据库直接导出,拷贝文件到新服...
    99+
    2024-04-02
  • sqlite如何迁移到mysql脚本
    这篇文章主要介绍了sqlite如何迁移到mysql脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。,具体代码如下所示:#! /u...
    99+
    2024-04-02
  • 从 MySQL迁移数据到Oracle
    从 MySQL 迁移数据到 Oracle 中的全过程 zhengqingya 22019.12.26 16:53:14字数 911阅读 480 一、前言 这里记录一次将MySQL数据库中的表数...
    99+
    2024-01-21
    mysql 数据库 中间件 centos
  • 数据库SQL Azure如何迁移到本地SQL Server
    这篇文章主要介绍了数据库SQL Azure如何迁移到本地SQL Server,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • 如何实现MySQL数据库的无缝迁移
    这篇文章主要介绍如何实现MySQL数据库的无缝迁移,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL数据库的无缝迁移问题?问:在平时的开始过程中,由于经常“需求理解,架构设计,...
    99+
    2024-04-02
  • GoldenGate从oracle迁移数据到mysql
      1       软件简介 安装时应该选择最为稳定的安装版本,现在官方发布的版本主要为: Oracle G...
    99+
    2024-04-02
  • 云服务器数据迁移到本地
    云服务器数据迁移到本地可以采取以下步骤: 确认需要迁移的数据所在的位置:云服务器的数据应该存储在本地数据存储中心(如AWS和Google Cloud)中。您需要确定所需的数据类型和大小,以及迁移所需的时间。 配置云服务器:确定您要迁移到...
    99+
    2023-10-27
    服务器 数据
  • 如何将本地数据库备份到阿里云实现数据迁移和异地灾备
    在现代信息技术时代,数据安全和备份是企业的重要需求之一。本文将介绍如何将本地数据库备份到阿里云,以实现数据迁移和异地灾备。我们将探讨备份过程中的步骤和技术,并提供一些实际案例来帮助读者更好地理解和应用。详细说明:1. 准备工作在将本地数据...
    99+
    2024-01-18
    阿里 异地 如何将
  • 如何快速迁移MySQL数据
    本篇内容主要讲解“如何快速迁移MySQL数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速迁移MySQL数据”吧! 我们通常...
    99+
    2023-02-02
    mysql
  • 如何迁移MySQL 5.7数据库
    这篇文章主要介绍如何迁移MySQL 5.7数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在源库用mysqldump备份数据库:mysqldump -uroot -p --def...
    99+
    2024-04-02
  • MySQL到DB2: 如何实现数据迁移和转化的自动化?
    MySQL到DB2: 如何实现数据迁移和转化的自动化?引言:随着信息技术的不断发展,许多企业需要将数据库从一个平台迁移到另一个平台。本文将重点介绍如何实现MySQL到DB2的数据库迁移和数据转化的自动化过程。一、方案选择和准备:在开始自动化...
    99+
    2023-10-22
    数据迁移 DB 关键词:MySQL
  • 如何实现oracle数据迁移到db2数据库
    这篇文章将为大家详细讲解有关如何实现oracle数据迁移到db2数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、表结构迁移在plsql中选择表----->d...
    99+
    2024-04-02
  • mysql实现迁移数据库到另一台服务器
    目录mysql迁移数据库到另一台服务器在两个服务器之间迁移mysql数据库第一步 - 执行MySQL转储第二步 - 复​​制数据库第三步 - 导入数据库mysql迁移数据库到另一台服...
    99+
    2024-04-02
  • 【数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践
    在之前这一篇中我们分享过使用chameleon工具完成MySQL到openGauss的全量数据复制、实时在线复制。9.30新发布的openGauss 3.1.0版本 ,工具的全量迁移和增量迁移的性能不但有了全面提升,而且支持数据库对象视图、...
    99+
    2023-08-17
    数据库 mysql bash 云原生
  • oracle上的数据怎么迁移到到mysql
    这篇文章主要介绍“oracle上的数据怎么迁移到到mysql”,在日常操作中,相信很多人在oracle上的数据怎么迁移到到mysql问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Mysql存储过程如何实现历史数据迁移
    目录Mysql迁移历史数据需求陈述心路历程最终实现总结Mysql迁移历史数据 记录一下工作中由于业务需要以及系统的数据库模型变更,导致需要做一下历史数据迁移的解决办法 需求陈述 一共...
    99+
    2023-01-28
    Mysql存储过程 Mysql历史数据迁移 Mysql数据迁移
  • Django数据怎么从sqlite迁移数据到MySQL
    Django数据怎么从sqlite迁移数据到MySQL,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。昨天快速搭建了一套自己的知识库。感觉一下子有了很多的事情要做...
    99+
    2023-06-04
  • mysql迁移数据库到阿里云数据库
    简介 随着云计算的发展,越来越多的企业开始将传统数据库迁移到云端。阿里云数据库作为国内领先的云数据库服务提供商,提供了丰富的迁移方案,使得MySQL数据库迁移到阿里云数据库变得简单和高效。本文将介绍如何进行MySQL迁移数据库到阿里云数据库...
    99+
    2024-01-17
    数据库 阿里 mysql
  • 数据库迁移之mysql到达梦数据库
    1 背景介绍 由于业务需求要求数据库国产化,因此将数据从mysql数据库中迁移到国产达梦数据库中。将mysql中的每个库迁移到达梦不同模式下,下面为详细过程。 2 具体步骤 (1)安装达梦客户端工具 (2)点击选择DM管理工具 (3)创建...
    99+
    2023-08-20
    数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作