[匯出]
( g7 G, }1 d* \- f, G3 \' W7 Emysqldump -u userid -e -p db_Name > xxxxx.sql
7 m% r+ S, N$ R8 c6 \- [$ T, y+ p匯出一個table:mysqldump -p -u userid dbname tablename > 52avtv_dzx20.201506242307.sql" O! L; M1 Z. F$ j- D4 ~1 ]. x. E
匯出所有資料庫: mysqldump -p -u userid --all-databases > all-database.sql 2 m$ R: ^6 F* j
但是,匯到目的資料庫的使用者帳號及密碼有問題,所以還是每個資料庫個別搬,使用者帳號也個別匯出比較安全
1 C3 D4 F$ J! d0 q( f9 `# }7 V8 }[只匯出結構] 參考: https://iter01.com/206843.html
! L. b2 H6 ?5 j7 pmysqldump --opt -d 資料庫名 -u root -p > xxx.sql
: b0 R+ h6 u; `( u4 I[只匯出資料]
- x( J% f1 B# o& S! xmysqldump -t 資料庫名 -uroot -p > xxx.sql- D8 F) R; e8 C9 e `1 _6 ^
! f2 _6 Q& `% L注意: 當以上述指令備份時造成網站出現 "502 bad gateway",影響到nginx,只要加參數 --single-transaction --quick 就好了,如下:8 l7 G n' w1 h+ c% ~, M
mysqldump -u userid -e -p --single-transaction --quick db_Name > xxxxx.sql+ }# V9 \9 B% E+ O3 Q: T' }5 r
問題:mysqldump: Got error: 1017: Can't find file: 'pre_forum_rsscache' (errno: 2) when using LOCK TABLES1 z7 R: Y' B: G P* f) D
Sol: 只要在mysqldump的時候加上--lock-tables=false就可以解決問題。
, P. l0 r2 b& ~) ]1 ^接著又出現: 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個檔:, F- S1 R# y$ S# d K, f- q
-rw-rw---- 1 mysql mysql 8852 Jun 3 16:05 pre_forum_rsscache.frm2 b4 x9 L3 Y/ h( d6 ~& U7 i
-rw-rw---- 1 mysql mysql 0 Jun 3 16:05 pre_forum_rsscache.MYD
, w' g+ K( _6 L-rw-rw---- 1 mysql mysql 1024 Jun 3 16:05 pre_forum_rsscache.MYI
3 v7 h' O2 W$ F" xSol:
$ I+ S; O/ F8 Y2 b" A; w在phpmyadmin ==SQL 下指令:' e2 A- C6 T/ i5 Q
- 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
複製代碼
& X0 u7 H& P7 G. {3 F6 C再備份就正常了9 G* H: }# ?4 F+ P0 w! g6 e
問題: 當使用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)
, Y6 S. E6 h# a+ k' C2 ySol: 這是open_files_limit(default=962) 太小,改為4096,由於它屬於read-only,故加在/etc/my.cnf
9 \) a, R/ K3 O9 L& k9 `2 ]! `然後 service mariadb restart
$ P# y& M3 D) J7 @1 A( B; F6 X" I/ f9 `! n+ O0 o. }* ?
[有條件匯出]$ O! o; A7 z* p( p! |: I8 d
mysqldump -u帳號 -p密碼 -h主機 資料庫 資料表 -w "sql條件" > 出輸路徑及檔案
% y. ~8 U! w$ n$ i5 x9 W2 @例:
: r) i4 s. g! X1 ^! Amysqldump -uroot -p123456 -hlocalhost -e AREA_UTF8 city -w "c_id<10 " > /home/web/a.txt' x+ P9 X0 }1 [
, S/ q5 a9 P9 r- r
--no-create-info,-t
# @! |8 l2 L) `5 O; X只導出資料,而不添加 CREATE TABLE 語句;如果導出格式為SQL語句,則只有insert into部分。) b! r/ O- s- z K0 p5 v4 I
--no-data,-d/ u* E7 L8 ~/ `3 M' r3 W, V
不導出任何資料,只導出資料庫結構, j' @6 h: e& e W. O
--quick,-q : C' m x" t: ~
在導出大量資料很有用,強制從 MySQL Server 查詢取得記錄直接輸出,而不是取得所有記錄後存在記憶體中。, C6 D+ Z* I, Q
4 I: C' R1 [7 X+ e l h7 [
+ q" |& A: q% r2 l& @7 a
[匯入]
% v% \) S& Z+ o5 ^' }9 C& U5 U2 o5 [mysql -u userid -p [-h localhost] db_Name < xxxxx.sql0 E( t2 U/ i4 T9 ~! X( P- q
匯入所有資料庫: mysql -u userid -p < all-database.sql0 u M8 q; X! O c
匯入一個table :
! u/ @" h5 @' Z' K4 j2 wmysql -u userid -p -D dbname < cc5278_dzx20.ip2c.201506242307.sql. s: V3 ]9 c6 F
P.S如果匯入檔太大如7GB,則匯入檔案之前執行下列指令:" u, b* @: }1 I9 ~5 R7 k
mysql -uroot -p -e "set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;" J; R# l# `4 W# ]4 j* R* I
! p* s2 g2 y1 c; V
[匯出後立即匯入到另一台主機]: ?! }( @* y% H9 ?
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
$ C5 v/ S6 a1 f; M3 O. Z" S- m[設定匯入上限(內定2Mb) by phpmyadmin]
. Z: @# Z& p$ J q3 }; R% _參考http://www.av4u.info/forum.php?m ... e=1&extra=#pid20348
# o7 L3 V0 I7 D$ a, C. f. t! A* F" u& r6 U
# p! L, e0 K$ X0 ]
2 I. |9 h( K' H- T
2 R: P8 X6 R! {: j# H9 \0 I
9 _' N9 l5 L/ O! \) K% s8 O! Y J% c5 |3 t5 z2 a& o
, U% y# t% X$ W# x+ C x$ `! J+ n v6 f
" J. M/ d z9 R1 O0 O- D# c
* T+ N9 x9 n. L U% u+ e# Z
% k N5 n G @3 A- K6 [1 [# ] Y: Z
S$ z# l- h3 K, g# D+ T F* P( n3 r& u0 \
|
|