CentOS에 새 MySQL 서버를 설치하고 명령을 사용하여 MySQL 서버 서비스를 시작했습니다.
# /sbin/service mysqld start
서비스를 확인해 보니 실행 중이네요.
현재 로 로그인되어 있습니다 root@localhost
. 변경하고 싶은 비밀번호입니다 root
. 이를 위해 나는 다음 명령을 내렸습니다.
/usr/bin/mysql_secure_installation
이 명령을 실행하자마자 비밀번호를 묻는 메시지가 표시되고 "Enter" 키를 누르려고 합니다. 이것은 작동하지 않습니다. 또한 내 Linux 루트 비밀번호를 시도했지만 작동하지 않았습니다.
Enter 키를 누르면 다음과 같은 결과가 나타납니다.
Error: Access denied for user 'root'@'localhost' (using password : NO)
Linux 박스 로컬 루트 비밀번호를 사용하려고 하면 다음과 같은 메시지가 표시됩니다.
Error: Access denied for user 'root'@'localhost' (using password : YES)
설치하는 동안 로컬 컴퓨터 비밀번호 root
외에는 어떤 비밀번호도 묻지 않았습니다 . 내가 여기서 무엇을 놓치고 있는 걸까요? mysql-workbench에서 로그인하려면 어떻게 해야 합니까? 감사해요.
답변1
편집 /etc/my.cnf
및 추가:
skip-grant-tables
그런 다음 MySQL 서비스를 다시 시작하고 로그인을 시도하십시오.
mysql
[공식 매뉴얼]도 확인할 수 있습니다:
답변2
루트 비밀번호 설정이 있을 수 있습니다. 일반적 mysql_secure_installation
으로 루트로 실행해야 하며 mysql 루트 비밀번호를 입력하라는 메시지가 표시되고 Enter 키를 누릅니다.
귀하의 경우에는 루트 비밀번호가 설정된 것으로 보이며 다음을 사용하여 변경할 수 있습니다.
sudo mysqld_safe --user=mysql --pid-file=/var/run/mysql/mysqld.pid --socket=/var/run/mysql/mysql.sock --datadir=/var/lib/mysql --skip-grant-tables
그러면 mysql을 시작한 다음 mysql -u root
mysql을 입력하고 루트 비밀번호를 업데이트할 수 있습니다.
mysql> use mysql;
mysql> update user set password=PASSWORD("yournewrootpasshere") where User='root';
mysql> flush privileges;
mysql> quit
--skip-grant-tables
옵션은 사용할 키이므로 비밀번호를 묻는 메시지가 표시되지 않습니다.
그 후 mysql을 정상적으로 다시 시작하면 해당 내용이 표시되며 mysql_secure_installation
원하는 경우 새 루트 패스를 사용하여 다시 실행할 수도 있습니다.
새로 설치하는 것이므로 mysql 패키지를 제거하고 다시 설치할 수도 있습니다. 데이터베이스도 삭제하는 것을 잊지 마십시오.