실수로 호스트를 변경하여 MySQL에서 자신을 잠갔습니다.


8

원격 MySQL이 작동하도록 시도하는 동안 어떻게 든 루트 계정으로 자신을 잠 그었습니다.

일반적으로 MySQL 서비스를 중지하고을 사용하여 다시 시작 /etc/init.d/mysql --init-file하지만,이를 시도하면 스크립트가 시작 작업으로 변환되었고 "service mysql"명령을 사용한다고 표시됩니다. 불행히도 내가 아는 한 service명령은 --init-file옵션을 지원하지 않습니다 .

루트 사용자의 호스트를 재설정하는 다른 방법이 있습니까?


답변:


9

MySQL 중지 :

service mysqld stop

다음과 같이 MySQL을 시작하십시오

mysqld_safe --skip-grant-tables --skip-networking

이 시점에서 로컬 컴퓨터에서 mysql에 루트로 연결할 수 있어야합니다.


1
당신은 또한 할 수 있습니다 service mysqld restart --skip-grant-tables --skip-networking. 그런 다음 루트를 수정 한 후 service mysql restart. 그럼에도 불구하고 +1 !!!
RolandoMySQLDBA

1

궁극적으로이 옵션은 mysqld_safe; 문서는 자세하게 설명합니다. upstart가 어떻게 MySQL을 호출하는지 알아 낸 다음 추가 --init-file옵션을 사용하여 비슷한 방식으로 수동으로 시작할 수 있습니다 . 그러나 올바른 사용자로 시작하십시오!

데비안이나 우분투를 사용한다면, 루트와 동등한 debian-sys-maint사용자가 임시적으로 사용할 수 있다는 것을 알게 될 것입니다. 자동으로 생성 된 비밀번호는에서 확인할 수 /etc/mysql/debian.cnf있습니다. 다른 시스템에서도 대안이있을 수 있습니까? 이 옵션이 더 쉬울 것입니다.

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