mysql資料庫備份與恢復

2021-08-31 09:28:59 字數 2858 閱讀 2753

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.sql僅僅備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資料庫備份與恢復

匯出要用到mysql的mysqldump工具,基本用法是 mysqldump options database tables 幫助 mysqldump help mysqldump支援下列選項 add locks 在每個表匯出之前增加lock tables並且之後unlock table。為了使得更...

mysql 資料庫備份與恢復

首先要用命令列進入mysql的安裝目錄下的bin c program files mysql mysql server 5.1 bin win32下mysql的備份與還原 1.1 備份 開始選單 執行 cmd 利用 cd program files mysql mysql server 5.0 bi...

MySQL資料庫備份與恢復

mysql資料庫備份與恢復 mysql資料庫備份與恢復 方法一 1.匯出整個資料庫 命令列進入到mysql安裝目錄的bin目錄下 假設裝在d mysql bin 即 開始 執行 輸入cmd d cd mysql bin 然後執行下面語句 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 ...