linux下安装多个mysql、apache、php

在Linux中只要指定不同的安装路径,不同的数据库路径,不同的配置文件,以及不同的端口和不同的Socket就可以同时安装两个MySQL服务器。
安装第一个MySQL可以用默认的一些编译参数:
./configure –prefix=/usr/local/mysql
make
make install
cp ./support-files/my-medium.cnf /etc/my.cnf
cp ./support-files/mysql.server /etc/mysql.server
chmod +x /etc/mysql.server
……
然后用mysql.server脚本就可以直接控制服务器了,服务器默认使用my.cnf配置文件,运行在3306端口,并使用/tmp/mysql.sock作为Socket。
安装第二个的时候会麻烦一点,编译的时候需要指定不同的安装路径、端口和Socket:
./configure –prefix=/usr/local/mysql5 –with-unix-socket-path=/tmp/mysql5_sock –with-tcp-port=3307
make
make install
cp ./support-files/my-medium.cnf /etc/mysql5.cnf
……
第一个问题:
启动数据库时出现以下错误:
[root@node33 bin]# 110806 00:32:19 mysqld_safe Logging to ‘/usr/local/mysql5/var/node33.err’.
110806 00:32:20 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql5/var
110806 00:32:20 mysqld_safe mysqld from pid file /usr/local/mysql5/var/node.pid ended
上面只能看到mysql启动失败,具体的原因,需要查看数据库目录下的.err文件,查看.err文件,内容如下:
110806 00:32:20 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql5/var
/usr/local/mysql5/bin/mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13)
110806  0:32:20 [ERROR] Aborting
110806  0:32:20 [Note] /usr/local/mysql5/bin/mysqld: Shutdown complete
110806 00:32:20 mysqld_safe mysqld from pid file /usr/local/mysql5/data/node33.pid ended
红色字标出来的就是这次错误报告,errcode13,一般就是权限问题,mysql用户是否对数据库目录内的所有文件具有写的权限。
解决办法:chown mysql.mysql -R /usr/local/mysql5/var
第二个问题:
再次启动时出现以下错误:
Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist
解决办法:在运行初始化权限表的时候使用增加参数–datadir ,命令格式为:
/usr/local/mysql5/bin/mysql_install_db –user=mysql –datadir=/usr/local/mysql5/var
以上操作即可安装成功。
设置密码的命令:
/usr/local/mysql5/bin/mysqladmin –defaults-file=/etc/mysql5.cnf -uroot -hlocalhost password 111111
启动:/usr/local/mysql5/bin/mysqld_safe –defaults-file=/etc/mysql5.cnf –datadir=/usr/local/mysql5/var/ &
关闭:/usr/local/mysql5/bin/mysqladmin –defaults-file=/etc/mysql5.cnf -uroot -hlocalhost -p111111 shutdown
连接:/usr/local/mysql5/bin/mysql –defaults-file=/etc/mysql5.cnf -uroot -hlocalhost -p111111
二、apache-2.2.6的安装
tar zvxf httpd-2.2.6.tar.gz
cd httpd-2.2.6
./configure –prefix=/usr/local/apache2 –enable-so –enable-mods-shared=most
注意:一定要加入–enable-so选项,以提供DSO支持的apachehe核心模块。–enable-mods-shared=most是指除了so以外的所有标准模块都编译成DSO模块。
make clean
make
make install
三、php-5.2.5的安装
tar zvxf php-5.2.5.tar.gz
cd php-5.2.5
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-config-file-path=/usr/local/php/lib
make clean
make
make install
注意这里是apxs2!!!
cp php.ini-dist /home/work/local/php/lib/php.ini
cd /home/work/local/apache2/
vim conf/httpd.conf
在AddType application/x-gzip .gz .tgz下面添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改一下Listen、User、Group(非必须操作)
bin/apachectl start
apache启动了。
然后写个php测试页info.php:内容如下
<?php
phpinfo();
?>
放到htdocs目录中,正常的话,应该能看到php的信息了。

It works!

此条目发表在IT, Linux分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。

验证图片

*