如果我们的数据比较小(比如2M或以下),我们可以很方便的使用phpMyAdmin的导入导出功能,先说导出,我们在phpMyAdmin中导出SQL
脚本就相当于文件下载,如果PHP环境允许,脚本执行不会超时的情况也是可以导出大文件的,但是稳定性和速度不够。我们还可以使用MySQL提供给我们的
命令行工具进行导出。如果是windows系统,在mysql的安装目录下的bin目录有一文件名字是mysqldump.exe,当然如果是集成环境
(比如wamp等)可能路径有些差别,我们只要找到mysqldump.exe就可以了。我们打开命令行界面,进入到mysqldump.exe所在的目
录执行以下格式的命令:mysqldump.exe -u
mysql的用户名
-p
mysql的密码
数据库名 >
要保存的路径和文件名。比如我执行的是mysqldump -uroot -proot demo >
F:/test.sql(
mysqldump.exe后的扩展名exe可以省略
),回车后没有提示,但是在指定的目录下已经生成好了SQL脚本文件(这条命令将数据库demo导出sql脚本导出到F盘,名字是test.sql),导出速度也相当快。
如果要导出数据库中的一张表或几张表而不是全部使用的命令是mysqldump.exe
-u
mysql的用户名
-p
mysql的密码
数据库名 表名1 表名2 >
要保存的路径和文件(数据库名后加空格表名就可以了,有多张表的话使用空格隔开),例如执行mysqldump -uroot -proot
demo users photo >
F:/test.sql(意思是将demo数据库下的user表和photo表导出)。你可能要问如果要导出多个数据库呢。也有对应的命
令:mysqldump -uroot -proot --databases ci demo >
F:/test.sql(增加了--databases参数后面直接跟数据库名空格隔开就可以了,想导出几个就导出几个数据库)。
以上介绍的是windows平台下的导出命令,在Linux下也是一样的道理,需要执行mysql安装目录下的mysqldump(注意:linux下没有exe扩展名了),例如:
其他参数都是一样的,这里就不再赘述。
完成了导出,我们再来看一下导入,同样因为phpMyAdmin就是一个PHP程序,在导入SQL脚本的时候使用的是文件上产的方式,能够导入的数据大小和PHP的环境有关,并且在导入的时候有提示,比如我当前的PHP环境允许上传的最大大小是10M:
虽然我们可以修改我们的PHP环境配置,但是如果我们要导入的SQL文件很大,比如说几百M,甚至上G大小,那么就不可能使用此方式进行导入了。同样
MySQL为我们提供了命令行导入,与导出不同的是需要再命令行下登录mysql,在windows下登录mysql用到的可执行文件是bin目录下的
mysql.exe,命令格式是mysql -u用户名 -p密码,例如mysql -uroot
-proot,执行此命令后进入mysql的命令行界面,接下来执行以下命令:
1.设置编码,否则可能出现乱码。比如我们要导入的sql文件编码是utf-8的则执行
set names utf8;(注:如果在sql脚本中已经有选择数据库的命令,此命令可以不执行,当然执行了也没有影响)
2.选择数据库,use
数据库名,比如要导入的数据库名demo则执行 use
demo;(注:如果在sql脚本中已经有选择数据库的命令,此命令可以不执行)
3.这是比较关键的导入环节执行source sql脚本路径和名字,例如source F:/a.sql
这样sql脚本就会被导入了,如果是Linux环境,也是同样的方式,只是路径不同而已。
<!-- 正文结束 -->
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员