利用SSH导入大数据到mysql的快捷方法
本文作者:李德成 Vitaly Lee
原文链接:http://www.lidecheng.com/blog/ssh-wget-input-large-sql-file/
任务目标:把一个340+MB的mysql数据库文件导入到DreamHost的mysql服务器上。
需解决的问题:
实现步骤:
利用SSH直接把网站上的数据下载到远程服务器
1、请确认你有SSH登入远程服务器的权限。
DreamHost用户可以到后台(DreamHost Web Panel)> Users > Manage Users > 选择你的用户并把连接方式改为shell access。
2、首先用SSH登入到远程服务器:
使用软件PuTTY:

在Host Name填入你的ftp登陆地址或IP,并且在连接方式(connection Type)选择SSH。
3、登入服务器:

在Login as处填入用户名,在password后填入密码,注意用户名是可见的而输入密码时是不可见的。如果用户名和密码正确会出现类似上图的欢迎界面。
使用“ls”命令列出一下服务器上的文件和文件夹。
4、使用“wget”命令在其他网站上下载数据文件:

命令既:“wget {文件地址}”,如果正确会像上图一样有一个进度条、文件体积、传输速度和剩余时间的提示。
如果在本地上传的话只有6k-10k的速度,但是使用wget下载文件就有1.42M/s的惊人速度,平均值也达到了900kb/s。340M的文件几分 钟遍下载完成了。如果按平常方法,在网站上把文件下载到本地,再用ftp软件上传的话,没有十几个小时是不可能的。
5、传输完成。

文件下载完成,再用“ls”命令看一下。
导入大文件到mysql数据库
6、现在去建立一个目标数据库。
我建立的数据库名为:“ipdatatest2”

7、用mysql命令吧数据文件导入数据库

在数据文件的当前位置使用mysql命令:
mysql -h mysql.example.com -u username -ppassword dbname < outfile.sql
8、检查数据库

任务目标达成。
No related posts.
a任务中,备份数据库的网站需要支持SSH吗?