[MySQL] 用mysqldump制作文本備份 在使用mysqldump備份MySQL時,備份文件是SQL式的文本文件,它由一系列create table和insert語句組成。恢復時,只要把該SQL文件作為mysql程序的輸入即可,如下所示: mysqldump mydb mytbl mytbl.sqlmysql mydb mytbl.sql 注
[MySQL] 用mysqldump制作文本備份在使用mysqldump備份MySQL時,備份文件是SQL格式的文本文件,它由一系列create table和insert語句組成。恢復時,只要把該SQL文件作為mysql程序的輸入即可,如下所示:
mysqldump mydb mytbl > mytbl.sql mysql mydb < mytbl.sql
當你在命令行下敲mysqldump,后面不加如何參數,將出現如下的提示信息:
[root@lx203 ~]# mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help
上面的提示信息給出了3種使用方法,下面我們將一一介紹:
1)mysqldump [OPTIONS] database [tables]
這是最常見的使用方法,給出一個數據庫名,在它后面給出一個或多個表名,表示導出該數據庫下指定的這幾個表。
2)mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
第二種方法使用了--databases參數,它將導出列出的數據庫里的所有表
3)mysqldump [OPTIONS] --all-databases [OPTIONS]
--all-databases參數表示導出所有數據庫里的所有表,包括mysql數據庫里的權限表,所以一定要謹慎使用
當你在命令行下敲mysqldump --help,將會出現所有參數,下面我們將介紹主要的幾個:
1)--opt
--opt Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys. Enabled by default, disable with --skip-opt.
但是這里需要特別注意的是:--opt選項為了加快備份速度,會在備份表上加上讀鎖,將導致其它用戶無法修改,所以在業務繁忙時,千萬不要啟用該選項備份!
下面解釋下--opt啟用的這幾個選項:
--add-drop-table:表示在每條create table語句前加上drop table if exists語句;
--add-locks:表示在生成的insert語句前后加上鎖命令;
--extended-insert:表示生成一次插入多行的insert語句
--lock-tables:表示在備份表上加上讀鎖;
2)--single-transaction
在導出innodb和Falcon表時,最好加上該選項,可以確保得到一個穩定的備份。
3)--no-create-info --no-data
前面提到過,默認情況下,mysqldump導出的文本文件中包含create table和insert into語句,如果加上--no-create-info表示不需要create table語句,同理,--no-data表示不需要insert into語句。
4)--routines --triggers --events
默認情況下,只有觸發器包含在導出的文本文件里,如果你需要導出其它的對象,可以加上相應的選項。
這三個選項還有相應的--skip形式,表示把它排除在導出文件里。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com