MySQL이 시작되지 않습니다! 명령 행에서 MySQL에 로그인하려고 할 때이 오류가

명령 행에서 MySQL에 로그인하려고 할 때이 오류가 발생합니다.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

이것이 MySQL이 아직 시작되지 않았 음을 의미한다고 생각합니다. 그래서 시작하려고합니다.

sudo /etc/init.d/mysql start

이 메시지가 나타납니다.

* Starting MySQL database server mysqld [fail]

MySQL을 시작하려면 어디에서 보거나 어떻게해야합니까? 우분투 8.04를 실행 중이며 apt-get을 통해 MySQL을 설치했습니다. 나는 그것을 시작하고 그것을 몇 번 사용하여 그것이 왜 작동을 멈췄는지 모르겠다.

업데이트 : sudo /etc/init.d/mysql status를 실행할 때 다음 메시지가 나타납니다.

* MySQL is stopped.

업데이트 # 2 : 내 로그 파일 (/var/log/mysql.log & /var/log/mysql.err)이 비어 있습니다 (올바른 파일 인 경우)



답변

우분투 12.04에서 /etc/mysql/my.cnf 파일의 버퍼 크기를 변경 한 후에도 같은 문제가 발생했습니다. 어쨌든 기본 설정으로 다시 변경하려고하면 MySQL이 여전히 시작되지 않습니다.

해결하기 위해 여러 가지 다른 방법을 시도했지만 /var/run/mysql/mysql.sock이 누락되었음을 알았습니다. 이것은 문제가 될 수 있으므로 여기서 확인할 수 있으며 누락 된 경우 다음을 수행하여 교체 할 수 있습니다.

sudo touch /var/run/mysql/mysql.sock
sudo chown mysql /var/run/mysql/mysql.sock

이것은 않았다 NOT 나를 위해 문제를 해결! 그러나 일부 사람들에게는 그럴 수도 있습니다.

내가해야했던 일은 MySQL을 완전히 다시 설치하는 것이 었습니다.이를 수행하려면 sudo 명령을 사용해야합니다. MySQL을 완전히 제거하고 다시 설치하는 단계는 다음과 같습니다.

MySQL을 제거

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common

선택적으로 apt-get –purgeaptitude 로 바꾸어 적성을 사용할 수 있습니다

정리

sudo apt-get autoremove
sudo apt-get autoclean

MySQL 디렉토리 제거

sudo rm -rf /etc/mysql

MySQL 설치

sudo apt-get install mysql-server mysql-client

이제 MySQL이 실행 중이어야합니다. 다음을 수행하여이를 확인할 수 있습니다.

sudo service mysql status

넌 봐야 해

mysql start/running, process xxxxx

이것이 도움이되기를 희망하며 여전히 사용 가능한 모든 데이터베이스 및 테이블을 수행 한 후에 추가 할 수 있다고 생각했지만 해당 데이터베이스의 사용자 및 비밀번호를 다시 작성해야했습니다.

참고 : PHP 용 mysql 확장명을 가지고 있다면 이것을 다시 설치해야합니다.

sudo apt-get install php5-mysql

답변

경고 : 이것은 위험합니다. mysql은 안전하지 않으며 누구나 테이블을 연결하고 편집 할 수 있습니다.이 명령으로 서버를 실행하지 마십시오.

안전 모드에서 시작해보십시오. /usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables

이것이 작동하면 information_schema 또는 mysql 테이블에 문제가있을 수 있습니다. 작동하지 않으면 설치에 문제가있는 것입니다.


답변

다른 답변에서와 같이 로그 파일을 확인하십시오. 또한 충분한 디스크 공간이 있는지 확인하십시오. MySQL은 빈 파티션에서 이런 식으로 동작 할 수 있습니다.

df -h

그렇지 않은 경우 서버 디버깅에 대한 MySQL 문서를 확인하십시오 . 그들의 myisamchk(MyISAM을 사용하는 경우) 특히 유용합니다.


답변

또한 최근 우분투를 업데이트 한 후이 문제가 발생했습니다. 정확히 문제가 무엇인지 아직 확실하지 않습니다. mysql을 실행하기 위해 잠시 동안 일한 한 worakround는해야했습니다.

sudo aa-complain /etc/apparmor.d/*mysql*

그러면 apparmor가 mysql의 실행을 중지했으며 로그가 비어있는 이유를 설명 할 수 있습니다. mysql을 실행할 수 없었습니다.

에서 “불만”이없고 /var/log/apparmorkern.log의 유일한 감사 항목은 프로필을 불평 모드로 변경하는 것만 으로도 이상한 문제로 남아 있습니다.

이 작업을 수행 /etc/apparmor.d/local/usr.sbin.mysql하면서 aa-complain 명령 이이 파일을 찾을 수 없다는 불만으로 (빈) 파일을 추가했습니다 .


답변

512MB Digital Ocean 방울과 같은 문제가있었습니다.

메모리가 부족하기 때문입니다.

즉각적인 해결책은 다른 서비스를 다시 시작하여 메모리를 확보하는 것입니다.

sudo service apache2 restart

그런 다음 충분한 메모리로 mysql을 다시 시작할 수 있기를 바랍니다.

sudo service mysql restart

장기적인 해결책은 더 많은 RAM을 얻거나 스왑 메모리를 만드는 것 입니다.


답변

로그 파일을 살펴보십시오. 데비안에서는 최소한 mysql * 로그인을 얻습니다 /var/log.


답변

이 같은 문제가 있었지만 해결책이 나를 쳐다보고있는 것으로 나타났습니다. 드라이브가 가득 찼습니다. 기록 할 위치가 없기 때문에 로그가 없습니다 …..