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

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

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

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

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

×
1. 概述! v. q; M- ]" h* ]1 o/ O: q MySQL数据库的导入,有两种方法: ! `4 i+ g$ g! ]) l. ~1) 先导出数据库SQL脚本,再导入;+ M% M5 M7 i' e4 A- A 2) 直接拷贝数据库目录和文件。 9 q3 j+ s1 Y( Y; T w8 s4 ?: X 2 g0 U- t' z+ L5 `6 d u在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 3 W2 Y/ x' w3 a2 F8 D; C: T) {所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 . }4 `# y, t5 k; R+ f ~8 y- L, @ x$ H9 X 2. 方法一 SQL脚本形式7 q# O" f. \" K' r 操作步骤如下: 8 }, g0 B5 Z0 v0 T: A: V9 Q9 o0 N2.1. 导出SQL脚本: l( V# E0 m- W+ u 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。 3 _8 a& {+ J, @% f3 U" L2.1.1 用phpMyAdmin工具 ; L) [: N, z: p5 @$ H( W3 c) P导出选项中,选择导出“结构”和“数据”,不要添加“Drop DATABASE”和“Drop TABLE”选项。 - \0 d: e: H# M9 V$ p7 @选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。# b0 w: u5 L% q z 将导出的SQL文件保存下来。0 W% z# @7 E' C 1 u' U3 n* k7 ]0 l& y/ V 2.1.2 用mysqldump命令行 & i0 i, e1 G! d6 w+ {命令格式7 _7 e' c) F1 m2 q mysqldump -u用户名 -p 数据库名 > 数据库名.sql $ i' K' e, P8 X7 o+ _/ }6 ~. @范例: 4 j3 S8 W& f8 V8 `, \mysqldump -uroot -p abc > abc.sql: c' Z3 U, A! F9 K2 T (导出数据库abc到abc.sql文件)4 V; g5 ?* c) W: e 8 T, |- I& w1 n. @提示输入密码时,输入该数据库用户名的密码。: S& h( {* W. a + d! {2 R/ j, v) J2.2. 创建空的数据库 9 L7 Z: F8 G# C- w通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 0 s) ?0 m5 T. O: D4 w. {; ]% L* A- T; S. T/ E. U 2.3. 将SQL脚本导入执行 ; K; @6 d3 m! t2 d3 E1 e同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。- H2 I6 {4 V) `) k. g 2.3.1 用phpMyAdmin工具 2 C; O% h) Z8 g# A! o& |从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。 4 c" x2 @$ Y" Y! X a+ D在”SQL”菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。 ' P5 B3 ]) @" P+ w/ A0 V, @1 o \$ S7 S' J 注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件5 L" F' E2 m, n$ ^+ J( T 比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。! K. N/ T" u3 P! B# M6 E7 w. X gzip使用方法: $ v9 j* t; m& H' ]6 R9 C+ F# gzip xxxxx.sql - T% Y$ \- i' u" q, o d; ?得到 5 u) a% O' b4 W0 r& J K; p( ]xxxxx.sql.gz文件。( J+ Q$ A4 s6 A) q! \) h $ `. T# s& ?& q9 {2.3.2 用mysql命令行/ ]. @! u" e) J- g2 y8 |: s4 | 命令格式 ' K( h7 h1 h, R: T+ hmysql -u用户名 -p 数据库名 < 数据库名.sql ! j. S/ N8 z# I& n5 S7 l范例: 1 [( e- {! D1 Rmysql -uabc_f -p abc < abc.sql 6 k& F) t0 p/ }0 |8 q(导入数据库abc从abc.sql文件) 9 j8 ]8 z# N9 M' d8 [& n6 p) j1 o: l3 W- t# t 提示输入密码时,输入该数据库用户名的密码。 - V0 [/ E' [3 O4 R1 k0 O7 Y/ P 3 方法二 直接拷贝5 |: ^. V3 }1 V3 k2 i0 ]8 a* M 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。 / D( _8 N7 E, Q, _3.1 准备原始文件+ d. p0 f# X L9 O7 z3 d* p 用tar打包为一个文件 0 T. j- d! t8 a/ ?/ T1 i1 d ; _5 {6 O& S% H4 p4 E. _2 |( D3.2 创建空数据库% q: A: \% Y! _9 m2 ?/ h - Q) r) x. S" ? v; o: D 3.3 解压: ~& ~, ~2 J0 V* O9 W9 C: r 在临时目录中解压,如: 2 }, e# v( ~8 C& {cd /tmp 2 T- ^) S4 T: b7 h! p! [% mtar zxf mydb.tar.gz/ r: I p, H r) D ' H! U/ M, R8 t4 n 3.4 拷贝$ `* o$ x: ^ { 将解压后的数据库文件拷贝到相关目录, G* W5 J: N! y' ^/ v/ E( s- g# Q cd mydb/7 Z, Y. l1 T, u1 U. \, N1 E cp * /var/lib/mysql/mydb/ / R$ K+ g: M* ]1 d0 G+ y) e: W/ e9 j+ G, m* d, j 对于FreeBSD: : n6 w5 p: {# O) M$ ncp * /var/db/mysql/mydb/4 \$ V9 M. o {6 v' q # i( n! Q8 T9 a. j 3.5 权限设置$ ?- \% J, x5 b5 ` 将拷贝过去的文件的属主改为mysql:mysql,权限改为6606 ]% n( j" m/ i9 Z( B& L& |3 Q chown mysql:mysql /var/lib/mysql/mydb/*/ S& M+ h4 ?6 x8 F& g( u chmod 660 /var/lib/mysql/mydb/*' @# G H# X u5 B) _+ L! ~" j 2 f, P3 P( u+ J/ H) J! I如建一个VBB的WORD表:& z. Q5 Z/ M# c w; X & k8 D9 Y8 g# S) S) O sql代码如下: & i" q6 K9 u" e3 j# s: _( Y复制内容到剪贴板代码: ; Q! F4 I& u H# Y+ J oCREATE TABLE `word` (, s, e+ n1 r5 V7 G0 d $ i' M7 D9 U! C' T, h8 Z`wordid` int( 10 ) unsigned NOT NULL AUTO_INCREMENT , ( k6 K4 T, g2 p$ @* m Q% Z`title` varchar( 50 ) NOT NULL default ”,. F5 j2 j: Y* {9 M, P4 v `score` int( 10 ) unsigned NOT NULL default ‘0′,! i3 X2 f6 S$ U: r! Y `dateline` int( 10 ) unsigned NOT NULL default ‘0′, 0 ^* c& j4 d3 ^. q6 B' qPRIMARY KEY ( `wordid` ) , 8 k$ {- i5 m# Q: A# cUNIQUE KEY `title` ( `title` ) 3 P" T6 [" J" s# a, q7 s4 c! U) TYPE = MYISAM
遨海湾-心灵的港湾 www.aosea.com
您需要登录后才可以回帖 登录 | 入住遨海湾

本版积分规则

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

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

GMT+8, 2025-2-22 16:44

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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