您好,登錄后才能下訂單哦!
不知道大家之前對類似如何實(shí)現(xiàn)遷移RDS for MySQL數(shù)據(jù)到本地 MySQL的文章有無了解,今天我在這里給大家再簡單的講講。感興趣的話就一起來看看正文部分吧,相信看完如何實(shí)現(xiàn)遷移RDS for MySQL數(shù)據(jù)到本地 MySQL你一定會有所收獲的。
首先需要下載跟線上阿里云的數(shù)據(jù)庫同樣版本的數(shù)據(jù)庫安裝包或者說二進(jìn)制編碼包(已編譯,可以直接使用)
鏈接如下:
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
接下來就是解壓縮線上數(shù)據(jù)庫的備份文件:
root@ubuntu:/data/mysql#cd ../
root@ubuntu:/data# tar -xzvf h7351_data_20170804032.tar.gz -C /data/mariadb/
待得解壓縮完成后,恢復(fù)數(shù)據(jù)文件:
首先需要安裝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,因?yàn)槲业臄?shù)據(jù)庫版本是5.6版本的;
最后系統(tǒng)顯示 innobackupex: completed OK!,則數(shù)據(jù)恢復(fù)成功。
數(shù)據(jù)恢復(fù)成功之后,修改恢復(fù)數(shù)據(jù)mariadb目錄下文件(包含mariadb目錄)的屬主和屬組:
新建mysql用戶:
root@ubuntu:/data#useradd mysql
root@ubuntu:/data# chown -R mysql.mysql mariadb/ //修改解壓縮后的數(shù)據(jù)文件的屬主和屬組,以級聯(lián)的方式,把mariadb目錄下的所有文件修改屬主和屬組為mysql
初始化之前需要修改配置文件;
root@ubuntu:~#cd /data/mariadb //數(shù)據(jù)庫的數(shù)據(jù)文件解壓縮的目錄
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
初始化操作:
進(jìn)入剛解壓的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 //這里需要指定配置文件,不然它會在初始化的時(shí)候去到/etc/目錄下查找
出現(xiàn)OK即表示初始化成功;
接下來就是創(chuàng)建快捷方式啦:
root@ubuntu:/data/mariadb# cd /data/mysql/support-files/ //進(jìn)入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 //復(fù)制啟動文件到/etc/init.d/目錄下
root@ubuntu:/data/mysql/support-files#vi /etc/init.d/mysqld //做一下修改,具體修改的位置如下:
basedir=/data/mysql
datadir=/data/mariadb
修改完成后保存退出,還需要注意一個地方,就是配置文件,如果啟動的時(shí)候不指定配置文件,那么它就會調(diào)用/etc/my.cnf文件,所以需要指定,有兩種方法,一種是直接在/etc/init.d/mysqld中修改,如:
#conf=/etc/my.cnf
conf=/data/mariadb/backup-my.cnf
另一種方法就是:直接復(fù)制解壓文件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 //未報(bào)錯,即表示是正常的
root@ubuntu:/data/mariadb#ps aux | grep mysql //查看是否有mysql進(jìn)程
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#
附上阿里云文檔上的操作:
操作步驟
本例以本地云服務(wù)器為 RHEL6/x64 系統(tǒng),備份文件存儲路徑為 /home/mysql/ 為例。
下載云數(shù)據(jù)庫 物理備份文件 并上傳至目標(biāo)云服務(wù)器。備份文件獲取方法請參見 下載備份數(shù)據(jù)。如果目標(biāo)云服務(wù)器可以訪問源實(shí)例,您也可以使用 wegt "url" 下載備份文件。其中 url 為備份文件下載地址。
切換路徑到備份文件所在路徑。
cd /home/mysql/
解壓備份文件。
tar vizxf filename.tar.gz
其中,filename.tar.gz 為備份文件名。
檢查解壓后文件包含的數(shù)據(jù)庫是否正確。
cd filename/
ll
系統(tǒng)顯示如下,其中 db0dz1rv11f44yg2、mysql 和 test 為云數(shù)據(jù)庫中存在的數(shù)據(jù)庫。
-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
恢復(fù)數(shù)據(jù)文件。
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
系統(tǒng)顯示 innobackupex: completed OK!,則數(shù)據(jù)恢復(fù)成功。
修改配置文件。將解壓文件 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 系統(tǒng)庫,取得數(shù)據(jù)庫的 root 權(quán)限。
rm -rf mysql
mysql_install_db --user=mysql --datadir=/home/mysql/
系統(tǒng)顯示如下,則 mysql 系統(tǒng)庫重裝成功。
Installing MySQL system table...
OK
Filling help table...
OK
修改文件屬主。
chown -R mysql:mysql /home/mysql/
啟動 mysqld 進(jìn)程。
mysqld_safe --defaults-file=/home/mysql/backup-my.cnf &
使用客戶端登錄數(shù)據(jù)庫。
mysql –u root –p
驗(yàn)證數(shù)據(jù)庫是否完整。
show databases;
系統(tǒng)顯示入選,則數(shù)據(jù)庫恢復(fù)成功。
+--------------------+
| Database |
+--------------------+
| information_schema |
| db0dz1rv11f44yg2 |
| mysql |
| performance_schema |
| test |
+--------------------+
利用邏輯備份文件導(dǎo)出
本例以本地云服務(wù)器為 RHEL6/x64 系統(tǒng),備份文件存儲路徑為 /home/mysql/ 為例。
操作步驟
下載云數(shù)據(jù)庫 邏輯備份文件 并上傳至目標(biāo)云服務(wù)器。備份文件獲取方法請參見 下載備份數(shù)據(jù)。如果目標(biāo)云服務(wù)器可以訪問源實(shí)例,您也可以使用 wegt "url" 下載備份文件。其中 url 為備份文件下載地址。
切換路徑到備份文件所在路徑。
cd /home/mysql/
解壓備份文件。
tar vizxf filename.tar.gz
其中,filename.tar.gz 為備份文件名。
解壓 sql 壓縮文件。
gunzip filename.sql.gz
其中,filename.sql.gz 為 sql 壓縮文件名。
執(zhí)行邏輯導(dǎo)入操作,將數(shù)據(jù)導(dǎo)入目標(biāo)數(shù)據(jù)庫。
mysql -u userName -p -h hostName -P port dbName < filename.sql
其中,filename.sql 為解壓后的 sql 文件。
看完如何實(shí)現(xiàn)遷移RDS for MySQL數(shù)據(jù)到本地 MySQL這篇文章,大家覺得怎么樣?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。