mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
?
今天,我們講講如何使用源MySQL數(shù)據(jù)庫執(zhí)行數(shù)據(jù)庫遷移到MySQL數(shù)據(jù)庫的目標Amazon RDS的方案,同時由于(源和目標數(shù)據(jù)庫引擎是相同的)——模式結(jié)構(gòu)、數(shù)據(jù)類型和數(shù)據(jù)庫代碼在源和目標數(shù)據(jù)庫之間是兼容的,這意味著這種遷移不需要任何模式轉(zhuǎn)換。
?數(shù)據(jù)庫遷移可以通過多種方式執(zhí)行:可以通過遷移實例的方式,也可以通過DMS進行遷移。這里我們將使用AWS數(shù)據(jù)庫遷移服務(wù)(DMS)執(zhí)行連續(xù)的數(shù)據(jù)復(fù)制遷移,遷移思路如下:
創(chuàng)建目標數(shù)據(jù)庫
設(shè)置網(wǎng)絡(luò)
創(chuàng)建復(fù)制實例
創(chuàng)建源和目標段節(jié)點
配置數(shù)據(jù)庫
創(chuàng)建和運行復(fù)制任務(wù)
1.1
創(chuàng)建目標數(shù)據(jù)庫
在配置AWS DMS之前,需要在提供的AWS帳戶中創(chuàng)建目標數(shù)據(jù)庫。使用AWS關(guān)系數(shù)據(jù)庫服務(wù)(RDS)來執(zhí)行此活動,使得在云中輕松地設(shè)置、操作和擴展關(guān)系數(shù)據(jù)庫。
1.?進入AWS管理控制臺, 從服務(wù)中選擇RDS然后點擊創(chuàng)建數(shù)據(jù)庫
2.?在引擎選項中,選擇MySQL,版本選擇MySQL 5.6.44
? ? ? ?在設(shè)置部分,為新數(shù)據(jù)庫實例配置數(shù)據(jù)庫實例標識符(比如 database-1)、主用戶名(比如 admin)和主密碼。這里密碼設(shè)置為“passwr0d”
? ? ? ?數(shù)據(jù)庫選擇db.m5.large來自標準DB實例類,并保留存儲參數(shù)的默認值。
3.?在可用性與持久性部分,選用缺省值,創(chuàng)建備用實例(使用多AZ部署更加安全)
4.?在連接部分:
在Virtual Private Cloud (VPC),選擇?Generated VPC。
在其它連接配置?-> VPC 安全組,選擇?新建?VPC 安全組,輸入名稱(比如 “DB-SG”)
5.?對于?數(shù)據(jù)庫身份驗證,選擇?密碼身份驗證。
6.?在?其它配置?部分,確保?監(jiān)控?下面的?啟用增強監(jiān)測?不被選中,如下圖所示:
7.?最后,點擊創(chuàng)建數(shù)據(jù)庫按鈕。
1.2
設(shè)置網(wǎng)絡(luò)
? ? ? 由于在遷移的過程中,不使用VPN或AWS直接連接,因此DMS復(fù)制實例將需要通過公共internet連接到源數(shù)據(jù)庫,而通過專用網(wǎng)絡(luò)連接到目標數(shù)據(jù)庫
1.2.1?
創(chuàng)建復(fù)制子網(wǎng)組
使用AWS DMS的先決條件之一是配置一個子網(wǎng)組,該子網(wǎng)組是將由DMS復(fù)制實例使用的子網(wǎng)集合。
1.進入AWS控制臺>服務(wù)>Database Migration Service>子網(wǎng)組,點擊創(chuàng)建子網(wǎng)組按鈕。
2.在創(chuàng)建復(fù)制子網(wǎng)組中輸入以下參數(shù)值:
| 參數(shù) | 值 |
| 名稱 | dms-subnet-group |
| 說明 | Default VPC subnet group |
| VPC | Generated VPC |
| 添加子網(wǎng) | 選擇Generated VPC-public-a,?Generated VPC-public-b |
點擊創(chuàng)建子網(wǎng)
1.2.2
配置安全組
? ? ? 在進行數(shù)據(jù)庫遷移的時候,VPC安全組必須允許從DMS復(fù)制實例到目標RDS數(shù)據(jù)庫的入站流量。
為DMS復(fù)制實例創(chuàng)建一個安全組?
進入AWS控制臺>服務(wù)> EC2 >安全組,點擊創(chuàng)建安全組按鈕。
輸入安全組名稱(例如RI-SG),給它一個描述并為VPC字段選擇生成的VPC。
更新數(shù)據(jù)庫安全組
a) 仍然AWS管理控制臺 > 服務(wù) > EC2 > 安全組屏幕中選擇之前創(chuàng)建的數(shù)據(jù)庫安全組?DB-SG
b) 編輯和更新數(shù)據(jù)庫安全組,以允許來自端口3306上的DMS復(fù)制實例安全組的入站流量
1.3
創(chuàng)建DMS Replication實例
1.3.1
創(chuàng)建AWS DMS Replication實例
? ? ? 在此步驟中,將創(chuàng)建一個AWS數(shù)據(jù)庫遷移服務(wù)復(fù)制實例,這實例啟動源數(shù)據(jù)庫和目標數(shù)據(jù)庫之間的連接,傳輸數(shù)據(jù),并緩存在初始數(shù)據(jù)加載期間源數(shù)據(jù)庫上發(fā)生的任何更改。
(1)在AWS控制臺內(nèi)部,進入服務(wù)->數(shù)據(jù)庫遷移服務(wù)。
(2)點擊復(fù)制實例中的創(chuàng)建復(fù)制實例按鈕。
(3)在“創(chuàng)建復(fù)制實例”屏幕上,使用以下參數(shù)值配置一個新的復(fù)制實例:
| 參數(shù) | 值 |
| 名稱 | replication-instance |
| 描述 | DMS replication instance |
| 實例類 | dms.t2.medium |
| 引擎版本 | dms.t2.medium |
| 分配的存儲空間 (GB) | 50 |
| VPC | Generated VPC |
| 多可用區(qū) | Unchecked |
| 公開訪問 | Checked |
如下圖所示:
在高級安全性和網(wǎng)絡(luò)配置中,請確保選擇前面創(chuàng)建的復(fù)制子網(wǎng)組和復(fù)制實例安全組。
點擊創(chuàng)建按鈕。
? ? ? 創(chuàng)建復(fù)制實例需要花幾分鐘時間,確保狀態(tài)變?yōu)榭捎?#xff0c;再執(zhí)行下面的步驟。
1.4
創(chuàng)建源環(huán)境和目標環(huán)境Endpoints
1.4.1
創(chuàng)建源環(huán)境endpoint
使用下面的參數(shù)去配置endpoint
| 參數(shù) | 值 |
| 終端節(jié)點類型 | Source endpoint |
| 終端節(jié)點標識符 | source-endpoint |
| 源引擎 | mysql |
| 服務(wù)器名稱 | Source Environment –?Database Server IP?from the Event Engine – Team Dashboard |
| 端口 | 3306 |
| 安全套接字層(SSL)模式 | none |
| 用戶名 | wordpress-user |
| 密碼 | wordpress-user |
? ? ? 打開測試端點連接(可選)部分,然后在VPC下拉菜單中選擇生成的VPC并單擊Run Test按鈕來驗證端點配置是否有效。
? ?? ? 測試將運行一分鐘,會在Status列中看到成功消息。單擊Create endpoint按鈕創(chuàng)建端點。
? ? ? 在出現(xiàn)任何錯誤的情況下—確保正確配置了端點參數(shù),并且復(fù)制實例是在檢查了可公開訪問的參數(shù)后創(chuàng)建的。
1.4.2
?創(chuàng)建目標endpoint
? ? ? 重復(fù)所有步驟,以創(chuàng)建具有以下參數(shù)值的目標端點:
| 參數(shù) | 值 |
| 終端節(jié)點類型 | Target endpoint |
| 選擇RDS數(shù)據(jù)庫實例 | checked |
| RDS 實例 | Select your RDS instance from the drop-down |
| 終端節(jié)點標識符 | target-endpoint |
| 目標引擎 | mysql (will be pre-populated) |
| 服務(wù)器名稱 | (leave the the pre-populated value) |
| 端口 | 306 (will be pre-populated) |
| 安全套接字層(SSL)模式 | none |
| 用戶名 | (leave the pre-populated value) |
| 密碼 | Enter password you used when you creating the RDS database |
1.4.3
調(diào)整參數(shù)
? ? ? 在特定于終端的設(shè)置->額外連接屬性復(fù)制-粘貼以下連接參數(shù)
parallelLoadThreads=1; initstmt=SET FOREIGN_KEY_CHECKS=0
? ? ? 如果出現(xiàn)任何錯誤,請確保RDS數(shù)據(jù)庫的VPC安全組允許來自AWS DMS復(fù)制實例安全組(或例如來自整個生成的VPC(10.0.0.0/16))的端口3306上的入站流量。1.4.4在“測試端點連接”(可選)下拉菜單中選擇生成的VPC,然后單擊“運行測試”按鈕,以驗證端點是否有效。
1.4.4
? ? ? 在“測試端點連接”(可選)下拉菜單中選擇生成的VPC,然后單擊“運行測試”按鈕,以驗證端點是否有效。
? ? ? 如果出現(xiàn)任何錯誤,請確保RDS數(shù)據(jù)庫的VPC安全組允許來自AWS DMS復(fù)制實例安全組(或例如來自整個生成的VPC(10.0.0.0/16))的端口3306上的入站流量。
1.5
配置源數(shù)據(jù)庫
1.5.1
使用更改數(shù)據(jù)捕獲(CDC)運行DMS復(fù)制任務(wù)
? ? ? 為了確保數(shù)據(jù)庫遷移的停機時間最小化,我們將使用從源數(shù)據(jù)庫到目標數(shù)據(jù)庫的更改的連續(xù)復(fù)制(也稱為更改數(shù)據(jù)捕獲(Change Data Capture, CDC))。
1.5.2
在源數(shù)據(jù)庫上啟用二進制日志
? ? ? 未了實現(xiàn)從MySQL數(shù)據(jù)庫持續(xù)復(fù)制AWS DMS,需要啟用二進制日志并對源數(shù)據(jù)庫進行配置更改。
? ? ? 修改“wordpress-user”的權(quán)限
(1)登錄到源環(huán)境數(shù)據(jù)庫服務(wù)器
? ? ? 通過Database SSH key(這是個私有.pem密鑰),并使用它連接到數(shù)據(jù)庫服務(wù)器(用戶是centos)。
(2)為 wordpress-user數(shù)據(jù)庫用戶授予額外的特權(quán)
? ? ? ? 在數(shù)據(jù)庫服務(wù)器上運行以下命令:
sudo mysql -u root -p
GRANT REPLICATION CLIENT ON *.* to ‘wordpress-user’;
GRANT REPLICATION SLAVE ON *.* to ‘wordpress-user’;
GRANT SUPER ON *.* to ‘wordpress-user’;
exit
(3)創(chuàng)建一個bin logs目錄,
? ? ? ?在數(shù)據(jù)庫服務(wù)器上運行以下命令:
sudo su – mysql
mkdir /var/lib/mysql/binlogs
exit
(4)修改/etc/my.cnf 文件,
? ? ? ?運行以下程序來編輯文件:
sudo vi /etc/my.cnf
? ? ? ? ?然后在[mysqld]部分添加以下信息:
?server_id=1
log-bin=/var/lib/mysql/binlogs/log
binlog_format=ROW
expire_logs_days=1
binlog_checksum=NONE
binlog_row_image=FULL
log_slave_updates=TRUE
(5)重啟Mysql服務(wù),
? ? ? ?運行以下命令來應(yīng)用更改:
sudo service mysql restart
(6)測試,運行以下命令來應(yīng)用更改:
sudo mysql -u root -p
select variable_value as “BINARY LOGGING STATUS (log-bin) :: “
from information_schema.global_variables where variable_name=’log_bin’;
?select variable_value as “BINARY LOG FORMAT (binlog_format) :: “
from information_schema.global_variables where variable_name=’binlog_format’;
?exit
? ? ? 輸出必須顯示設(shè)置為ON的二進制日志狀態(tài),如下面的屏幕截圖所示:
? ? ? 如果確實如此 – 您可以?退出?SSH 了。如果出現(xiàn)任何問題 – 請檢查?/var/log/mysqld.log?文件中的錯誤信息。
1.6
創(chuàng)建和運行復(fù)制任務(wù)
回到AWS DMS控制臺,進入數(shù)據(jù)庫遷移任務(wù),并單擊Create Task按鈕。
1)在創(chuàng)建數(shù)據(jù)庫遷移任務(wù)屏幕中輸入以下參數(shù)值:
| 參數(shù) | 值 |
| 任務(wù)標識符 | replication-cdc |
| 復(fù)制實例 | replication-instance |
| 源終端節(jié)點 | source-endpoint |
| 目標終端節(jié)點 | target-endpoint |
| 遷移類型 | Migrate existing data and replicate ongoing changes |
| 在創(chuàng)建時啟動任務(wù) | Checked |
2)在任務(wù)設(shè)置面板中輸入以下值(保持其他值為默認值):
| 參數(shù) | 值 |
| 目標表準備模式 | Do nothing |
| 啟用CloudWatch 日志 | Checked |
| 啟用驗證 | Checked |
3)在表映射面板的選擇向?qū)?UI模式中,點擊添加新選擇規(guī)則按鈕,在架構(gòu)下拉列表中選擇wordpress-db。
4)滾動到屏幕底部,單擊創(chuàng)建任務(wù)按鈕創(chuàng)建任務(wù)并開始數(shù)據(jù)復(fù)制即可。
? ? ? 以上介紹了如何將源mysql數(shù)據(jù)庫遷移至Amazon RDS的方案,通過上面的步驟可以完整實現(xiàn)數(shù)據(jù)庫的遷移。這里面除了上面的操作步驟的細節(jié),還有目標環(huán)境的網(wǎng)絡(luò)構(gòu)建,確保目標網(wǎng)絡(luò)至少2個以上的網(wǎng)絡(luò),且有必備的公有子網(wǎng)和私有子網(wǎng),公有子網(wǎng)能與源環(huán)境互通即可。
? ? ? 敏捷云是一家專注為企業(yè)客戶提供AWS云服務(wù)咨詢、遷移、托管運維和解決方案的創(chuàng)新公司,我們擁有豐富的數(shù)據(jù)庫遷移經(jīng)驗,不但幫助客戶安全高效地把數(shù)據(jù)遷移上云,還為企業(yè)優(yōu)化成本,降低運維費用,讓用戶擁有優(yōu)質(zhì)云端應(yīng)用體驗。
文章資料來源AWS官方,由敏捷云編寫
圖片來自網(wǎng)絡(luò),版權(quán)歸原作者所有
侵刪致歉
延伸閱讀:
【AWS ·創(chuàng)新科技】 關(guān)于AWS CDK 構(gòu)建 EKS 平臺
【AWS ·創(chuàng)新科技】當 DR 災(zāi)備遇到 KMS( 二)
【AWS ·創(chuàng)新科技】當 DR 災(zāi)備遇到 KMS(一)
【AWS ·創(chuàng)新科技】AWS CloudFront 根據(jù)客戶端IP做302重定向
【AWS ·創(chuàng)新科技】AWS CloudFront + Lambda@Edge 的切圖方案
【AWS ·創(chuàng)新科技】使用AWS Lambda和Amazon Cloudwatch定時重啟Instance指南
F5的分布式多云活架構(gòu)
F5 的公有云WEB安全與合規(guī)性
Fortinet SD-WAN的優(yōu)勢與應(yīng)用場景
Prisma Cloud落地中國,為本土云安全保駕護航
Prisma Cloud商業(yè)合規(guī)版的功能
【云勢工具】成本追溯功能OptimizeNow重磅推出2.0版
? ? ???深圳敏捷云計算科技有限公司是一家專注于公有云增值服務(wù)的技術(shù)創(chuàng)新型公司,為企業(yè)客戶提供云遷移,培訓(xùn),開發(fā),安全合規(guī)以及運維服務(wù)。
總結(jié)
以上是生活随笔為你收集整理的mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ctf up怎么写 write_??零基
- 下一篇: 数mysql据分析优化_从零开始学习数据