방금 MySQL 서버를 설치했는데 루트 계정에 비밀번호가 없습니다. 루트 비밀번호를 3번 입력하라는 메시지가 표시되었지만 비밀번호를 사용하고 싶지 않았기 때문에 3번 비워 두었습니다. 하지만 지금은 이것이 좋은 생각이 아닐 수도 있는 것 같습니다.
워크벤치에서 연결을 시도하지만(지금 비밀번호 입력) 오류가 발생합니다. Access denied for user 'root'@'localhost'.
왜 비밀번호가 없나요?
이제 설치 시 더미 비밀번호를 제공했다면 아무런 문제가 없을 것이라는 사실을 깨닫고 다음과 같이 입력하여 설정을 시도했습니다. mysqladmin -u root -p password
빈 비밀번호를 입력하고 다시 입력하면 다음과 같은 결과가 나타납니다.
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost'
콘솔에 "mysql"을 입력하면 다음과 같은 결과가 나타납니다.
Access denied for user 'me'@'localhost' (using password: NO)
비밀번호 없이 루트 계정을 가질 수 있고, 그럴 경우 크게 문제가 되지 않는다면 비밀번호 없이 유지하고 싶은데 그게 안 좋으면 어떻게 설정하는지 알려주세요. 비밀번호. 비밀번호가 없는 것이 더 좋다면 비밀번호 없이 접속하는 방법을 알려주세요 :)
편집기: Linux 배포판: Mint Cinnamon 64비트 MySQL 버전: 5.7
답변1
기본적으로 Debian/Ubuntu/Mint에는 관리 액세스 권한이 있는 사용자, 즉 MySQL을 종료하는 데 사용되는 사용자가 있습니다 debian-sys-maint
.
/etc/mysql/debian.cnf
다음 형식의 파일 로 이동합니다 .
[client]
host = localhost
user = debian-sys-maint
password = XXXXXXXX
socket = /var/run/mysqld/mysqld.sock
MySQL을 설치할 때 무작위로 생성된 비밀번호를 여기에서 가져옵니다(예: 서버마다 다름).
그리고 다음 명령을 사용하여 MySQL에 로그인합니다.
mysql -udebian-sys-maint -pXXXXXXXX
그런 다음 루트 비밀번호를 변경할 수 있습니다.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
이는 MySQL 5.7에서 약간 변경되었습니다. 구경하다MySQL v5.7을 사용하여 MySQL '루트' 비밀번호를 변경하는 방법은 무엇입니까?
답변2
다음을 실행해야 합니다:
# mysql_secure_installation
mysql 서버를 새로 설치하기 위해 루트 비밀번호를 설정할 수 있습니다.