當前位置:首頁 » 數據倉庫 » rds資料庫遷移
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

rds資料庫遷移

發布時間: 2023-01-22 10:02:21

『壹』 如何將RDS的數據同步到本地自建資料庫

在導入的過程中報錯很多,或者導入一半的過程中中斷了,需要重新來過;
.在遷入RDS過程中,希望我的資料庫還能能正常提供服務;

大量的用戶入雲全部堵在遷移數據上面,用戶與RDS的緣分就差么這臨門一腳。工欲善必先利其器,為了更好的幫助用戶入雲,RDS對現有的用戶入雲遷移方式進行改進,幫助用戶快速穩定遷移入雲,分別為用戶提供了mysql和sqlserver兩套改良遷移工具:
.mysql遷移工具支持在線遷移,用戶可以不中斷業務的情況下把數據遷移到RDS中來;
.sqlserver的遷移工具採用物理備份的方法,將用戶的物理備份上傳到FTP中後還原到RDS,提升遷移的速度;
這兩套工具目前都已經集成到了RDS的控制台中,可以參考:數據遷移至RDS-MySQL之使用阿里雲控制台和 數據遷移至RDS-SQLserveru阿里雲控制台.

很多用戶在控制台上看到的只是一個黑盒子,在工單中多次咨詢遷移的原理,在這里大致講一下這兩個工具的遷移實現:
Mysql在線遷移的原理:

第一步:預檢查,主要是驗證用戶網路的通暢性,賬號和環境的檢查;
第二步:全量備份,該步驟會把用戶的數據全量的mp出一份出來,然後還原到RDS;
第三步:增量遷移,該步驟會解析用戶全量期間以及後續產生的binlog應用到RDS;
第四步:切換,當RDS的數據完全追上用戶的資料庫後,用戶就可以開始進行切換了;

Mysql的在線遷移工具目前還有一些限制,比如:
mysql 5.0隻支持全量遷移,不支持增量遷移;
不支持mysql5.6的遷移;不支持存儲過程,觸發器的遷移;
遷移過程中如果有ddl發生則會導致增量遷移失敗;

『貳』 如何將自建庫遷移到阿里雲RDS

前提條件

已完成 RDS 實例資料庫的准備,可參見申請外網地址和MySQL 5.7高可用版/5.5/5.6創建資料庫和賬號。

操作步驟

本例以有公網 IP 的本地資料庫遷移到 RDS 上為例。

准備本地數據

在正式遷移之前,需要先在本地資料庫和 RDS 實例中創建遷移賬號,並在 RDS 實例中創建要遷移的資料庫,並將要遷移的資料庫的讀寫許可權授權給遷移賬號。不同的遷移類型需要不同的許可權,如下表所示。

遷移類型

結構遷移

全量遷移

增量遷移

本地資料庫 select select select replication slave replication client

RDS 實例 讀寫許可權 讀寫許可權 讀寫許可權

  • 在本地資料庫中創建遷移賬號。

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    參數說明:

    例:要創建賬號為William,密碼為Changme123的賬號從任意主機登錄本地資料庫,命令如下:

    CREATE USER 'William'@'%' IDENTIFIED BY 'Changme123';
  • username:要創建的賬號

  • host:指定該賬號登錄資料庫的主機。如果是本地用戶可以使用localhost,如果想讓該用戶從任意主機登錄,可以使用通配符%

  • password:該賬號的登錄密碼

  • 在本地資料庫中給遷移賬號授權,本地資料庫中遷移賬號的許可權要求請參見上表。

    GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

    參數說明:

    例:授權賬號William對所有資料庫和表的所有許可權,並可以從任意主機登錄本地資料庫,命令如下:

    GRANT ALL ON *.* TO 'William'@'%';

    說明

    如果需要進行增量遷移,那麼需要確認本地資料庫的 binlog 是否開啟並正確設置,執行以下步驟。

  • privileges:該賬號的操作許可權,如 SELECT、INSERT、UPDATE 等。如果要授權該賬號所有許可權,則使用ALL

  • databasename:資料庫名。如果要授權該賬號所有的資料庫許可權,則使用通配符*

  • tablename:表名。如果要授權該賬號所有的表許可權,則使用通配符*

  • username:要授權的賬號名

  • host:授權登錄資料庫的主機名。如果是本地用戶可以使用localhost,如果想讓該用戶從任意主機登錄,可以使用通配符%

  • WITH GRANT OPTION:授權該賬號能使用GRANT命令,該參數為可選

  • 開啟本地資料庫的 binlog。

    使用如下命令查詢是否開啟了binlog。

    show global variables like "log_bin";

    如果查詢結果為 log_bin=OFF,那麼本地資料庫沒有開啟 binlog。為了使遷移過程中產生的增量數據能同步遷移,需要修改配置文件my.cnf中的如下參數。

    log_bin=mysql_binbinlog_format=rowserver_id=大於 1 的整數binlog_row_image=full //當本地 MySQL 版本大於 5.6 時,則需設置該項
  • 修改完成後,重啟 MySQL 進程。

    $mysql_dir/bin/mysqladmin -u root -p shutdown$mysql_dir/bin/safe_mysqld &

    其中,「mysql_dir」為MySQL安裝目錄。

  • 正式遷移操作
  • 數據准備完畢後,即可進入正式的遷移操作。

  • 在RDS 管理控制台上單擊遷移資料庫,進入DTS,如下圖所示。



  • 後續操作

    因遷移賬號擁有讀寫許可權,為了保證本地資料庫安全,請在數據遷移完成後,刪除本地資料庫和 RDS 實例中的遷移賬號

『叄』 如何將阿里雲的mysql(RDS)數據備份到本地

本例以本地伺服器為 RHEL6/x64 系統,備份文件存儲路徑為/home/mysql/為例。

  • 下載雲資料庫物理備份文件並上傳至目標伺服器。備份文件獲取方法請參見下載備份數據。如果目標伺服器可以訪問源實例,您也可以使用wget "url"下載備份文件。其中url為備份文件下載地址。

  • 切換路徑到備份文件所在路徑。


  • cd /home/mysql/

  • 解壓備份文件。


    其中,filename.tar.gz為備份文件名。

  • tar vizxf filename.tar.gz

  • 檢查解壓後文件包含的資料庫是否正確。


    系統顯示如下,其中db0dz1rv11f44yg2、mysql和test為雲資料庫中存在的資料庫。


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

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

  • -rw-rw---- 1 root root 209715200 Aug 7 10:44 ibdata1

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

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

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

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

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

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

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

  • cd filename/

  • ll

  • 恢復數據文件。


    系統顯示innobackupex: completed OK!,則數據恢復成功。

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

  • 修改配置文件。將解壓文件backup-my.cnf中的innodb_fast_checksum、innodb_page_size、innodb_log_block_size注釋掉,並且添加datadir=/home/mysql,如下所示。


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

  • # The MySQL Server

  • [mysqld]

  • innodb_data_file_path=ibdata1:200M:autoextend

  • innodb_log_files_in_group=2

  • innodb_log_file_size=524288000

  • #innodb_fast_checksum=0

  • #innodb_page_size=16364

  • #innodb_log_block_size=512

  • datadir=/home/mysql/

  • 重裝 MySQL 系統庫,取得資料庫的 root 許可權。


    系統顯示如下,則 mysql 系統庫重裝成功。


  • Installing MySQL system table...

  • OK

  • Filling help table...

  • OK

  • rm -rf mysql

  • mysql_install_db --user=mysql --datadir=/home/mysql/

  • 修改文件屬主。


  • chown -R mysql:mysql /home/mysql/

  • 啟動 mysqld 進程。


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

  • 使用客戶端登錄資料庫。


  • mysql –u root –p

  • 驗證資料庫是否完整。


    系統顯示入選,則資料庫恢復成功。


  • +--------------------+

  • | Database |

  • +--------------------+

  • | information_schema |

  • | db0dz1rv11f44yg2 |

  • | mysql |

  • | performance_schema |

  • | test |

  • +--------------------+

  • show databases;

『肆』 華為雲資料庫 rds 如何上傳自己現有資料庫

您可以使用數據服務服務(DRS)將
本地資料庫
遷移至華為雲RDS.
另外如果熟悉一些基本操作,可以針對已有資料庫【MySQL】,編碼確認OK且考慮到版本兼容性都OK的情況下,可以直接將原有資料庫導出
數據文件
,然後在RDS上創建資料庫,導入
資料庫文件
。最後配置好鏈接相關信息即可。
關於實例連接,可參考:實例連接方式介紹

『伍』 雲資料庫RDS是什麼

雲數據RDS是關系型資料庫服務(Relational Database Service)的簡稱,是一種即開即用、穩定可靠、可彈性伸縮的在線資料庫服務。具有多重安全防護措施和完善的性能監控體系,並提供專業的資料庫備份、恢復及優化方案,使您能專注於應用開發和業務發展。

關系模型就是指二維表格模型,因而一個關系型資料庫就是由二維表及其之間的聯系組成的一個數據組織。 當前主流的關系型資料庫有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL等。

雲關系型資料庫(RDS)是一種穩定可靠、可彈性伸縮的在線資料庫服務,支持MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度兼容Oracle資料庫)、MariaDB等引擎,並且提供了容災、備份、恢復、監控、遷移等方面的全套解決方案。

雲資料庫的特性有:實例創建快速、支持只讀實例、讀寫分離、故障自動切換、數據備份、Binlog備份、SQL審計、訪問白名單、監控與消息通知等。

(5)rds資料庫遷移擴展閱讀:

雲資料庫RDS優勢

1、輕松部署。用戶能夠在RDS控制台輕松的完成資料庫申請和創建,RDS實例在幾分鍾內就可以准備就緒並投入使用。用戶通過RDS提供的功能完善的控制台,對所有實例進行統一管理。

2、高可靠。雲資料庫具有故障自動單點切換、資料庫自動備份等功能,保證實例高可用和數據安全。免費提供7天數據備份,可恢復或回滾至7天內任意備份點。

3、低成本。DS支付的費用遠低於自建資料庫所需的成本,用戶可以根據自己的需求選擇不同套餐,使用很低的價格得到一整套專業的資料庫支持服務。

『陸』 請教如何將阿里雲伺服器上mysql資料庫遷入阿里雲RDS資料庫內

安裝一個phpmyadmin的資料庫管理軟體,導出sql腳本,然後登錄RDS管理面板,導入或執行SQL腳本即可,記住使用推薦碼 TZ2DHZ 新開ECS或RDS是可以打9.0折的。