① 如何將自建庫遷移到阿里雲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 實例中的遷移賬號
② 如何將阿里雲的資料庫備份RDS文件在本地恢復
打開騰訊手機管家-更多-微雲網盤
進入微雲界面後我們會發現微雲界面有三種不版同的權功能選項,分別是網盤相冊和傳輸三種功能。 進入到微雲網盤中用Q登陸,我們能上傳我們的資料等,下次可以在別處用Q登陸微雲根據不同需求進行不同的選擇和使用,能很好的保護我們的資料
③ 如何將RDS的數據同步到本地自建資料庫
用戶在購買完RDS後,接下來就可以開始往RDS遷入數據了。在RDS剛剛對外提供服務的時候,用戶只能通過將自己的資料庫mp成為sql文件,然後再將sql文件source到RDS中去:數據遷移至RDS-MySQL之使用MySQLmp工具,數據遷移至RDS-SQLserver之利用SQL Server客戶端工具,這兩種方法是最簡單的方法,但是局限性也非常的多:
.用戶的資料庫太大了,邏輯sql導入的方式速度太慢了,嚴重影響停機時間;
.在導入的過程中報錯很多,或者導入一半的過程中中斷了,需要重新來過;
.在遷入RDS過程中,希望我的資料庫還能能正常提供服務;
大量的用戶入雲全部堵在遷移數據上面,用戶與RDS的緣分就差么這臨門一腳。工欲善必先利其器,為了更好的幫助用戶入雲,RDS對現有的用戶入雲遷移方式進行改進,幫助用戶快速穩定遷移入雲,分別為用戶提供了mysql和sqlserver兩套改良遷移工具:
.mysql遷移工具支持在線遷移,用戶可以不中斷業務的情況下把數據遷移到RDS中來;
.sqlserver的遷移工具採用物理備份的方法,將用戶的物理備份上傳到FTP中後還原到RDS,提升遷移的速度;
這兩套工具目前都已經集成到了RDS的控制台中,可以參考:數據遷移至RDS-MySQL之使用阿里雲控制台和數據遷移至RDS-SQLserveru阿里雲控制台.
很多用戶在控制台上看到的只是一個黑盒子,在工單中多次咨詢遷移的原理,在這里大致講一下這兩個工具的遷移實現:
Mysql在線遷移的原理:
第一步:備份用戶對本地資料庫進行物理備份;
第二步:備份上傳至RDS提供的ftp伺服器上(ftp地址支持私網和公網上傳);
第三步:RDS掃描校驗用戶上傳備份文件通過後,恢復至用戶RDS;
第四步:用戶切換應用至RDS;
由於sqlserver目前還沒有開放日誌介面,所以RDS目前還不能支持在線遷移;
RDS目前不支持master庫的導入。
希望這篇文章對你使用RDS有幫助。
④ 如何遷移騰訊雲伺服器自建資料庫到雲資料庫
第一,根據自建資料庫的數據量、MySQL版本以及訪問量等信息申請對應的雲資料庫實例,申請雲資料庫實例完成後,聯系雲資料庫的騰訊雲技術人員調整雲資料庫和雲伺服器之間的網路配置。
第二,遷移資料庫:
1、使用mysqlmp導出自建資料庫的數據,注意記錄binlog的文件和位置(如需幫助請咨詢雲資料庫技術人員寬液),然後使用mysql命令導入至對應的雲資料庫岩薯實例中。推薦使用雲資料庫多線程導入導出工具。
2、在自建資料庫上給雲資料庫的同步用戶授權,授權語句範例如下:
GRANT REPLICATION SLAVE,FILE ON *.* TO 'replication'@'%' IDENTIFIED BY 'test123';
3、在導入數據後根據備份的binlog位置和binlog文件使用change master命令配置從自建資料庫到雲數粗巧者據庫的主從同步。範例如下:
CHANGE MASTER TO MASTER_HOST='10.1.1.10',MASTER_USER='replication',MASTER_PASSWORD='test123',MASTER_LOG_FILE='mysql-bin.000012', MASTER_LOG_POS=106;
第三,遷移後數據校驗:數據同步完成之後,可以使用數據抽樣、對比表數量、庫數量或者使用專業的對比工具確認數據是否完整。
第四,業務切換資料庫:校驗數據完整後,請選擇適當時間來做業務的平滑切換,將業務連接的資料庫切換至雲資料庫,切換後請務必檢查自建資料庫是否還有請求進來,避免出現還有請求連接到自建資料庫的情況。
第五,斷開自建資料庫和雲資料庫主從同步:
1、切換後業務正常後,業務側在雲資料庫上執行如下命令斷開自建資料庫到雲資料庫的主從同步。
2、斷開主從同步後通知雲資料庫的技術人員恢復之前調整的網路。
⑤ 如何將阿里雲的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;