
Centos 5.5 には、次のようなパターンの古いシステムがありました。
- OS:CentOS リリース 5.5 (最終)
- ウェブサーバー:Apache 2.2.3
- APサーバ:Tomcat 6.0.3.6
- バージョン:1.6.0_37-b06
- データベース:MySQL 5.5.27-1
顧客の要求に応じて、サーバーに変更や影響を与えることなく、すべて (Apache、Tomcat、Mysql、Java) を同じマシンに複製してインストールする必要があります。仮想マシンでいくつかのテストを実行したところ、mysql で問題が発生しました。mysql のバージョンは 5.5.27 と 5.16.19 で、datadir、ポート、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
2つのサービスはエラーなしで正常に起動していますが、問題はmysqlにログインしようとするとこのエラーが発生することです。
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
誰か、mysql の複数のインスタンスの経験がある方はいらっしゃいますか? この状況を理解するのを手伝ってください。
※mysqlの2つのインスタンスの設定ファイルを分けたい。
答え1
mysql コマンドラインの場合、読み取られる場所に my.cnf ファイルが必要ですmysql --help
(上部に読み取られる構成ファイルがリストされます)。
次のようなディレクティブが必要になります:
[client]
socket = /tmp/mysql{version}.sock