Posts Tagged ‘MySQL’

Linode放出了Ubuntu 9.10,之前已经装上了,不过一直没空把记录的安装步骤发上来,今天刚刚搞定静态文件的设置,稍微有空,抓紧时间放上来。

初步设置(针对Linode及可以分区的服务器或VPS,如果你的VPS不能分区,请跳过):

1,在Linode上建立一个单独的/home分区,并在建立系统后挂载到该系统下。Linode可以挂载8个区,包括系统分区和swap区~我将/home分区挂载到/dev/xvdh ;

2,启动新建立的系统(Ubuntu9.10),编辑 /etc/fstab 文件,添加以下代码:

/dev/xvdh       /home           ext3    defaults        1       2

保存后退出;

3,重启Linux后,/home已经挂载成功~

Read the rest of this entry »

Tags: , , , , ,

13

微软发布MySQL to SQL Server迁移工具 CTP1.0

   Posted by: 等待一生    in Web Server

MySQL(世界上使用最为广泛的开源数据库软件,目前为Sun Microsystem所有)对于微软来说既是竞争者又是合作伙伴(早前MySQL曾加入Visual Studio工业伙伴计划),而自从甲骨文(Oracle)宣布要收购升阳(Sun MicroSystem)之后(顺便得到了升阳旗下的MySQL数据库),MySQL更是升级成为微软的敌人(甲骨文旗下的Oracle数据库是微软SQL Server最为强大的对手)。所以微软此次发布MySQL to SQL Server迁移工具也就不让人意外了。

Read the rest of this entry »

Tags: , , ,

17

自动备份mysql数据库并发送到Email

   Posted by: 等待一生    in Web Server

自动备份mysql数据库的脚本,再加上gmail这个G级邮箱,备份多少数据都可以了...下面是代码: Read the rest of this entry »

Tags: , , , ,

之前在Debian的VPS安装了Apache2.2+MySQL5+PHP5,以及添加了FastCGI模组,内存少了不少,但依然还是很严峻- - 而且速度不是很理想。突然想到之前看到过介绍,在CentOS上使用Apache负责动态PHP,而Lighttpd负责静态文件的方案。折腾了一个早上,终于初步搞定~下面记录方法~

2006613975486605

Debian的好处就是直接通过apt-get即可安装(其实我想编译安装。。。但失败了- -)

1,安装Apache2.2+MySQL5+PHP5

2,安装Lighttpd:

apt-get install lighttpd

选择"y"安装后会提示无法启动,端口80被其他程序所使用。不急,稍后就开始设置~

3,配置Lighttpd

3.1 修改“/etc/lighttpd/lighttpd.conf ”文件:

server.document-root = "/var/www/html"
server.errorlog = "/var/log/lighttpd/error.log"
accesslog.filename = "/var/log/lighttpd/access.log"
erver.port = 81
server.bind = “localhost”
server.username = “www-data”
server.groupname = “www-data”

注意,要去除前面的注释标记“#”

3.2 安装lighttpd的simple-vhost模组:

/etc/lighttpd/conf-enabled simple-vhost

开启模组使用命令:/usr/sbin/lighty-enable-mod

关闭模组使用命令:/usr/sbin/lighttpd-disable-mod

3.3 修改lighttpd的simple-vhost模组:

编辑文件“/etc/lighttpd/conf-enabled/10-simple-vhost.conf”,按下列形式修改:

server.modules += ( "mod_simple_vhost" )
simple-vhost.server-root = "/home/www"
simple-vhost.document-root = "/"
simple-vhost.default-host = ""

4,开启lighttpd

执行命令:/etc/init.d/lighttpd start   开启监听 81端口;

5,安装Apache2.2 相关模块:

a2enmod rewrite
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_connect

重新载入Apache:

/etc/init.d/apache2 force-reload

6,修改站点配置文件“/etc/apache2/sites-available/”:

按照如下格式填写即可:

ServerName silentstreet.net
ServerAdmin webmaster@mgrei.com
DocumentRoot "/home/www/silent/"

Options FollowSymLinks
AllowOverride All
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch

ErrorLog "/var/log/apache2/silentstreet-error.log"
CustomLog "/var/log/apache2/silentstreet-access.log" common
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule “^/((.*).(js|css|htm|html|swf|gif|jpg|png|ico|exe|zip|rar))$” “http://0.0.0.0:81/$1″ [P,QSA,L]
RewriteRule “^/(.*)” “$0″ [L]

ProxyRequests Off
ProxyPreserveHost On
ProxyReceiveBufferSize 16384
ProxyTimeout 60
ProxyPassReverse / http://0.0.0.0:81/

这样就完成了~

顺带一提,网上CentOS方案中提到添加cache模组效果会更好,不过我暂时用不到,所以先记着~

为了使mod_proxy能够发挥更好的性能,还可以加入mod_cache模块:

LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so

CacheEnable mem /
MCacheSize 10240
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048

CacheRoot /var/cache/mod_proxy
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3

Tags: , , , ,

4

Debian安装Apache2+MySQL5+PHP5

   Posted by: 等待一生    in Web Server, 寂静街广场

终于在Debian用apt-get安装好LAMP了,之前在CentOS使用编译安装,速度比现在快,但内存使用怎么都优化不下来,又没时间深入研究。。。使用yum安装后更头疼,别的都可以,phpmyadmin居然不能连接数据库。。。试了N种方法都不行,最终只能放弃。装回Debian了- -

debianapachemysqlphp090705

记录下自己的安装过程,以备后用~

1,更新Debian:

apt-get update

apt-get updgrade

2,安装Apache2:

由于内存只有360M,得省着用,所以选择了prefork模式安装:

apt-get install apache2-mpm-prefork

3,安装mysql

apt-get install mysql-server-5.0 mysql-common mysql-client

4,安装php相关组件,并整合mysql

apt-get install php5-common php5-mysql php5-cgi php5-gd php5-mcrypt libapache2-mod-php5 php5-memcache php5-imagick php5-suhosin php5-xmlrpc

如果需要,可以如下安装

apt-get install php5-common php-pear php5-curl php5-dev php5-gd php5-idn php5-imap php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xsl

注:

如果要删除某个包,可以用以下命令

apt-get remove

比如删除php-cgi

apt-get remove php-cgi

如果不知道有哪些安装包,可以用如下命令:

apt-cache search

比如:

apt-cache search apache2

5,设置Mysql账户、密码,及优化:

mysqladmin -u root password ''   //在引号中输入密码

登陆MySQL数据库

mysql -u root -p

修改原始账户(mysql)

mysql>use mysql;
mysql>update user set user="自己设定用户名" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)
mysql>select Host,User,Password,Select_priv,Grant_priv from user;
mysql>delete from user where user=''; (删除user用户)
mysql>delete from user where password=''; (删除user用户)
mysql>delete from user where host=''; (删除user用户)
mysql>drop database test; (删除默认的test数据库)
mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效)
mysql>quit;

修改MySQL的配置文件在/etc/mysql/my.cnf

找到 #skip-innodb 去掉注释

重新载入Mysql

/etc/init.d/mysql reload

或者重启Mysql

/etc/init.d/mysql restart

6,设置php

修改文件:/etc/php5/apache2/php.ini

找到以下数值,修改为自己需要的数值

memory_limit
post_max_size
upload_max_filesize

关闭以下功能 Off

enable_dl
display_errors

7,Apache优化及设置:
修改 /etc/apache2/apache2.conf文件

Timeout 300

改为

Timeout 60

KeepAliveTimeout 15

改为

KeepAliveTimeout 5

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

改为

StartServers 3
MinSpareServers 5
MaxSpareServers 10
MaxClients 50
MaxRequestsPerChild 2000

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

保存退出,并重启apache

/etc/init.d/apache2 reload

/etc/init.d/apache2 restart

激活deflate模块(用于页面压缩),在SSH界面输入:

a2enmod deflate

让apache2得进程加载新配置的模块

/etc/init.d/apache2 force-reload

再修改 /etc/apache2/apache2.conf文件,在最后加入

在文件之后加入:

DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js

激活mod rewrite(用于伪静态连接地址),在SSH界面输入:

a2enmod rewrite

让apache2得进程加载新配置的模块

/etc/init.d/apache2 force-reload

再修改 /etc/apache2/apache2.conf文件,在最后加入:

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

网上有人这么设置的,不过很多时候,网站多了很不好控制,都已我没有在apache2.conf添加这最后一段。

重新载入apache

/etc/init.d/apache2 reload

或重启apache

/etc/init.d/apache2 restart

8,在Debian Apache5下设置多域名:

设置/etc/apache2/sites-available/default,将ServerAdmin改为你自己的邮箱,并在之前添加一段,作为你的空间根目录域名:

ServerName xxx.com

将/var/www/目录全部修改为 /home/www/

在SSH界面输入:

chmod 755 -R /home/www     //设置网站根目录权限

ls -lh //查看文件夹属主

cd /home/www/

chown -R www-data:www-data /home/www/

做好这些后,保存并退出default。

在/home/www/建立新文件夹“1”;然后在当前目录“/sites-available/”新建一个文件,假设文件名为1,打开文件1,输入以下内容:

<VirtualHost *>

ServerName xxx.com       //此处输入域名

ServerAdmin webmaster@mgrei.com

DocumentRoot "/home/www/1/"       //网站目录

<Directory />                               //这段添加后,可直接支持.htaccess

Options FollowSymLinks

AllowOverride All

</Directory>

ErrorLog "/var/log/apache2/1-error.log"

CustomLog "/var/log/apache2/1-access.log" common

</VirtualHost>

保存该文件,然后在SSH界面下输入:

a2ensite 1

这时,设定的网站域名已经被绑定了,在/etc/apache2/sites-enabled/文件夹会有一个1的快捷链接。重启一下Apache后,就可以操作该网站了:

/etc/init.d/apache2 restart

现在就可以用浏览器登陆你的域名了~

分开设定确实麻烦了点,但好处还是很大的,比如我要单独维护网站1,只需要输入以下命令:

a2dissite silent

然后重启一遍即可

/etc/init.d/apache2 restart

其他网站还是会正常运作,不会受到牵连~

9,安装phpmyadmin:

由于debian的php版本是5.2的,所以可以使用phpmyadmin3.1,也省去了不少麻烦,不用apt-get安装,直接如下操作即可:

cd /usr/local/src
wget http://ncu.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0-all-languages.tar.gz
tar zxvf phpMyAdmin-3.2.0-all-languages.tar.gz
cp -rf phpMyAdmin-3.2.0-all-languages /home/www/phpmyadmin

10,安装sendmail:

很多人说sendmail不好,不过我不是要邮件服务器,只不过需要一些邮件发送支持罢了,sendmail对我是足够了~

apt-get install sendmail

11,安装 Zend Optimizer

cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

按照它的提示一步步进行就行了。

总之一句话。如果你的服务器环境不需要ZendOptimizer,那么能不安就不安装这个。避免和eaccelerator冲突。

好啦,全部装好了,可以使用了。。。不过目前由于是apt-get安装,没有找到php-config,所以eaccelerator和xcache暂时不能安装,不知道怎么办。。。

Tags: , , , , , ,

3

MySQL 5.1系列最新版本5.1.36发布

   Posted by: 等待一生    in Web Server

最新稳定版本5.1.36,这是去年11月26日5.1.30发布并标志着5.1系列正式GA后的第六个版本。上一个版本是2009-06-04的5.1.35。这个版本主要对Windows平台的安装包做了一些改进及复制的Bug修正.其他各产品线是 5.0.83 4.1.25 4.0.30.

logoMysql

下载源码包:

ftp://mirror2.dataphone.se/pub/mysql/Downloads/MySQL-5.1/mysql-5.1.36.tar.gz

其他平台的bin包请见官方ftp

ftp://mirror2.dataphone.se/pub/mysql/Downloads/MySQL-5.1/

相关改进及修正声明:

http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html

Tags: ,

25

Linux VPS安装AMP (Apache+MySQL+PHP)

   Posted by: 等待一生    in Web Server, 寂静街广场

经过几个月断断续续的学习,我终于学会了安装LAMP。。。汗,虽说是几个月,但也没多少时间给我折腾,所以直接才全部设置完毕。

本来考虑使用Lighttpd或者Nginx代替Apache的,理由是这两个Server程序比Apache占有资源小很多,设置也不比Apache麻烦,但我各个都装了之后还是决定采用Apache,因为这些程序中,Apache历史最久,也最稳定,寂静街不是大战,不需要太多资源,稳定就行了。

另外,原打算Apache负责处理PHP,Lighttpd负责静态文件,但发现一旦安装两个以上的Server不但需要花去大量的时间和精力来研究设置,以后还会有很多程序上的冲突问题,所以也放弃了这个方案。

废话不多说了,开始记录:

vps

我用的是FsckVPS,由于前段时间的BUG,导致现在很多VPS供货商都不给控制面板,FsckVPS最严重,肯定是不给的拉,只给我一个SSH帐户密码。。。修改密码还要我自己来- -

默认的系统是Centos 5.3 x86,安装了apache rpm包,所以,第一步当然是要清理这个无用的Apache:

1,删除默认安装的apache rpm包,输入以下命令,并回车即可:

rpm -e httpd

2,更新系统,输入命令后,等待提示,输入'y':

yum upgrade

3,由于我采用的全是编译安装,所以需要安装很多开发包支持。使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称):

yum -y install glibc glibc-kenheaders glibc-headers glibc-devel cpp gcc gcc-c++ gcc-g77 g77 flex bison autoconf automake bzip2 bzip2-devel zlib curl zlib-devel curl-devel ncurses ncurses-devel libjpeg libjpeg-devel libpng libpng-devel libtiff-devel freetype freetype-devel pam-devel openssl openssl-devel libxml2 libxml2-devel gettext-devel libtool libtool-ltdl libtool-ltdl-devel pcre pcre-devel diff diff-devel diffutils diffutils-devel patch libmhash libmhash-devel libmcrypt libevent unzip glib2 glib2-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers ImageMagick-devel

由于我偷懒,不想每次编译安装某个程序时,再安装RPM包,所以找了半天,一口气将大部分需要的都安装了;

4,安装 pcre 7.7

其实之前我们已经安装好了 pcre-6.6-2 版本,但其官方网站已经升级到 7.9 版本了,再者这次安装所涉及的软件都是使用目前最新的稳定版本,因此 pcre 我们也安装最新版本。

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.gz
tar zxvf pcre-7.9.tar.gz
cd pcre-7.9
./configure
make //make 是用来编译的,它从 Makefile 中读取指令,然后编译。
make install //make install 是用来安装的,它也从 Makefile 中读取指令,安装到指定的位置。

make && make install //一般情况下,可以使用该命令集成make及make install命令

cd ..
rm -rf pcre-7.9
rm -rf /usr/bin/pcre-config
cp -a /usr/local/bin/pcre-config /usr/bin/
rm -rf /usr/lib/libpcre.a
cp -a /usr/local/lib/libpcre.a /usr/lib/

5,安装其余相关组件:

cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
tar xzvf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure --prefix=/usr/local
make && make install

cd /usr/local/src
wget http://ncu.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install

cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/mhash/mhash-0.9.9.9.tar.gz
tar xzvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
cp /usr/local/lib/libmcrypt.* /usr/lib
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ldconfig

cd /usr/local/src
wget http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
tar xzvf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stable
./configure --prefix=/usr/libvent
make && make install

cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/mcrypt/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install

cd /usr/local/src
wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz
tar xzvf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure --with-libevent=/usr/libvent --prefix=/usr/memcache
make && make install

安装GD2
cd /usr/local/src
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2 --mandir=/usr/share/man
make && make install

以上组件安装完毕后,下一页开始安装MySQL,最新版5.1.35

顺带一提:有的VPS和FsckVPS一样,自带了Sendmail,如果不做邮件服务器,只是想让程序可以发送通知邮件的话,可以直接开启Sendmail:

service saslauthd start

设置开机启动:

echo 'service saslauthd start ' >> /etc/rc.local

Tags: , , , , , , ,

11

MySQL 5.1系列最新版本5.1.35发布

   Posted by: 等待一生    in Web Server

mysql-0802828261

MySQL今天放出5.1系列最新稳定版本5.1.35,这是去年11月26日5.1.30发布并标志着5.1系列正式GA后的第五个版本。上一个版本是2009-04-16的5.1.34。这个版本主要对Windows平台的安装包做了一些改进及复制和分区的Bug修正.其他各产品线是 5.0.82 4.1.25 4.0.30. Read the rest of this entry »

Tags: ,

19

Wordpress使用SQLite替换MySQL

   Posted by: 等待一生    in Wordpress, 寂静街广场

Wordpress是目前最流行的博客程序之一,但随着她的不断更新,Wordpress体积不断增大,数据库消耗也越来越多,优化效果也越来越小,想找些其他方法来解决。正好今天在Wordpress中文论坛看到有人发布的文章,于是转来,方便日后实验参考。

Read the rest of this entry »

Tags: , , , ,

20

Wordpress MySQL数据库编码解决方案

   Posted by: 等待一生    in 网络班

唉,在wordpress中文论坛找了半天没人回答,还是自己找解决方法比较好。在中国,求人真不如求己,人心的冷漠到处可见。

我的寂静街除了自己的私人博客外,平时还会为客户和我自己的网店找些插件来测试。几乎所有的wordpress插件都是靠写入数据库来运行的,但并不是所有插件都会使用UTF-8来写入,比如有名下载管理插件"WP-DownloadManager"就是用"latin1_swedish_ci"编码来写入的数据;另外,wp的数据库写入好像也有问题,虽然以UTF-8备份数据库,但备份出的.sql文件打开就会变成乱码,一开始我只是怀疑使用非UTF-8造成的情况,于是将所有数据库的编码都转换成了UTF-8,结果备份出的.sql问题依然存在。

Read the rest of this entry »

Tags: , , , , , ,