www.hostdomainzone.com

美国主机在使用美国主机过程中,MySQL数据库可以说是我们使用最多的数据库,管理MySQL的工具通常是phpMyAdmin,导入导出MySQL数据库通常也可以通过phpMyAdmin来完成。

使用phpMyAdmin导入数据库时,会有相应的限制,比如数据库文件大小不能大于2M等(取决于相关的设定,但肯定是有限制的)。另外,由于php有执行时间的限制,一般导入比较大的MySQL数据库时,可能会出现无法完全导入的情况。

前些时候,使用了一个叫StableHost的主机,通过phpMyAdmin导入2M多的数据库(gzip压缩的,解压后有将近60M),试了几次都无法导入成功,出现的错误是php脚本执行时间超时。又没有SSH,无奈之下,搞了一个php程序来调用系统命令导入了这个数据库。

搞了一个简单的php程序,使用php的函数exec()来执行系统命令,实现在没有SSH情况下,导入比较大的MySQL数据库。

$ret = exec($cmd);

将数据库文件通过FTP上传到空间上并解压,输入的命令$cmd类似为:

mysql –force –quick -h mysqlhost -u Username -pPassword DatabaseID < File.sql

为了保险起见,北山还在命令的后面加了一个&, 让后台运行命令,这样php程序就可以很快结束,以免超时。呵呵~~很顺利的把那个数据库。

还有,不仅仅是在导入数据库时采用这种方式,在在线压缩和解压文件时,北山也经常通过这种方式来做。运用的命令当然是Linux主机基本都支持的命令tar和gzip。有些Linux美国主机也支持zip命令,但是有些不支持,为了保险起来,北山还是建议使用tar命令来压缩和解压缩文件,避免一些不必要的麻烦。

最后附上北山使用的这个非常简单的php程序,点击这里下载,使用方法也非常简单

1. 将这个php程序 beishan-info-exec.php 上传到空间上

2. 运行 beishan-info-exec.php , 比如http://www.your-domain.com/beishan-info-exec.php

3. 在页面中输入要执行的命令,比如数据库导入命令,或者是压缩解压文件命令等。

备注:文件名称以及上传目录可以根据自己的实际情况进行修改,不要让别人猜出来了,否则很危险,建议使用完后马上删除这个程序,确保安全。当然,也没必要猜测北山的空间上是否有这个程序,呵呵~~没有这个程序 🙂

You can skip to the end and leave a comment. Pinging is currently not allowed.

bluehost美国虚拟主机-$5.95/月-无限空间/无限流量/一个免费域名

17 Comments to “没有SSH,如何导入大数据库MySQL?”

  1. 止戈 says:

    August 12th, 2009 at 8:34 am

    能写得详细点不,我是新手,像命令这些都不懂的,参数可以解释下不?
    谢谢了,最近被一个压缩后8M大的数据库弄得头疼,谢谢

  2. 数米基金网 says:

    August 12th, 2009 at 9:23 am

    我觉得也的很详细了, 仔细看2遍能看懂的

  3. Beishan says:

    August 12th, 2009 at 9:58 am

    @止戈
    如果你数据库主机是localhost,也就是本机,简单使用下面的命令就可以了
    mysql -u Username -pPassword DatabaseID < File.sql 其中Username,Password,DatabaseID,File.sql等就是字面的意思,分别是数据库用户名,密码,数据库名称,以及要导入的数据库文件名 使用SSH和日志中提到的方法,还是需要了解一点Linux命令

  4. A Side Story says:

    August 12th, 2009 at 6:43 pm

    这个时候就体现出SSH的优势来了,所以让主机支持SSH还是很有用的!

  5. Beishan says:

    August 12th, 2009 at 10:39 pm

    @A Side Story
    那是,有SSH当然方便多了

  6. Mr.Wang says:

    August 13th, 2009 at 11:02 am

    phpmyadmin相当于在服务器本机上操作数据库,通过web方式导入有限制是必然的
    不用SSH也行
    用MySQL客户端工具吧,比如SQLYog,几个G的sql文件导入都不成问题。前提是数据库要开远程连接。

  7. hello says:

    August 13th, 2009 at 6:43 pm

    帝国备份王

  8. Beishan says:

    August 13th, 2009 at 9:10 pm

    @Mr.Wang
    谢谢分享你的方法

  9. 博译论 says:

    August 14th, 2009 at 6:36 am

    不知道北山兄对允许放成*用品商城的主机熟悉不,美国或香港的都行!

  10. Beishan says:

    August 14th, 2009 at 1:41 pm

    @博译论
    不好意思,我这里不讨论有可能带来麻烦的话题

  11. 21 says:

    August 16th, 2009 at 6:21 pm

    本机装一个MySQL也可以解决这个问题的~

  12. 21 says:

    August 16th, 2009 at 6:21 pm

    或者找一个第三方的支持SSH的空间间接导入也行~
    我一般用DH,国外对国外,速度快,效率高,不经过本地~

  13. Beishan says:

    August 16th, 2009 at 11:55 pm

    @21
    具体怎么操作,写详细一点呗

  14. exchange says:

    August 21st, 2009 at 6:49 pm

    能不能详细点呢?有点不太理解你那个命令

  15. Beishan says:

    August 21st, 2009 at 10:44 pm

    具体的导入MySQL数据库命令,查一下MySQL的帮助就可以了,这里也没办法详细讲

  16. 止戈 says:

    August 24th, 2009 at 4:30 pm

    终于搞定数据库了,用了帝国备份的,太笨了,北山的这个试了好几次都没成功,不过还是谢谢了。

  17. Beishan says:

    August 24th, 2009 at 4:41 pm

    @止戈
    你是导入还是导出?用这个方法没有成功?是命令输入不正确吧?你用的是哪家的主机?

Leave a comment

为了做关键词或者推广的评论,直接删除,请不要费力

eleven2 Hosting