
나는 일하고 있었다이 질문에 대한 대답—내 Ubuntu 12.04.5 개발 서버 중 하나에서 — 다음과 같이 경로가 명시적으로 설정되어 있음에도 불구하고 MySQL 설치가 생성되지 않고 파일이 생성되지 않는다는 것을 깨달았습니다 mysqld.pid
.mysqld.sock
my.cnf
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
왜 이런 일이 발생하며 문제를 해결하기 위해 무엇을 할 수 있습니까?
답변1
mysqld.pid
및 의 위치가 mysqld.sock
내 서버의 에 설정되어 있어도 my.cnf
디렉터리가 존재하지 않으므로 해당 파일이 생성되지 않습니다. 이렇게 하면 문제가 해결됩니다.
먼저 다음과 같이 mysqld/
디렉터리를 만듭니다 /var/run/
.
sudo mkdir -p /var/run/mysqld/
그런 다음 다음을 mysqld.pid
사용하여 파일을 만듭니다 touch
.
sudo touch /var/run/mysqld/mysqld.pid
다음 mysqld.sock
으로 다음을 사용하여 파일을 만듭니다 touch
.
sudo touch /var/run/mysqld/mysqld.sock
이제 디렉터리와 파일의 소유권을 mysql:mysql
다음과 같이 변경합니다.
sudo chown mysql:mysql -R /var/run/mysqld
마지막으로 해당 파일에 대한 권한은 다음과 같아야 합니다.
chmod 755 /var/run/mysqld
chmod 777 /var/run/mysqld/mysqld.sock
chmod 660 /var/run/mysqld/mysqld.pid
그리고 다음과 같이 MySQL을 다시 시작하여 해당 파일을 설정하고 생성합니다.
sudo service mysql restart
모든 작업이 완료되면 MySQL은 예상대로 mysqld.pid
및 파일을 생성할 수 있습니다 .mysqld.sock