以前在Centos5.5上有一个老系统,模式如下:
- 操作系统:CentOS 版本 5.5 (最终版)
- Web服务器:Apache 2.2.3
- AP服务器:Tomcat 6.0.3.6
- JDK:1.6.0_37-b06
- 数据库:MySQL 5.5.27-1
根据客户的要求,我必须在同一台机器上安装所有东西的副本(Apache、Tomcat、Mysql、Java),而不对他们的服务器进行任何更改和影响。我在虚拟机上做了一些测试,发现 mysql 有问题。我对 mysql 版本进行的测试是 5.5.27 和 5.16.19,它们的数据目录、端口甚至 my.cnf 配置都不同
[root@localhost ~]# vim /usr/local/src/mysql5.5.27/my.cnf
mysql5.5.27
basedir = /usr/local/src/mysql5.5.27
datadir = /usr/local/src/mysql5.5.27/data
port = 3306
socket = /tmp/mysql5.5.27.sock
[root@localhost ~]# vim /usr/local/src/mysql5.6.19/my.cnf
mysql5.6.19
basedir = /usr/local/src/mysql5.6.19
datadir = /usr/local/src/mysql5.6.19/data
port = 3307
socket = /tmp/mysql5.6.19.sock
两个服务都启动正常,没有错误,但问题是我尝试登录 mysql,出现此错误
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
请问,有谁有使用 mysql 多个实例的经验吗?请帮我了解这种情况。
※ 我想要分离2个mysql实例的配置文件。
答案1
对于 mysql 命令行,您需要一个位于读取位置的 my.cnf 文件mysql --help
(在顶部列出了读取的配置文件。
您需要一个如下指令:
[client]
socket = /tmp/mysql{version}.sock