데비안에서 MySQL 서비스를 중지 할 수없는 이유는 무엇입니까?


11

방금 'squeeze'를 'unstable'로 바꾸어 데비안 스퀴즈에서 불안정으로 업그레이드하려고했습니다 /etc/apt/sources.list. MySQL을 중지 할 수 없어서 실패한 MySQL을 제외하고는 업그레이드가 순조롭게 진행되었습니다.

/etc/init.d/mysql stop단순히 실패했다는 것을 반환하지만 상태를 얻으려고하면 /etc/init.d/mysql status이 오류가 발생합니다.

me@debian:~$ sudo /etc/init.d/mysql status
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

MySQL이 제대로 실행 중이며 phpmyadmin에서 debian-sys-maint에 대한 권한을 확인했으며 모든 작업을 수행 할 수 있지만에서 만 연결할 수 있습니다 localhost.

답변:


6

이 시도:

  1. sudo cat /etc/mysql/debian.cnf그리고 모두 아래에 나열된 암호를 찾아 [client][mysql_upgrade]섹션

  2. mysql -u root -p password 원래 MySQL 루트 비밀번호

  3. GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '*the password obtained from step 1*';

  4. /etc/init.d/mysql restart

즉, 수정 그리고 이것은 당신이 관심이 있다면, 그 뒤에 추론이다.


아래에 언급 한 바와 같이,이 있어야한다GRANT ALL PRIVILEGES ON *.*
데이브

2

답변 업데이트. 3 단계에서 사용해야했습니다

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'the password obtained from step 1';

"ON"이후에는 별표가 있습니다. MySql 5.1에서 일했습니다.


1

MySQL Reference Manual 다음과 같이 할 수 있다고 말합니다 .

  1. mysqld서버가 실행되는 Unix 사용자 (예 :)로 시스템에 로그온하십시오 mysql.
  2. .pid서버의 프로세스 ID가 포함 된 파일을 찾으십시오 . 이 파일의 정확한 위치와 이름은 배포, 호스트 이름 및 구성에 따라 다릅니다. 일반적인 위치는 /var/lib/mysql/, /var/run/mysqld//usr/local/mysql/data/입니다. 일반적으로, 파일 이름의 확장명을 가진 .pid및 중 하나를 시작 mysqld하거나 시스템의 호스트 이름입니다.

다음 명령에서 .pid 파일의 경로 이름을 사용하여 mykilld 프로세스에 일반 kill (kill -9 아님)을 보내 MySQL 서버를 중지 할 수 있습니다.

    kill `cat /mysql-data-directory/host_name.pid`

이 부분 cat /mysql-data-directory/host_name.pid은 프로세스 ID 인 파일의 내용을 반환합니다.

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