用SQL语句解决mysql导入大数据文件的问题

对于经常使用MYSQL人来说phpmyadmin是个必备工具这个工具非常强大几乎可以完成所有数据库操作但是它也有个弱点对于往远程服务器上导入较大数据文件时候会速度奇慢甚至出现长期没有响应情况

为什么会出现这样情况呢?当我们选择个sql数据文件并提交时候服务器首先要先把文件上传到服务器然后才会执行导入代码把数据导入到数据库我们知道phpmyadmin是通过web方式上传数据文件而web方式上传是很不稳定尤其是网速慢时候这就是为什么我们会有那么多次在电脑前面苦苦等待而最终却没有结果原因

通过上面分析我们知道这个问题是出在web上传而非导入所以如果能避免通过web上传这个问题就好办了我们可能会想到那功能强大ftp上传工具可是phpmyadmin无法选择远程路服务器上文件这是很郁闷

这里我们要放弃phpmysqladmin通过mysql语句来导入数据库很多人会纳闷如何来执行SQL语句这是个关键问题这需要你空间支持SSH(Secure Shell Protocol)并且你还得会些linux命令

首先通过SSH登录到服务器(我用putty登录工具)通过些简单linux命令找到我们sql文件然后运行下面代码:

mysql db_name < data_file.sql

执行完命令的后如果没有任何提示则介绍说明我们数据已经导入成功了(注意文件格式是date_file.sql, sql.gz在中文下会出错)

———————–2008.12.9 update———————-

有些时候你可能会遇到信息说你权限不够那我们就需要加些参数了

mysql -hlocalhost -uusername -p db_name < data_file.sql

这样回车的后就会有输入密码提示然后输入你数据库密码就可以导入了

参数-h是指定导入服务器-u是数据库用户名-p是登录数据库密码这 3个参数后面不用加空格

———————–2008.12.9 update———————-

这是个很好办法但是也不是所有人都可以用这个思路方法前提是你空间必须支持SSH登录而支持SSH登录空间还是比较少这真是挺让人遗憾

还有个办法就是把phpmyadmin里面import那个功能模块提取出来稍微改动下也可以达到相同效果当然如果你是个PHP高手也可以自己写个导入可以直接选择个服务器路径期待ing
Tags: 

延伸阅读

最新评论

发表评论