|
由于我们公司的服务器上应用需求复杂,比较乱,导致出现一个问题——必须在同一台server上跑两套MySQL,用不同的端口,一个3306另一个3307,要同时启动跑不同数据库以供业务程序调用。
小人我的解决办法是,用同一套MySQL源码包分别编译安装,首先安装一套,常规方法,并将my.cnf文件很常规地放在了/etc下面。一切OK!这套端口是正常的3306。然后configure时候加上 --with-tcp-port=3307 选项,make install弄好后初始化时候加上 --no-defaults --datadir=/opt/mysql_cm/var --force 选项。
开启的时候用/xxx/mysql/bin/safe_mysqld --no-defaults --datadir=/opt/mysql_cm/var --port=3307 --socket=/opt/mysql_cm/var/mysql.sock就能打开,其他的操作都一样了。可以同时操作,两边都互不影响,只是3307端口的库shutdown的时候也得加些参数。一直用得挺好的。
现在的问题来了,当时做的是,MySQL的3.23.56版本,后来觉得不好了,想换成4.0以上的版本,麻烦就来了——原先的那一套办法都不灵了,一样的操作,但是3307端口的库就是打不开,报错说已经有了一个MySQL进程存在了,不让启动…… :beat
郁闷啊,各位老大们,谁来教教我怎么用一个server跑两套不同端口的MySQL库,并且要4.0以上的版本! |
|