几乎每个phper都经常要导入导出数据,mysql的数据库导入导出最方便的莫过于在phpmyadmin下了,但phpmyadmin随方便,但局限性也不小,比如限说php的设置不能导入导出太大的数据,今天介绍的在命令行下的mysql导入导出方法(在windows平台下的操作)
一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->PATH=";path/mysql/bin;" 其中path为MYSQL的安装路径。
注:如果你的mysql命令以加入到环境变量,则不需要第一步,
二.命令行进入MYSQL的方法:
在运行里输入cmd,回车进入到windows的cmd界面下.输入
1.C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码,这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行就可以直接操作MYSQL了。
三.从数据库导出数据库文件:
1.将数据库mydb导出到e:\mysql\mydb.sql文件中:
打开开始->运行->输入cmd进入命令行模式
c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
2.将数据库mydb中的mytable导出到e:\mysql\mytable.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb mytable >e:\mysql\mytable.sql
3.将数据库mydb的结构导出到e:\mysql\mydb_stru.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql
//-h localhost可以省略,其一般在虚拟主机上用
四.从外部文件导入数据到数据库:
从e:\mysql\mydb2.sql中将文件中的SQL语句导入数据库中:
c:\>mysql -h localhost -u root -p mydb2 <e:\mysql\mydb2.sql
然后输入密码,就OK了
五.关于导入文件大小限制问题的解决:
默认情况下:mysql对导入的文件大小有限制的,最大为2M,所以当文件很大时,直接无法导入,解决列举如下:
1.在php.ini中修改相关参数:
影响Mysql导入文件大小的参数有三个:
memory_limit=128M, upload_max_filesize=2M, post_max_size=8M
修改upload_max_filesize=200M这里修改满足你需要的大小,可以同时修改其他两项memory_limit=250M ,post_max_size=200M.这样就可以导入200M以下的.sql文件了。
上文是把mysql放置在系统路径下,其实不放也可以。如我的mysql安装目录为D:\MySQL Server 5.0;
则首先打开dos窗口,然后输入D:(没有'\')回车
此时应该会出现D:\>这样的标志,然后在其后输入D:\MySQL Server 5.0\bin回车
出现D:\MySQL Server 5.0\bin>接着输入mysqldump -u root -p 数据库名 >数据库名.sql(也可以输入路径); (具体参照上面)
导入文件同样,只是改了'>'为'<'就可以了,或者直接用source也许:
常用source命令
进入mysql数据库控制台 : 如 mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(这里用到的是.sql)
mysql>source d:\mydb.sql