找回密码
 入住遨海湾
搜索
网站解决方案专享优惠-3折上云
查看: 914|回复: 0

MYsql学习:如何导入导出MySQL数据库和大MYSQL

[复制链接]
发表于 2008-9-9 17:35:37 | 显示全部楼层 |阅读模式

登录后查才能浏览下载更多咨询,有问题联系QQ:3283999

您需要 登录 才可以下载或查看,没有账号?入住遨海湾

×
1. 概述 + v) S! T/ I2 _1 sMySQL数据库的导入,有两种方法: 8 t% R) l0 r/ |5 @. ~1) 先导出数据库SQL脚本,再导入; - {8 e! P, A0 f2) 直接拷贝数据库目录和文件。 % u$ E; f6 l) B( s& E, N* \' E 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 & i# S# `& t) f5 u& d; q所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 7 B" T" e% V( ~6 m. G9 n# i' L 1 C& j6 j) x; D9 t2. 方法一 SQL脚本形式 " [4 u7 {- z* A/ W; B操作步骤如下: 9 t, t9 K: u# q" S4 I. Z5 S! l( H2.1. 导出SQL脚本 . |- K6 U; W T; F在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。0 @- z6 e ]' m' R 2.1.1 用phpMyAdmin工具 ! s' T( R# ^) q9 r; D" S( E; A导出选项中,选择导出“结构”和“数据”,不要添加“Drop DATABASE”和“Drop TABLE”选项。 / X6 w' p, w' I% k, B% W选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。( m2 O8 k. R6 l0 w" F 将导出的SQL文件保存下来。" u$ c" q$ @% F % a+ d$ W( T; _( q: } 2.1.2 用mysqldump命令行 : x& K% H2 W: r! O命令格式 ! U7 i$ V' C: T3 C( kmysqldump -u用户名 -p 数据库名 > 数据库名.sql5 y; S, o1 @6 S* u3 A- l 范例: + b/ d2 ^2 i+ j* Emysqldump -uroot -p abc > abc.sql * ?( N) r" x1 _. v! [# k7 D6 V) `3 I(导出数据库abc到abc.sql文件) 6 G6 z' r0 F7 I, I! A! g. ^; Q) X. u% k$ a# a7 }7 t 提示输入密码时,输入该数据库用户名的密码。 , h9 X- k' \5 ~% Y; F9 S. c# {% Z0 z* y! A b 2.2. 创建空的数据库 x2 u5 n0 i$ v, l5 n. L! U通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 ; W/ \7 n; Q. Y( q3 A- E8 Y% N$ Y. y* T" h 2.3. 将SQL脚本导入执行% e+ {5 c8 o' X5 A6 M) p4 K 同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。1 i: m8 {$ c1 S' n 2.3.1 用phpMyAdmin工具5 _ U9 e1 a0 M, W/ k2 h 从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。+ T! d$ i" P7 R. o 在”SQL”菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。 2 P5 ?) H0 i1 L% Z) A2 g, i( \2 {8 g. ]4 u) ~* n8 p 注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件 & t$ s2 o' H5 {6 R- }比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。4 ]" _. y# C; J gzip使用方法:9 D$ A3 i) D: i" s v" c # gzip xxxxx.sql! i) `* c! E3 L 得到 , E/ A' l# Y8 G5 Wxxxxx.sql.gz文件。/ t% e3 l4 V" t& n: H % A2 Y- V5 u% J$ q2 K9 L 2.3.2 用mysql命令行 . d5 m- ~; H- o# x5 I" l. J命令格式* V% z, F: k" B* i% i mysql -u用户名 -p 数据库名 < 数据库名.sql / q/ p; w: c w* Z范例:. _' I$ I. H' J2 w# W# q mysql -uabc_f -p abc < abc.sql# s( H& R5 E' n( m" }9 n ~ (导入数据库abc从abc.sql文件). a# X( T- X$ A% \ ' V# l8 J: m2 `. ] 提示输入密码时,输入该数据库用户名的密码。 : M3 F F2 j" |( ] ! E8 Y1 Y* _3 P+ u: ~7 P: p8 _1 M/ @3 方法二 直接拷贝3 p/ f" J% ?4 M( I( H4 T, K$ v 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。. m6 ~. a! y" r* y 3.1 准备原始文件4 z4 ]8 Q+ ]! n, C3 F 用tar打包为一个文件: f: ~) h3 X2 R( V* O% l E3 j6 R8 U9 i- m5 U: z3.2 创建空数据库( Z, C! Y( F- \: k1 G, H6 l4 t8 s ; Q8 ^$ j& Y! t3.3 解压8 j- J) f) J' t( @8 D, h 在临时目录中解压,如: 5 B% U9 a# |: A$ S' p: rcd /tmp; b" w& k$ W4 ~ P$ z. \4 E tar zxf mydb.tar.gz& l" N. O1 I6 K" D% Q$ ?" p ( W+ s& V. C1 d; \. j# v% c3.4 拷贝) z, |$ n8 N6 ]5 j 将解压后的数据库文件拷贝到相关目录 3 {9 w3 l1 D2 ^) f: ]8 ?3 Hcd mydb/1 S- h& n8 v2 m' n/ i# e cp * /var/lib/mysql/mydb/ B( [8 q& h* x6 p4 q6 q( g 5 J* t6 n4 _( b; o 对于FreeBSD:9 {% K4 }6 V5 c cp * /var/db/mysql/mydb/ 2 ^ t7 e' D3 C* f- d/ _# o. v0 r8 B) O4 |! U* o 3.5 权限设置% \$ n/ P2 X! t+ A. x" y7 ] 将拷贝过去的文件的属主改为mysql:mysql,权限改为6605 l2 y) a5 v2 q, V! a( u chown mysql:mysql /var/lib/mysql/mydb/*3 `: a% [# x; }# H chmod 660 /var/lib/mysql/mydb/* 4 W* | s4 v, m" j- r; C; `/ x7 Y Y t" I, _ 如建一个VBB的WORD表: A" G. p' S* Y8 O/ G7 @* z: d 7 \" N, t6 \% ?( J' Msql代码如下: 6 v0 D: q$ e+ b! {& m. {1 O复制内容到剪贴板代码: : V% x6 U& `' G9 Q" U. eCREATE TABLE `word` (- p/ e0 k- N: q# w: [4 X 1 E; t3 g, o, `+ \5 r7 l7 z `wordid` int( 10 ) unsigned NOT NULL AUTO_INCREMENT , 5 z; H9 r/ d4 G3 h6 W`title` varchar( 50 ) NOT NULL default ”,; k6 U2 Y# V5 p' K. g8 {! l `score` int( 10 ) unsigned NOT NULL default ‘0′, ; b* B( v8 ]6 {5 l( R4 Q`dateline` int( 10 ) unsigned NOT NULL default ‘0′,6 P& [/ j: R M3 I: C PRIMARY KEY ( `wordid` ) , 8 d+ w0 p6 H# [: s8 p" wUNIQUE KEY `title` ( `title` ) % j' C7 K/ C6 x: r2 t$ m) TYPE = MYISAM
遨海湾-心灵的港湾 www.aosea.com
您需要登录后才可以回帖 登录 | 入住遨海湾

本版积分规则

网站解决方案专享优惠-3折上云

QQ|手机版|小黑屋|遨海湾超级社区

GMT+8, 2024-11-22 08:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表