mysqldump 匯出表結構及表資料

2021-08-02 20:57:28 字數 1921 閱讀 5709

一: mysqldump 的核心引數

--single-transaction:用於保證innodb備份資料時的一致性,配合rr隔離級別一起使用,當發起乙個事務時,會讀取當前的資料快照,直到備份結束,都不會讀取到本事務開始之後提交的資料

--master-data:該引數為1時,表示備份出來的檔案中新增乙個change master語句,該值為2時,表示會在change  master命令前端增加注釋資訊

二:資料匯出

1:mysql到處資料庫中某張表結構

mysqldump -u $user -p -d $databasename $tablename > $databasename.sql

2:mysql 匯出某個資料庫裡面的所有表的結構

mysqldump -u $user -p -d $databasename > $databasename.sql

3、匯出某個資料庫中所有表結構及表資料(不加-d)

mysqldump -u $user -p $databasename > $databasename.sql;

4、匯出某個資料庫中某張表結構及表資料(不加-d)

mysqldump -u $user -p $databasename $tablename > $databasename.sql;

5: 匯出整個例項

mysqldump -u $user -p --all-databases > all_database.sql

三:資料匯入

# 匯入指定sql檔案 (指定匯入testdb庫中)

mysql -u $user -p testdb < testdb.sql

為了快速匯入指令碼,臨時修改以下兩個引數

1:innodb_flush_log_at_trx_commit

innodb_flush_log_at_trx_commit預設值為1,可設定為0、1、2 。如果innodb_flush_log_at_trx_commit設定為0,log buffer將每秒一次地寫入log file中,並且log file的flush(刷到磁碟)操作同時進行.該模式下,在事務提交的時候,不會主動觸發寫入磁碟的操作。如果innodb_flush_log_at_trx_commit設定為1,每次事務提交時mysql都會把log buffer的資料寫入log file,並且flush(刷到磁碟)中去.如果innodb_flush_log_at_trx_commit設定為2,每次事務提交時mysql都會把log buffer的資料寫入log file.但是flush(刷到磁碟)操作並不會同時進行。該模式下,mysql會每秒執行一次 flush(刷到磁碟)操作。

2:sync_binlog

sync_binlog預設值為1,可設定為[0,n)當sync_binlog =0,像作業系統刷其他檔案的機制一樣,mysql不會同步到磁碟中去而是依賴作業系統來重新整理binary log。當sync_binlog =n (n>0) ,mysql 在每寫 n次 二進位制日誌binary log時,會使用fdatasync()函式將它的寫二進位制日誌binary log同步到磁碟中去。

1):進入mysql命令列 臨時修改這兩個引數

set global innodb_flush_log_at_trx_commit = 2;

set global sync_binlog = 2000;

set sql_log_bin=0;(新建從庫或不需要產生binlog時匯入sql指令碼可以設定暫時不記錄binlog,可以在指令碼開頭增加 set sql_log_bin=0; 然後再執行匯入,這樣速度會進一步加快)

2): 執行sql指令碼匯入

mysql -u $user -p testdb < testdb.sql

3):匯入完成 再把引數改回來

set global innodb_flush_log_at_trx_commit = 1;

set global sync_binlog = 1;

mysqldump切割匯出及匯入

近期有些20g的靜態表需要遷移資料庫 為了保障效能,沒有使用myisam 考慮到單個庫有20g,直接使用mysqldump 代價會比較大,後來改良dump的過程 分塊匯出,減少資料庫壓力 實現資料遷移。後記 mydumper 也能併發處理類似場景,甚至支援 binlog 的同步,保持資料一致 注意 ...

mysqldump 匯出表操作步驟

step1 找出對應的資料庫bin目錄全路徑 e.g.e 軟體 wamp bin mysql mysql5.5.20 bin step2 開啟cmd進入此路徑 步驟如下 e.g.s1 e s2 cd e 軟體 wamp bin mysql mysql5.5.20 bin step3 在cmd裡啟動m...

mysqldump只匯出資料或者只匯出表結構

備份資料庫 linux mysqldump 資料庫名 資料庫備份名 mysqldump a u 使用者名稱 p密碼 資料庫名 資料庫備份名 mysqldump d a add drop table uroot p sql mysqldump 資料庫名 資料庫備份名 mysqldump a u使用者名...