在Linux中编译安装两个MySQL

来源:互联网 发布:美工属于什么职位类别 编辑:程序博客网 时间:2024/05/01 19:15

    在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/my5.cnf
       ……
而且启动和停止可能需要这样的命令:
       /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 -uuser -hlocalhost -ppassword shutdown
连接则需要这样:
        /usr/local/mysql5/bin/mysql --defaults-file=/etc/mysql5.cnf -uuser -hlocalhost -ppassword
    另外在用PHP连MySQL的时候,使用这样的语句会不成功:
       mysql("localhost:3307","user","password");
必须使用这样的形式:
       mysql("localhost:/tmp/mysql5_sock","user","password");
也不知道是什么原因!