有些时候,在特殊情况下,我们要对服务器安装两个MYSQL的,下面我讲讲安装的方法:
1.安装第一个数据库非常简单,我们这就直接YUM安装
yum install mysql mysql-server
直至下载安装完成就OK了。主要是第二个数据库比较烦琐,下面开始安装第二个数据库:
2.第二个数据库的安装位置(baseDir),数据库的具体存放位置(dataDir),端口号都不能和第一个数据库一样,
否则有冲突,这里我们将第二个数据库端口改成3307。要做到以下几点:
1.配置文件安装路径不能相同
2.数据库目录不能相同
3.启动脚本不能同名
4.端口不能相同
5..socket文件的生成路径不能相同
./configure --prefix=/usr/local/mysql --with-comment=Source --with-server-suffix=-enterprise-gpl --with-mysqld-user=mysql --without-debug --with-socket-path=/var/lib/mysql5/mysql.sock --with-big-tables  --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldtlags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-innodb --without-ndb-debug --without-isam --enable-local-infile --with-readline --with-raid --sysconfdir=/etc --localstatedir=/var/lib/mysql5
 
make && make install
直至编译安装完成。
接着就要初始化数据库,第二个数据库初始化时必须先把第一个数据库的配置文件重命名一下,完后再改回来
mv /etc/my.cnf /etc/my4.cnf
现在才能第二个数据库的初始化
/usr/local/mysql/bin/mysql_install_db
修改数据库存放目录的用户组
chown -R mysql:mysql /var/lib/mysql5
复制mysql配置文件
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my5.cnf
把mysql服务复制到系统服务文件夹内及修改其权限
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld5
chmod 755 /etc/rc.d/init.d/mysqld5
加载到系统服务中
chkconfig --add mysqld5
默认密码为空,修改其密码
use mysql;
UPDATE user SET Password = password ( 'chris!benq7*' ) WHERE User = 'root' ;
再把第一个数据库的配置文件名改回来
mv /etc/my4.cnf /etc/my.cnf
以下是安装第二个数据库时,对启动文件mysql5和配置文件my5.cnf做出的必要修改.
vi /etc/init.d/mysqld5
修改下面的内容:
1.datadir=/var/lib/mysql5
2.conf=/etc/my5.cnf

vi /etc/my5.cnf
修改下面的内容:
port = 3307 ###修改相关的端口
socket文件生成路径
把[client]和[mysqld]中的port号都改成3307,
socket = /tmp/mysql.sock改成socket = /tmp/mysql5.sock
[client]
#password = your_password
port  = 3307
socket  = /tmp/mysql5.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port  = 3307
socket  = /tmp/mysql5.sock
就可以了,接着可以重启第二个MYSQL    service mysqld5 restart

第二个数据库的PHPMYADMIN要改成设置,不然登录会出现
#2002 - 服务器没有响应 (or the local MySQL server's socket is not correctly configured)
vi libraries/config.default.php
把socket路径改成"/tmp/mysql5.sock"
把connect_type的tcp协议改成"socket"

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my5.cnf &  以这种方式启动MYSQL
/usr/local/mysql/bin/mysql -uroot -p -S /tmp/mysql5.sock         以这种方式进入MYSQL
必须得加-S参数,不然它会自动去找第一个数据库的sock文件了,就登录不了。
注意以下几点:
而且启动和停止可能需要这样的命令:
       /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my5.cnf &
       /usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my5.cnf -uroot -hlocalhost -ppassword shutdown
连接则需要这样:
        /usr/local/mysql/bin/mysql --defaults-file=/etc/my5.cnf -uuser -hlocalhost -ppassword
另外在用PHP连MySQL的时候,使用这样的语句会不成功:
       mysql("localhost:3307","user","password");
必须使用这样的形式:
       mysql("localhost:/tmp/mysql5_sock","user","password");