UNIX 소켓 파일용 mysqld_safe 디렉토리 '/var/run/mysqld'가 없습니다.
mysqld_safe를 사용하여 mysql 서버 5.7.17을 시작할 때 다음 오류가 발생합니다.
2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
어떻게 고칠까요?
설치 시 이 디렉토리가 생성되지 않은 것이 이상합니다.my.cfg의 소켓파일 경로를 수동으로 변경했습니까?
이 디렉토리를 직접 작성하고 서비스를 재시작해 본 적이 있습니까?
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
코드를 사용했을 때mysqld_safe --skip-grant-tables &
에러가 표시됩니다.
UNIX 소켓 파일용 mysqld_safe 디렉토리 '/var/run/mysqld'가 없습니다.
$ systemctl stop mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &
해결했습니다.
$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld
지금은 같은 코드를 사용하고 있습니다.mysqld_safe --skip-grant-tables &
취득하다
mysqld_safe /var/lib/mysql 데이터베이스를 사용하여 mysqld 데몬을 시작합니다.
사용하는 경우$ mysql -u root
다음 정보를 얻을 수 있습니다.
서버 버전: 5.7.18-0ubuntu0.16.04.1 (우분투)
저작권(c) 2000, 2017, Oracle 및/또는 그 계열사.무단 전재 금지.
Oracle은 Oracle Corporation 및/또는 그 계열사의 등록 상표입니다.기타 이름은 해당 소유자의 상표입니다.
도움말을 보려면 'help;' 또는 '\h'를 입력하십시오.현재 입력문을 지우려면 '\c'를 입력하십시오.
mysql >
이제 암호를 변경해야 합니다.
mysql> use mysql
mysql> describe user;
테이블 및 열 이름을 완성하기 위한 테이블 정보 읽기 이 기능을 끄면 -A를 사용하여 더 빨리 시작할 수 있습니다.
데이터베이스가 변경되었습니다.
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');
또는 어디에서나 접속할 수 있는mysql 루트계정이 있는 경우 다음 작업도 수행해야 합니다.
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
대체 방법:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
모든 곳에서 액세스할 수 있는 루트 계정이 있는 경우:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';`enter code here
할 필요가 있다quit
mysql 및 stop/start에서
FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
다시 'mysql -u root -p'를 사용하고 새로운 비밀번호를 사용하여
mysql >
Cent에서 일하세요OS:
$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
$ service mysql restart
나한테도 일어났어.
메시지가 실제로는 올바르지 않습니다(또한 잘못된 영어:-).
문제가 되는 파일을 찾기 위해 다음 명령어(루트로)를 실행했습니다.
sh -x /etc/init.d/mysqld 시작
그리고 다음과 같은 내용이 인쇄되었습니다.
오류: 소켓 '/mysql-dir/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말'
mysqld가 실행 중이고 소켓이 '/mysql-dir/mysql'인지 확인합니다.'sock'이 존재합니다!
소켓 파일이 미리 존재해야 할 것 같아서 다시 루트로 이 작업을 수행했습니다.
cd/cd/cd-module
터치 mysql.displ
chown mysql: mysql.sysql
그 후:
서비스 mysqld 시작
그리고 Voila!
다음 버그를 참조하십시오.https://bugs.launchpad.net/ubuntu/+source/mysql-5.6/+bug/1435823
거기에 임시방편이 있는 것 같다
Create a newfile /etc/tmpfiles.d/mysql.conf:
# systemd tmpfile settings for mysql
# See tmpfiles.d(5) for details
d /var/run/mysqld 0755 mysql mysql -
After reboot, mysql should start normally.
데이터베이스에 데이터가 없거나 해당 데이터를 복원할 다른 데이터가 있는 경우 다음을 시도할 수 있습니다.Ubuntu 서버 루트 패스워드는 알아야 하지만 mysql 루트 패스워드는 알아야 합니다.
이는 베스트 프랙티스이기 때문에 많은 사람들이 "mysql_secure_installation"을 설치했을 가능성이 높습니다.mysql_secure_installation이 존재하는 bin 디렉토리로 이동합니다.Ubuntu 시스템의 /bin 디렉토리에 있습니다.설치 관리자를 다시 실행하면 루트 데이터베이스 암호를 변경할지 묻는 메시지가 표시됩니다.
언급URL : https://stackoverflow.com/questions/42153059/mysqld-safe-directory-var-run-mysqld-for-unix-socket-file-dont-exists
'sourcecode' 카테고리의 다른 글
MySQL "ERROR 1005 (HY000)" :'foo' 테이블을 만들 수 없습니다.#sql-12c_4' (오류번호: 150) (0) | 2022.09.17 |
---|---|
Java 또는 C#에서의 예외 관리 베스트 프랙티스 (0) | 2022.09.17 |
Java 웹 응용 프로그램에 사용하는 아키텍처에 대해 설명하십시오. (0) | 2022.09.17 |
val()과 text()의 차이 (0) | 2022.09.17 |
Maven이 모든 테스트를 실행하도록 하는 것, 심지어 일부 실패 시에도 (0) | 2022.09.17 |