2016-09-19 1 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을 사용하도록 수정되지 않은 것 같습니다.

해당 서버의 my.cnf에있는 모든 디렉토리 관련 옵션과 함께 mysqld --initialize을 실행해야합니다.

Running two instances of mysql의 지침에 따라 mysqld_multi 스크립트를 수정할 수도 있습니다.

+0

또는이 작업을 수행 할 수 있습니다. https://stackoverflow.com/questions/39900497/running-two-이 명령을 실행하면 "mysql : mysql" 이 실행됩니다. instances-of-mysql (TIGERB의 팁과 나의 코멘트를 보라) – user435421

관련 문제