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

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

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

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

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

×
1. 概述 4 G2 e; f) h3 e& vMySQL数据库的导入,有两种方法: . l6 c. b; B, G6 q: @- ^1) 先导出数据库SQL脚本,再导入;- P. L( U& {0 P* A) | 2) 直接拷贝数据库目录和文件。1 x# `2 m. u, g: n ; ~9 e$ x& v$ H6 o9 k" D1 | 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。: N5 h2 ?1 N X& | 所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 ( c7 I0 `' S" }! ?) J: n/ u7 W7 P, o $ x+ G2 O# c z: W9 ~6 [; l2. 方法一 SQL脚本形式 % Y( _% L% d) H$ i操作步骤如下: 2 M8 |- b. Y, D; j, a" O2.1. 导出SQL脚本 2 P C& m+ x, w! S$ B* h; q在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。 " L" ]2 L V9 p, t' h% y) l2.1.1 用phpMyAdmin工具 " W/ T3 b8 l2 k4 b7 g导出选项中,选择导出“结构”和“数据”,不要添加“Drop DATABASE”和“Drop TABLE”选项。 L5 Y- U7 ]3 x选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。+ v) n# R. W" \ U/ R* b 将导出的SQL文件保存下来。8 s5 O- d: F5 t0 k 7 `7 d0 C; P4 P. r2 K4 X 2.1.2 用mysqldump命令行 + C# m6 ^! R3 z6 E命令格式) x- B- D; `% A$ K/ L mysqldump -u用户名 -p 数据库名 > 数据库名.sql. d6 I& \4 u8 @. I" R 范例:+ `9 E3 u5 P- s0 O mysqldump -uroot -p abc > abc.sql 0 \2 q! |0 I, T(导出数据库abc到abc.sql文件) # }8 N# u [4 x W5 O, R5 b* h5 w1 H# Y提示输入密码时,输入该数据库用户名的密码。. _; K4 }% _5 B 5 ~% _ A2 `, E$ N- i2.2. 创建空的数据库! q6 f5 O9 p: G 通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 9 u" H! A. q6 ^5 {5 R' {1 m, b+ A. `( Q j7 o4 o 2.3. 将SQL脚本导入执行 ; o) k# s r* g+ K H; @同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。9 G1 Q2 D7 f" g; m 2.3.1 用phpMyAdmin工具 s. R3 P8 N7 k# M$ ~ 从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。 ?/ S; N( t8 K1 ?1 M在”SQL”菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。) r4 I! ?: o/ k1 h % W. b" r" s! u* N* i, ]) X) b1 C( Q. [注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件 . e( }) V5 R3 l5 y k比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。 $ b0 J- W/ w8 s1 I- S% t- |gzip使用方法:2 ~) A; A: C6 J- [ A/ y* Y # gzip xxxxx.sql {4 q5 h4 x' t 得到 , P0 N8 h3 _8 }1 Kxxxxx.sql.gz文件。 % M1 U5 K) ?; m8 B7 a- S* v" `: e: g* b% Y- j" l: @ 2.3.2 用mysql命令行 * Q; F' g' }, E4 K+ y- O# |/ o) y: S命令格式 ! \$ ~ @. U7 Y& I& o \, ?mysql -u用户名 -p 数据库名 < 数据库名.sql( m9 y& d9 M$ J1 H 范例: 2 C2 q! h" K) e/ h2 `- k+ {( l: Pmysql -uabc_f -p abc < abc.sql% \0 _0 K, \' e& H } (导入数据库abc从abc.sql文件) ' _& ]& B2 |" P& S8 v0 y, u& N( z' q4 s' [ : V O/ N1 _4 a E) N提示输入密码时,输入该数据库用户名的密码。 ( e$ |* s: R% u2 }! C T: Y. q# o' C3 X I4 U8 {. q7 ^9 A" v 3 方法二 直接拷贝$ H& e+ n) n( H8 l6 C/ k 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。+ n1 _' D' i9 B 3.1 准备原始文件 0 ?3 ~; \9 Z3 m9 R用tar打包为一个文件; K; }4 n; g9 Q1 }. j5 K6 G- v + J' \: h0 n2 Z3 Y& E7 Z3 u0 R 3.2 创建空数据库- _! Q" u' G# v, E $ ]3 `- c% |) v+ a% ?' g- \7 i 3.3 解压6 d& G9 s x7 |5 L8 n$ Q3 G 在临时目录中解压,如: ) h0 Y8 B& @9 g' l7 ]6 ?cd /tmp ( X! r6 d; W6 A- U* E9 xtar zxf mydb.tar.gz, ?1 I7 R% U ?7 l' f n8 Z1 t + Y" A N% y/ D w/ g: [9 M2 K$ c+ { 3.4 拷贝 9 I2 L7 t0 R* J. q9 l! f( h4 |将解压后的数据库文件拷贝到相关目录8 e$ U: ^; H" n p4 {: t cd mydb/ * F0 f# C, F5 |cp * /var/lib/mysql/mydb/ ( k; V7 ~- ~& k5 Y; A % ~1 f' m/ S0 G+ B. {% E3 a# @7 y对于FreeBSD: L( `$ D( R0 c! x0 R$ X9 G cp * /var/db/mysql/mydb/ # K/ J9 W7 l6 q% K0 i/ N# |. y* r1 v+ a- F 3.5 权限设置 ) E6 d# |* z2 i5 W0 R将拷贝过去的文件的属主改为mysql:mysql,权限改为660$ T# m4 y, V& x) N2 ] chown mysql:mysql /var/lib/mysql/mydb/*0 }8 Z1 |) S' N! O2 H* T0 `3 E4 n chmod 660 /var/lib/mysql/mydb/* ) [( b1 G. A2 u$ t, |- @ 9 Y a* T1 e9 |- B如建一个VBB的WORD表: ! |+ z% ~6 K; g8 [0 R. r. ?) Q1 Z4 l) z& P) `2 K @ sql代码如下:$ r" W% b# j. f1 F* e 复制内容到剪贴板代码: : n4 n% }: n# t OCREATE TABLE `word` ($ }+ F, H; z9 O& t- @/ r8 O ! b9 m* E4 Q# X: D`wordid` int( 10 ) unsigned NOT NULL AUTO_INCREMENT , ) B- T( B) r# i' H+ z6 u$ ^5 i`title` varchar( 50 ) NOT NULL default ”," K" G; j8 v3 G' e `score` int( 10 ) unsigned NOT NULL default ‘0′, ) B1 b! W3 ?7 }8 x`dateline` int( 10 ) unsigned NOT NULL default ‘0′, 3 \6 G& n# x# { B7 {. M: IPRIMARY KEY ( `wordid` ) , 0 k" I& |2 t% g' Z7 m2 iUNIQUE KEY `title` ( `title` )( Q2 t9 y, s' o; J ) TYPE = MYISAM
遨海湾-心灵的港湾 www.aosea.com
您需要登录后才可以回帖 登录 | 入住遨海湾

本版积分规则

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

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

GMT+8, 2025-4-4 22:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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