MySQL 루트 계정에 비밀번호가 없나요?

MySQL 루트 계정에 비밀번호가 없나요?

방금 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 서버를 새로 설치하기 위해 루트 비밀번호를 설정할 수 있습니다.

관련 정보