mysql備份與恢復 mysqldump

2021-09-27 14:03:35 字數 2467 閱讀 8592

備份:備份乙個資料庫(shell中執行,下同):

mysqldump -uusername -ppassword -hhostname --databases db_name > /path/db_name.sql

備份多個資料庫

mysqldump -uusername -hhostname -ppassword --databases db1_name db2_name db3_name >/path/multidb_name.sql

備份所有資料庫

mysqldump -uusername -hhostname -ppassword --all-databases >/path/alldb_name.sql

僅僅備份資料結構

mysqldump -uusername -hhostname -ppassword --no-data db_name >/path/db_name.sql

基於事務的備份

mysqldump -uuser -hhostname -ppassword --opt --single-transaction --default-character-set=utf8 --triggers db_name >/path/db_name.sql

壓縮備份

mysqldump -uusername -hhostname -ppassword db_name |gzip -9 >/path/db_name.gz

常用選項:

--databases db_name

--all-databases

--single-transaction(適用事務表)

--master-data(熱備份)

--trigers(同時匯出觸發器,該選項預設啟用,用--skip-trigers禁用他)

--routines,-r(匯出儲存過程以及自定義函式)

--opt(這只是乙個快捷選項,等同於同時新增 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset

選項。本選項能讓 mysqldump 很快的匯出資料,並且匯出的資料能很快導回。該選項預設開啟,但可以用 --skip-opt 禁用。注意,如果執行 mysqldump 沒有指定 --quick 或 --opt 選項

,則會將整個結果集放在記憶體中。如果匯出大資料庫的話可能會出現問題。)

--no-data,-d(不匯出任何資料,只匯出資料庫表結構)

--no-create-info,-t(只匯出資料,而不新增create table語句)

--lock-tables(它和 --lock-all-tables 類似,不過是鎖定當前匯出的資料表,而不是一下子鎖定全部庫下的表。本選項只適用於 myisam 表,如果是 innodb 表可以用 --single

-transaction 選項。)

--hex-blob(使用十六進製制格式匯出二進位制字串字段。如果有二進位制資料就必須使用本選項。影響到的字段型別有 binary、varbinary、blob。)

--extended-insert = true|false(預設情況下,mysqldump 開啟 --complete-insert 模式,因此不想用它的的話,就使用本選項,設定它的值為 false 即可。)

mysql還原:

普通備份還原

mysql db_name 壓縮備份還原

gunzip mysql中還原

source /root/data.back

將資料庫轉移到新伺服器

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

例子恢復資料庫必須指定乙個已經存在的資料庫 db2

[root@stu188 bin]# mysql -u root -p123 db2 < all.sql

mysql> source /root/db1.sql;(在mysql中進行恢復)

#備份db1裡的t7表

[root@stu12 mysql]# mysqldump -u root -p123 db1 t7 > t7.sql

#恢復db1裡的t7表

[root@stu12 mysql]# mysqldump -u root -p123 db1 t7 < t7.sql

#備份所有庫

[root@stu12 mysql]# mysqldump -uroot -p123 --all-database > all.sql

#恢復所有庫

[root@stu12 mysql]# mysqldump -uroot -p123 < all.sql

#備份db1裡面的tb1和tb2的表

[root@stu12 mysql]# mysqldump db1 tb1 tb2 -u root -p123 > biao.sql

mysql 備份與恢復 MySQL 備份與恢復

1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...

mysql 備份與恢復 Mysql 備份與恢復

資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...

mysql備份恢復 mysql之備份與恢復

工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...