MySQL 설치가 중단되었습니다. 완전히 재구성하는 방법?


20

다음은 내가 한 명령입니다.

$ sudo service mysql start
mysql start/running

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

$ aptitude search mysql |grep ^i
i   libapache2-mod-auth-mysql       - Module Apache 2 pour l'authentification vi
i   libdbd-mysql-perl               - Perl5 database interface to the MySQL data
i   libmysqlclient16                - MySQL database client library             
i   mysql-client-5.1                - MySQL database client binaries            
i   mysql-client-core-5.1           - MySQL database core client binaries       
i   mysql-common                    - MySQL database common files, e.g. /etc/mys
i   mysql-server-5.1                - MySQL database server binaries and system 
i   mysql-server-core-5.1           - MySQL database server binaries            
i   php5-mysql                      - MySQL module for php5                     

alm- cat /var/log/mysql.logmysql.log를 찾아서이 파일로 답을 편집하십시오 ....
hhlp

5
나는 당신이 grep ^ i를 사용한 방식을 좋아합니다. 꽤 똑똑합니다.
루이스 알바라도

정확히 무엇을합니까? 적성은 설치 도구입니다.
user4951

@JimThio이 질문과 관련된 설치된 패키지를 찾는 것입니다.
Monica Monica 복원-ζ--

답변:


16

다시 설치하기 전에 / var / log / mysql에서 mysql이 작동하지 않는 이유에 대한 단서를 포함 할 수있는 로그 파일을 확인하십시오. 구성에 로그 파일이없는 경우 파일에 로그가 활성화되지 않을 수 있습니다. MySQL 오류 로그 구성

패키지 확인 설치 버전을 다시 설치하려면

dpkg -l|grep mysql-server

그런 다음 버전 5.7의 경우

sudo apt-get install mysql-server-5.7 --reinstall

이것이 패키지를 재구성 할 수 없다면 사용할 수 있습니다

sudo dpkg-reconfigure mysql-server-5.7

sudo dpkg-reconfigure mysql-server-5.1은 11.10에서 12.04로 업그레이드했을 때 나를 위해 속임수를
썼다.

7

ERROR 2002 (HY000) : '/ tmp / mysql.sock'소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다 (2).

MySQL 설치에서는 로컬 연결을위한 소켓이있는 위치를 지정할 수 있습니다. 업데이트 할 때 "로컬 MySQL 서버 소켓에 연결할 수 없습니다"라는 오류가 발생하는 경우는 드물지 않습니다. 이 문제를 해결하는 방법을 보자.

오류는 다음과 같습니다.

Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)

통해 ps우리는 매개 변수와 장소에 의해 지정되어 있는지 볼 수 있습니다 :

# ps -fea | grep mysqld
mysql    17661 14003  1 Feb19 ?        00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root     23790  7840  0 09:25 pts/0    00:00:00 grep mysqld

이 경우 우리는입니다 /var/lib/mysql/mysql.sock. 매개 변수 /etc/my.cnf로 찾지 못하면 mysqld 섹션 에서 매개 변수를 찾으십시오.

grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock

우리가 어디에 있는지 알고 있다면 동일한 파일 ( /etc/my.cnf) 을 수정 하고 매개 변수 섹션 소켓 클라이언트를 추가해야합니다.

[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

1
그것이 제가 대답으로하려고 한 것입니다. 나는 이것이 이것이 거의 모든 관련 문제에 대한 정답이라는 것을 이미 알고 있습니다. 다시 능력을 얻으면 +1합니다.
루이스 알바라도

철저한 설명 감사합니다! 내 경우에는 my.cnf에 소켓을 지정 했는데도 듣지 못했습니다 ( 'ps'에 표시된 매개 변수가 비어 있고 연결할 수 없습니다.) 해결 방법 : my.cnf의 클라이언트 섹션에 'protocoll = tcp'를 추가하십시오. 소켓이 아닌 tcp를 사용하여 강제 실행
Tapper

2

후자의 뷰어의 경우 :
mysql-server 패키지를 업그레이드하지 못하면 비슷한 오류가 발생했지만 문제가 해결되었습니다 . 때 sudo apt-get install -f작동하지 않는 시도 sudo apt-get purge mysql*. 이제 mysql-server를 다시 설치할 수 있습니다.


1
점에 유의하시기 바랍니다 sudo apt-get purge mysql데이터베이스를 보존 실 거예요
넬슨 Owalo

1

내가 겪고있는 문제 중 하나는 문제가있는 버전을 아는 것입니다. 이것은 깔끔한 아이디어였습니다.

$ aptitude search mysql |grep ^i

그러나 내가 찾은 것은이 문제에서 중요했습니다.

$ apt-get --reinstall install mysql-server-5.x

(여기서 x는 버전입니다. 이것을 추가하지 않으면 잘못된 dpkg로 작업 할 수 있습니다.


0

이것은 나를 위해 일했다

sudo apt purge mysql*
sudo apt autoremove
sudo apt autoclean
sudo apt install mysql-server

기술

1) 첫 번째 명령은 구성 파일로 MySQL과 관련된 모든 것을 제거합니다.

2) 두 번째는 더 이상 필요하지 않은 패키지를 제거합니다.


굴절 [!] :

1) DigitalOcean

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.