오류 1045 (28000) : 사용자 'root @ localhost'에 대한 액세스가 거부되었습니다 (암호 사용 : no)


47

우분투 데스크탑에 queXS cati 앱을 설치하려고하는데 MySQL 서버와 PHP 5를 설치했는데 비밀번호없이 루트로 MySQL 서버에 로그인 할 수 없습니다 :

mysql -u root 

그것은 말한다

ERROR 1045(28000) : Access denied for user 'root@localhost' (using password: no )

하지만 들어가도 괜찮아 mysql -u root -p

문제가 무엇인지 알 수 없습니다.


7
이것을보십시오 : mysql -u root -p mysql 암호를 입력하십시오 : 당신은 얻을 것이다 : mysql>

답변:


49

-p비밀번호 기반 로그인을위한 스위치 추가 :

mysql -u root -p

이것이 정상적인 행동입니다. 데이터베이스의 루트 비밀번호를 설정 했으므로 이제 비밀번호없이 비밀번호를 액세스 할 수 없습니다. 그것이 다음과 같이보고하는 이유입니다.

사용자 'root @ localhost'에 대한 액세스가 거부되었습니다 ( 비밀번호 사용 : no ).

분명히 -p스위치로 암호를 제공 하면 성공합니다.


4

간단히 말해 "루트"세션은 mysql 루트 사용자의 비밀번호를 모른다.

mysql에 더 쉽게 액세스하려면

/ root /에 .my.cnf를 만듭니다.

그리고 그것을 넣어

[mysqladmin]
 user = root
 password = mysqlrootpassword
[mysql]
 user = root
 password = mysqlrootpassword
[mysqldump]
 user = root
 password = mysqlrootpassword

여기서 offcourse mysqlrootpassword는 mysql의 루트 비밀번호에 대한 비밀번호이므로 mysql을 실행할 때이 비밀번호를 사용합니다.

이 파일의 안전성에 대한 기억-보안 권한을 부여하여 서버의 아무도 읽을 수 없습니다!


1
다른 사람이 루트 암호를 일반 텍스트를 디스크에 넣도록 권장하는 것은 좋지 않습니다. 공제를 통해, 그 나쁜 재산은 그것을하는 사람에게 전파됩니다.
Eric Leschinski

설치 중에 mysql root 사용자의 임시 비밀번호가 설정됩니다. sudo grep '임시 비밀번호'/var/log/mysqld.log
suyash

-1

webmin 및 서버 아래에 로그인하여 mySQLdatabase 서버에 액세스 한 후 다음과 같은 경우 (사용자) 비밀번호를 설정할 수 있습니다.

mysql -u (**user**) -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql.

웹 GUI는 쉽지만 터미널을 안전하게 사용하십시오.

건배.


/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql이 없습니다.
Vitor Mazuco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.