月度归档:2008年12月

从HostMonster导出百兆以上级别MySQL数据库

如果数据库规模太大,用phpMyAdmin导出来并下载,那是一件相当漫长的事情。特别是从HostMonster这样的国外服务器(虚拟主机)下载,更是相当痛苦,每秒几k的速度要下载几百MB的文件,还没等下载到一半就已经断线了。
所以用cPanel中的Cron Jobs调用mysqldump来导出数据库。
命令设置范例:
mysqldump -u zuoliang -p密码 gupiao123 > gupiao123.sql
要注意的是-p和密码之间没有空格。
算好时差,然后只需要设置Minute和Hour就可以了,计划任务时间延后2分钟执行就可以了。
或者可以直接在登陆ftp的时候,看主机的当前时间。
导出通常是很快的,200多兆的数据库转眼就乖乖的存在根目录了。
然后最好先用cPanel的文件管理工具压缩一下,可以压缩成.gz文件。
接着上传到新服务器上,gzip -d gupiao123.sql.gz 解压缩。
最后开始导入数据,假设已经建立好数据库,命名为gupiao123,数据库文件解压缩后命名为gupiao123.sql存放在根目录下。
# mysql -u zuoliang -p密码
mysql> use gupiao123
mysql>source gupiao123.sql
(如果是在Windows下,路径也要用/,例如source d:/gupiao123.sql,否则可能会提示语法错误。)
接着exit就ok了。

把yum安装到CentOS+OpenVZ中

终于用上VPS了,以后股票123不会因为太受各国搜索引擎爬虫欢迎而被suspend了。
现在分配的512M内存,装完系统后已经用去了280M左右的内存,还有200多够用的了,至少比虚拟主机要要很多,情况和曾经用过的一个独立主机差不多,不过CPU肯定要比那个PII好,而且怎么这说也是自己的服务器。
连上SSH,用起来真舒服。。。
兴奋之余发现了个问题,lunarpages的VPS用的是Centos的4.5版。
默认的PHP版本是4.x.x,MySQL版本是4.1.x版本,而原来在Hostmonster用的是PHP5+MySQL5,如果数据库降级转换,可能会丢失一些属性。
之前就有做过MySQL4.1到4.0的转换,当时网上还没有这方面的资料,大多都是4.0怎么升级到4.1的文章,降级转换也都是5.0到4.0或5.0到4.1之类的资料,弄了两天终于解决了乱码问题,网站系统可以正常运行了。但后来的运行中才陆续发现,很多后台管理功能都不能正常使用,也就是说,从数据库中Select数据没问题,但增删改的时候就出错了,后来发现,在降级操作过程中,一些数据表中的属性被忽略掉了。
所以决定升级VPS中的PHP和MYSQL版本,不过发现执行yum命令时,提示无效,没有此命令。
没有yum,以后更新也会很麻烦。
找了很久,也没有这方面的资料,这种情况应该只出现在安装了OpenVZ的Centos4.x中,而网上少数遇到此问题的人寻求答案,得到的大多都是“CentOS默认就有yum”。
所以只能自想办法了,安装yum:
[root@vps /]# rpm -ivh http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.i386.rpm
[root@vps /]# rpm -ivh http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/yum-2.4.3-4.el4.centos.noarch.rpm
现在有了yum就好办多了,升级PHP:
[root@vps /]# yum update php
升级MySQL:
[root@vps /]# yum update mysql
第一次用yum升级程序,所以干脆来了个彻底的:
[root@vps /]# yum update
享受了一下全面升级的感觉。