2016-09-19 6 views
0

は、私が書く:なぜmysqld_multiはmysqlを起動できないのですか?私のmy.cnfで

[mysqld_multi] 
mysqld = /usr/local/Cellar/mysql/5.7.11/bin/mysqld_safe 
mysqladmin = /usr/local/Cellar/mysql/5.7.11/bin/mysqladmin 
user = root 
password = 

[mysqld1] 
pid-file = /usr/local/etc/mysql/mysqld.pid 
socket = /usr/local/etc/mysql/mysqld.sock 
port = 3306 
datadir = /usr/local/var/mysql 
log-bin=mysql-bin 
server-id=1 

[mysqld2] 
pid-file = /usr/local/etc/mysql/mysqld1.pid 
socket = /usr/local/etc/mysql/mysqld1.sock 
port = 3307 
datadir = /usr/local/var/mysql1 
server-id=2 
language=/usr/local/Cellar/mysql/5.7.11/share/mysql/english 
user=mysql 

その後、私はmysqld_multi start 2を実行し、私はエラー情報を取得:

Installing new database in /usr/local/var/mysql1 

2016-09-19 19:37:16 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 
2016-09-19 19:37:16 [ERROR] Can't locate the language directory. 

FATAL ERROR: Tried to start mysqld under group [mysqld2], 
but no data directory was found or could be created. 
data directory used: /usr/local/var/mysql1 

を私はMySQLのプロセスを開始することはできませんので、問題は何ですか?ディレクトリ/usr/local/var/mysql1にいくつかの問題があるようですが、ディレクトリが存在すると、混乱します。

+0

ディレクトリのアクセス許可をチェックしましたか? chown -R mysql:mysql/usr/local/var/mysql1 – malyy

答えて

1

mysqld_multiがmysqld --initializeを使用するように修正されていないようです。

mysqld --initializeと、そのサーバーのmy.cnfのすべてのディレクトリ関連オプションを実行する必要があります。

mysqld_multiスクリプトをRunning two instances of mysqlの指示に従って修正することもできます。

+0

これを行うには、次のようにします:https://stackoverflow.com/questions/39900497/running-two-これは、「mysql:mysql」であるべきです。 このコマンドを実行すると、 instances-of-mysql(TIGERBのヒントと私のコメントを参照) – user435421

関連する問題