tid=11830&[匯出]2 p1 L9 J9 F7 p: K0 J( h! H
mysqldump -u userid -e -p db_Name > xxxxx.sql1 j. U1 X/ r* l5 l b9 O0 _
匯出一個table:mysqldump -p -u userid dbname tablename > 52avtv_dzx20.201506242307.sql
! j2 S. I) u) g0 Z# s7 r9 H匯出所有資料庫: mysqldump -p -u userid --all-databases > all-database.sql
8 W& w8 p& F! [ 但是,匯到目的資料庫的使用者帳號及密碼有問題,所以還是每個資料庫個別搬,使用者帳號也個別匯出比較安全
3 Z# |8 P ?5 N8 B F
( s0 p" M. j# @注意: 當以上述指令備份時造成網站出現 "502 bad gateway",影響到nginx,只要加參數 --single-transaction --quick 就好了,如下:
* x8 J/ {# Q8 c! @8 V! j! I" Lmysqldump -u userid -e -p --single-transaction --quick db_Name > xxxxx.sql* I. q _* R& r) R: E9 x
問題:mysqldump: Got error: 1017: Can't find file: 'pre_forum_rsscache' (errno: 2) when using LOCK TABLES
* e# ^" [% d/ P+ f" l3 p' XSol: 只要在mysqldump的時候加上--lock-tables=false就可以解決問題。
: P, i3 \3 \; W0 C' ~. y接著又出現: 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個檔:; {- y4 B9 N9 M
-rw-rw---- 1 mysql mysql 8852 Jun 3 16:05 pre_forum_rsscache.frm9 `' G# R% X" q# ?% T( x
-rw-rw---- 1 mysql mysql 0 Jun 3 16:05 pre_forum_rsscache.MYD. \7 F- @2 ^ k$ H
-rw-rw---- 1 mysql mysql 1024 Jun 3 16:05 pre_forum_rsscache.MYI' L% y5 m% r7 t$ J3 I
Sol: 0 @0 h. _0 I% _: W# d7 n2 V7 v; B
在phpmyadmin ==SQL 下指令:6 ?: f+ y5 Q" [5 @
- 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
複製代碼
8 H; [! R6 Q" M9 g. y% K( d; J再備份就正常了7 n- Q, h# W9 U- z
問題: 當使用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)) a; z8 I& }' u
Sol: 這是open_files_limit(default=962) 太小,改為4096,由於它屬於read-only,故加在/etc/my.cnf , D$ e( I: _! U2 O
然後 service mariadb restart
; t! {0 W3 V: a
- Z6 V1 r0 D& q- C/ ^[有條件匯出]
; b/ ~' a+ B) c8 U* n u1 Wmysqldump -u帳號 -p密碼 -h主機 資料庫 資料表 -w "sql條件" > 出輸路徑及檔案
K/ `" u2 }5 q% g, c2 B: k例:) E8 p% V1 v) H ~
mysqldump -uroot -p123456 -hlocalhost -e AREA_UTF8 city -w "c_id<10 " > /home/web/a.txt
. \2 l# g, h8 b
8 y7 Y } X ?--no-create-info,-t" ?# @6 c* x b) T3 A1 |
只導出資料,而不添加 CREATE TABLE 語句;如果導出格式為SQL語句,則只有insert into部分。( z' a9 `9 H, ]
--no-data,-d
0 L2 y1 X3 d2 {* @! D不導出任何資料,只導出資料庫結構% O/ s. d; @& ^( }
--quick,-q
! \4 G/ Z C, l) v$ M# n0 d- y% I在導出大量資料很有用,強制從 MySQL Server 查詢取得記錄直接輸出,而不是取得所有記錄後存在記憶體中。1 o. M: j% o8 E
' R0 I, R* q% @9 _
3 Y$ {/ ~; I, Y! z; i[匯入]
! T3 ~* p; U* ^1 j2 b/ y4 _0 [mysql -u userid -p [-h localhost] db_Name < xxxxx.sql
3 }2 a! G# X: X' W. D匯入所有資料庫: mysql -u userid -p < all-database.sql
P: e, _/ R& T a9 x: Y匯入一個table :! i1 T7 L% Y2 F% K
mysql -u userid -p -D dbname < cc5278_dzx20.ip2c.201506242307.sql
5 L t& T- o% C3 FP.S如果匯入檔太大如7GB,則匯入檔案之前執行下列指令:
$ V k6 i8 A) S' v# q2 {mysql -uroot -p -e "set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;"
z+ d8 _- N6 X1 f* e3 H# ^" d' h0 R/ ]. ?
[匯出後立即匯入到另一台主機]9 }. ?9 I1 p8 c l$ {' u8 P* u
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
% P) P/ E* J3 }& q+ X! \. e P5 W[設定匯入上限(內定2Mb) by phpmyadmin]0 A2 F; K) z( e {
參考http://www.av4u.info/forum.php?m ... e=1&extra=#pid203480 @- W) ^ H1 f. f4 M: a
8 S; ^! U) u& R0 w
: m3 c! y: O' ]3 G) s z% d0 c1 G' N
+ a6 V; f6 M" ~7 l& Z( G2 }# i- `- S5 D: W1 c; e$ v
2 R. \5 p, r( Z% e( S( j# s$ m P* E% n) o1 R2 w3 J
1 c( }, L1 j7 v, p$ e
5 q: o1 \6 j( T4 n; x1 Q `& W5 V
4 B! b4 J7 a! s% N' ]+ e* |, U! r' ?0 n1 p
7 ^- z5 \5 j0 y3 ~ |