文件名.sql2、備份MySQL數據庫為帶刪除表的格式備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。mysqldump--add-drop-table-uusername-ppassword-databasedatabasename>backupfile" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Mysql數據備份與恢復命令

系統 2241 0

轉載: 原文地址

一、備份常用操作基本命令

1、備份命令mysqldump格式

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

2、備份MySQL數據庫為帶刪除表的格式

備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。

mysqldump --add-drop-table -uusername -ppassword -database databasename > backupfile.sql

3、直接將MySQL數據庫壓縮備份

mysqldump -hhostname -uusername -ppassword -database databasename | gzip > backupfile.sql.gz

4、備份MySQL數據庫某個(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

5、同時備份多個MySQL數據庫

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.

6、僅備份份數據庫結構

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

7、備份服務器上所有數據庫

mysqldump –all-databases > allbackupfile.sql

8、還原MySQL數據庫的命令

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

9、還原壓縮的MySQL數據庫

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

10、將數據庫轉移到新服務器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

11、--master-data 和--single-transaction

在mysqldump中使用 --master-data=2 ,會記錄binlog文件和position的信息。 --single-transaction 會將隔離級別設置成 repeatable-commited

12、導入數據庫

常用source命令,用use進入到某個數據庫, mysql>source d:\test.sql ,后面的參數為腳本文件。

13、查看binlog日志

查看binlog日志可用用命令 mysqlbinlog binlog日志名稱|more

14、general_log

General_log記錄數據庫的任何操作,查看general_log 的狀態和位置可以用命令 show variables like "general_log%" ,開啟general log可以用命令`set global general log=on`

二、增量備份

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

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

mysqldump -h10.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.000003,bin-log.000002則保存了全備過后的所有更改,既增加記錄的操作也保存在了bin-log.00002中。

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

三、恢復

1、首先導入全備數據

mysql -h10.6.208.183 -utest2 -p123 -P3310 < test.sql ,也可以直接在mysql命令行下面用source導入

2、恢復bin-log.000002

mysqlbinlog bin-log.000002 |mysql -h10.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 -h10.6.208.183 -utest2 -p123 -P3310

Mysql數據備份與恢復命令


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 桐柏县| 礼泉县| 阿勒泰市| 和龙市| 鹤庆县| 抚州市| 东山县| 巫溪县| 沽源县| 延安市| 集安市| 江源县| 吉水县| 绵阳市| 肥东县| 响水县| 南宁市| 富顺县| 长阳| 通榆县| 永善县| 壤塘县| 伊春市| 常宁市| 玉溪市| 四会市| 西乌珠穆沁旗| 宝应县| 吴川市| 时尚| 武平县| 苏尼特左旗| 宁明县| 神农架林区| 泸定县| 洞头县| 泽普县| 丰都县| 安福县| 高平市| 县级市|