亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

015—備份、還原和數據遷移

發布時間:2020-07-24 02:02:04 來源:網絡 閱讀:439 作者:會飛的冬瓜 欄目:MySQL數據庫

備份:

 

按是否備份全部數據可以將備份劃分為: 

 

完全備份

 

增量備份:指的是備份自上一次備份以來(增量或完全)以來變化的數據特點節約空間、還原麻煩。

 

差異備份:指的是備份自上一次完全備份以來變化的數據 特點浪費空間、還原比增量備份簡單。

 

一般情況下,根據備份策略組合使用:完全+增量;完全+差異。


015—備份、還原和數據遷移


常用備份工具:

1. mysqldump : 邏輯備份工具適用于所有的存儲引擎支持溫備、完全備份、部分備份、對于InnoDB存儲引擎支持熱備 

2. cp, tar 等歸檔復制工具物理備份工具適用于所有的存儲引擎冷備、完全備份、部分備份 

3. lvm2 snapshot: 幾乎熱備借助文件系統管理工具進行備份 

4. mysqlhotcopy: 名不副實的的一個工具幾乎冷備僅支持MyISAM存儲引擎 

5. xtrabackup: 一款非常強大的InnoDB/XtraDB熱備工具支持完全備份、增量備份percona提供

 

備份策略:


針對不同的場景下我們應該制定不同的備份策略對數據庫進行備份一般情況下備份策略一般為以下4種:

 

a. 直接cp,tar復制數據庫文件

 

b. mysqldump+復制BIN LOGS

 

c. lvm2快照+復制BIN LOGS

 

d. xtrabackup

 

以上的幾種解決方案分別針對于不同的場景:

 

如果數據量較小可以使用第一種方式直接復制數據庫文件。【如果是將復制的文件拷貝到新的數據庫時,需要新數據的版本號高于舊數據庫,僅有MYISAM引擎支持,INNODB不支持】

 

如果數據量還行可以使用第二種方式先使用mysqldump對數據庫進行完全備份然后定期備份BINARY LOG達到增量備份的效果。

 

如果數據量一般而又不過分影響業務運行可以使用第三種方式使用lvm2的快照對數據文件進行備份而后定期備份BINARY LOG達到增量備份的效果。

如果數據量很大而又不過分影響業務運行可以使用第四種方式使用xtrabackup進行完全備份后定期使用xtrabackup進行增量備份或差異備份。

 

 

1、Mysqldump實現備份恢復


windows環境下】

1) 備份單個數據庫或單個數據庫中的指定表: 

mysqldump -h主機名  -P端口 -u用戶名 -p密碼 –database 數據庫名 表名> 文件名.sql

 

 

2) 備份多個數據庫: 

mysqldump -h主機名  -P端口 -u用戶名 -p密碼 –database db1 db2 db3 > 文件名.sql


 

3) 備份所有數據庫: 

mysqldump --all -databases > backupname.sql


 

4) 壓縮備份:

mysqldump -h hostname -u username -p password -database databasename | gzip > backupfile.sql.gz


 

5) 還原MySQL數據庫的命令

 

mysql -hhostname -uusername -ppassword databasename < backupfile.sql


 

6) 還原壓縮的MySQL數據庫

gunzip < backupfile.sql.gz | mysql -u username -p password dbname


 

 

數據遷移:

可以分為:同版本MYSQL遷移;不同版本MYSQL遷移;不同數據庫遷移

 

1、直接遷移(備份還原同時進行)【同版本】

mysqldump -h hostname1-u root -p password=password1 -all-databases 
| 
mysql –h hostname2 -u root -password=password2


 

2、【不同版本】低版本可以向高版本遷移,高版本很難向低版本遷移。

 

3、不同數據庫遷移,可以實現,但比較復雜。

 

 

===========================================提高==============================================================

增量備份


小量的數據庫可以每天進行完整備份,因為這也用不了多少時間,但當數據庫很大時,就不太可能每天進行一次完整備份了,這時候就可以使用增量備份。增量備份的原理就是使用了mysqlbinlog志。

 

1、首先做一次完整備份:

 

mysqldump -h20.6.208.183 -utest2 -p123 -P3310 --single-transaction  --master-data=2  test>test.sql


這時候就會得到一個全備文件test.sql

 

sql文件中我們會看到:

-- CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;是指備份后所有的更改將會保存到bin-log.000002二進制文件中。

2、在test庫的t_student表中增加兩條記錄,然后執行flush logs命令。這時將會產生一個新的二進制日志文件bin-log.000003bin-log.000002則保存了全備過后的所有更改,既增加記錄的操作也保存在了bin-log.00002中。

 

3、再在test庫中的a表中增加兩條記錄,然后誤刪除t_student表和a表。a中增加記錄的操作和刪除表at_student的操作都記錄在bin-log.000003中。

 

恢復


1、首先導入全備數據

 

mysql -h20.6.208.183 -utest2 -p123  -P3310 < test.sql,

也可以直接在mysql命令行下面用source導入

 

2、恢復bin-log.000002

 

mysqlbinlog bin-log.000002 |mysql -h20.6.208.183 -utest2 -p123  -P3310

 

 

3、恢復部分 bin-log.000003

 

   在general_log中找到誤刪除的時間點,然后更加對應的時間點到bin-log.000003中找到相應的position點,需要恢復到誤刪除的前面一個position點。

 

可以用如下參數來控制binlog的區間

 

--start-position 開始點 --stop-position 結束點

 

--start-date 開始時間  --stop-date  結束時間

 

找到恢復點后,既可以開始恢復。

 

 mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h20.6.208.183 -utest2 -p123  -P3310


 

 

 參考:

1學會4MYSQL備份方法                    2、常用MSQL備份還原命令

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

花莲市| 云霄县| 蕉岭县| 万山特区| 泸溪县| 江达县| 伊川县| 临西县| 汤阴县| 重庆市| 东源县| 尼木县| 海兴县| 通河县| 乐陵市| 秭归县| 普格县| 石阡县| 丰都县| 会泽县| 德昌县| 鹿邑县| 德清县| 金乡县| 应城市| 安达市| 新平| 桐梓县| 徐闻县| 桐庐县| 辉南县| 伊金霍洛旗| 安泽县| 崇信县| 利川市| 三河市| 平塘县| 辽阳县| 贵定县| 洮南市| 马山县|