[匯出]5 H) S0 \$ n! ~& f, j6 j7 U" @7 Q
mysqldump -u userid -e -p db_Name > xxxxx.sql
) O& P: W3 M K* Y: E w2 c7 L匯出一個table:mysqldump -p -u userid dbname tablename > 52avtv_dzx20.201506242307.sql0 u" s* R; j3 l% k6 z4 y5 o
匯出所有資料庫: mysqldump -p -u userid --all-databases > all-database.sql
' N0 L2 T/ U* W( k, O" T3 h 但是,匯到目的資料庫的使用者帳號及密碼有問題,所以還是每個資料庫個別搬,使用者帳號也個別匯出比較安全7 T' _: H* t) a) |
[只匯出結構] 參考: https://iter01.com/206843.html
4 X. \3 [2 W6 P2 A; kmysqldump --opt -d 資料庫名 -u root -p > xxx.sql
( m! p' J2 ]# ]1 T, Q[只匯出資料]
3 K; ^3 e& o( |+ k2 H @mysqldump -t 資料庫名 -uroot -p > xxx.sql
1 u* ]9 |# h9 D- z
# N% c- y" K Z9 M" d; _, o0 ~ F+ @注意: 當以上述指令備份時造成網站出現 "502 bad gateway",影響到nginx,只要加參數 --single-transaction --quick 就好了,如下:
% x3 y6 n) V* i+ _) N. t# m7 pmysqldump -u userid -e -p --single-transaction --quick db_Name > xxxxx.sql. @' c% u' ^2 n" F* M1 E
問題:mysqldump: Got error: 1017: Can't find file: 'pre_forum_rsscache' (errno: 2) when using LOCK TABLES
. I+ v1 P/ x W1 g( U5 t- oSol: 只要在mysqldump的時候加上--lock-tables=false就可以解決問題。* R: L9 ]3 m" `$ i
接著又出現: mysqldump: Couldn't execute 'show create table `pre_forum_rsscache`': Can't find file: 'pre_forum_rsscache' (errno: 2) (1017),以phpmyadmin登入查看卻看到pre_forum_rsscache 使用中ls /var/lib/mysql/52avtv_dz/pre_forum_rsscache* 發現只有 pre_forum_rsscache.frm 1個檔案 ,正常應該要有3個檔:% n3 V+ P/ f! |- m+ t$ A) q( J
-rw-rw---- 1 mysql mysql 8852 Jun 3 16:05 pre_forum_rsscache.frm5 p. ]; ]4 I$ X$ m( m
-rw-rw---- 1 mysql mysql 0 Jun 3 16:05 pre_forum_rsscache.MYD3 C( u7 [& i- t
-rw-rw---- 1 mysql mysql 1024 Jun 3 16:05 pre_forum_rsscache.MYI
2 E1 {% h0 w6 _9 VSol:
8 @; Q+ O# T7 l* C* ^在phpmyadmin ==SQL 下指令:
- w( k# J+ a; t* c9 b& x- DROP TABLE IF EXISTS pre_forum_rsscache;
- CREATE TABLE pre_forum_rsscache (
- lastupdate int(10) unsigned NOT NULL DEFAULT '0',
- fid mediumint(8) unsigned NOT NULL DEFAULT '0',
- tid mediumint(8) unsigned NOT NULL DEFAULT '0',
- dateline int(10) unsigned NOT NULL DEFAULT '0',
- forum char(50) NOT NULL DEFAULT '',
- author char(15) NOT NULL DEFAULT '',
- `subject` char(80) NOT NULL DEFAULT '',
- description char(255) NOT NULL DEFAULT '',
- guidetype char(10) NOT NULL DEFAULT '',
- UNIQUE KEY tid (tid),
- KEY fid (fid,dateline)
- ) ENGINE=MYISAM DEFAULT CHARSET=utf8
複製代碼 1 V' H. K4 B% `4 Q+ O9 b" X1 j8 W
再備份就正常了8 j0 |2 c: `0 ~0 ?* B. W5 A
問題: 當使用mariadb 5.5.68 備份時出現error:mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'pre\_portal\_topic\_pic'': Can't read dir of './db_name/' (errno: 24) (1018)5 e9 E* ]* p5 j' |' x
Sol: 這是open_files_limit(default=962) 太小,改為4096,由於它屬於read-only,故加在/etc/my.cnf 4 i6 B& \9 P9 S
然後 service mariadb restart
- ^ S) j, R$ K/ t) k
1 o- n) d: J1 h5 l% E6 S; @[有條件匯出]+ @* t( M3 H# c. h0 p! \1 {0 Q0 @
mysqldump -u帳號 -p密碼 -h主機 資料庫 資料表 -w "sql條件" > 出輸路徑及檔案
2 c$ X+ z' s- W! D例:* f- [. p4 T" g' {( H9 D
mysqldump -uroot -p123456 -hlocalhost -e AREA_UTF8 city -w "c_id<10 " > /home/web/a.txt) X) w2 o/ q" j. M
% v' ]5 S! ^3 b' }--no-create-info,-t
3 `, d3 A9 U. c. M只導出資料,而不添加 CREATE TABLE 語句;如果導出格式為SQL語句,則只有insert into部分。8 ^. B: a1 w' n$ B
--no-data,-d" R( ?- ~7 {+ f. u' i5 m# M* r5 }# }
不導出任何資料,只導出資料庫結構
+ a8 L! T+ z: v% C--quick,-q
7 q, J# J8 M+ r. m$ o: C$ F9 B在導出大量資料很有用,強制從 MySQL Server 查詢取得記錄直接輸出,而不是取得所有記錄後存在記憶體中。
. P4 K+ Q( }2 x* c6 C$ a
6 W1 V+ F( C* r, p; {% F
& }, k, `5 ~ p9 x[匯入]
5 n4 k, H @* u! Cmysql -u userid -p [-h localhost] db_Name < xxxxx.sql$ K! C4 A m8 w" a+ t
匯入所有資料庫: mysql -u userid -p < all-database.sql! T8 c- Z% M! h. A9 }" Q5 k0 M
匯入一個table :
1 R U4 P. B% H; x9 R# i Tmysql -u userid -p -D dbname < cc5278_dzx20.ip2c.201506242307.sql
7 ^* M/ n) r6 rP.S如果匯入檔太大如7GB,則匯入檔案之前執行下列指令:" P* E, W/ R$ m7 F; {3 \, ?
mysql -uroot -p -e "set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;"
, }: f4 |. F: E( t9 F) \4 V |8 }1 |- C; u7 z3 e$ L/ x( L
[匯出後立即匯入到另一台主機]+ i9 @5 L, C7 P, D; S
mysqldump -u [SOURCE_userid] -h [SOURCE_IP] -e -q --password=[SOURCE_PASSWORD] SOURCE_db_Name | mysql -u [DISTANCE_userid] --password=[DISTANCE_PASSWORD] -h [DISTANCE_IP] DISTANCE_db_Name 6 i$ B6 @* D+ T2 {" Y
[設定匯入上限(內定2Mb) by phpmyadmin]4 |' v2 g" Q" |( l; s
參考http://www.av4u.info/forum.php?m ... e=1&extra=#pid20348* L* v2 w' \7 K5 c( I
. O% M! e* x" t
/ }, A' f% }, e2 i! p+ @' j2 S4 V
+ P# Q0 D" X# ~" q- o7 @- c& Q9 w7 [# [: l; q! L
0 b3 F, E7 _2 S
7 J5 @. I; V5 T/ t4 ?5 q
! V B4 Z) e1 x6 T. R
) a! L1 }, P" |2 N( s" g
( m3 c- F+ {/ G- a# R) P Y+ y- ~* [. {. S! l$ ?7 F/ ~: z
, ]: \8 R, V; Q9 i0 w d* I7 J
5 N& S$ `; W$ e! u
" E7 B. {4 F$ t) u$ N' O3 B0 O- q3 U% s. g9 ?( A
|
|