正 文:
最近飘易需要从godaddy上把mysql数据库导入到linode的vps上做扩展,数据库大约1G大小,如果经过中间中转的话,速度不会快。我用到了以下几个命令,做个记录。
先SSH登录vps的shell环境。
用wget通过ftp协议下载godaddy上已经备份好的mysql数据库:
wget -c --ftp-user=用户名 --ftp-password=密码 ftp://90.70.1.1/data.sql
这里有个小插曲,我把godaddy的mysql数据库备份移动到网站的正常目录下,用浏览器(包括浏览器ftp)无法成功下载,不是401需要验证就是404找不到这个data.sql文件,但这个文件明明就在那里,可能是godaddy采取了某些安全措施吧。最后只有用ftp方式下载成功。
vps上导入到mysql数据库:
mysql -h localhost -uroot -p密码 data</home/wwwroot/data.sql --default-character-set=utf8
如果出现这个错误:
mysql ERROR 1049 (42000): Unknown database data
则意味着你需要手动创建空的数据库data,然后再执行以上的导入命令。
如果你需要把mysql数据表中的某一列导出来,我们可以用下面的命令:
mysql -h localhost -uroot -p密码 -e "select id from data.product">/home/wwwroot/id.sql
飘易顺便看了下godaddy和linode vps的mysql性能:
godaddy的mysql数据库是买主机赠送的1G大小,linode 是512M的那款,我的数据库大小约1G,就一个表,大约160万行数据。
用phpmyadmin查询,前面的记录两者的查询速度是差不多的都是0.2秒以内,但是数据越到后面,vps上的速度就越慢了,最后一页的速度godaddy的mysql只用了1秒多,而linode vps的mysql则用了10秒多,差距明显啊。
godaddy是独立的服务器上专用的mysql,性能当然强悍点;linode vps毕竟是才512M的内存,cpu也有限制才导致完败给godaddy的,情有可原。