programing tip

UNIX 소켓 파일에 대한 mysqld_safe 디렉토리 '/ var / run / mysqld'가 존재하지 않습니다.

itbloger 2020. 6. 10. 22:43
반응형

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 &했지만 오류가 발생하면

mysqld_safe UNIX 소켓 파일 용 '/ 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 &하고 GET을

mysqld_safe / var / lib / mysql에서 데이터베이스로 mysqld 데몬 시작

내가 사용하면 $ mysql -u root얻을 것이다 :

서버 버전 : 5.7.18-0ubuntu0.16.04.1 (우분투)

Copyright (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

이제 quitmysql에서 시작하고 중지 / 시작해야합니다.

FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

이제 다시 mysql -u root -p를 입력하고 새 암호를 사용하여

MySQL>


CentOS에서 나를 위해 일하십시오.

$ 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

You may try the following if your database does not have any data OR you have another away to restore that data. You will need to know the Ubuntu server root password but not the mysql root password.

It is highly probably that many of us have installed "mysql_secure_installation" as this is a best practice. Navigate to bin directory where mysql_secure_installation exist. It can be found in the /bin directory on Ubuntu systems. By rerunning the installer, you will be prompted about whether to change root database password.

참고URL : https://stackoverflow.com/questions/42153059/mysqld-safe-directory-var-run-mysqld-for-unix-socket-file-dont-exists

반응형