[mysql] MySQL 루트 비밀번호를 찾는 방법

MySQL 루트 비밀번호를 알 수 없습니다. 어떻게 알 수 있습니까? 이 비밀번호가 저장된 파일이 있습니까?

링크를 따르고 있지만 로컬에 directadmin 디렉토리가 없습니다.



답변

@thusharaK 덕분에 이전 비밀번호를 몰라도 루트 비밀번호를 재설정 할 수있었습니다.

우분투에서 다음을 수행했습니다.

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking

그런 다음 새 터미널에서 mysql을 실행하십시오.

mysql -u root

다음 쿼리를 실행하여 비밀번호를 변경하십시오.

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;

MySQL 5.7에서는 mysql.user 테이블 필드의 비밀번호 필드가 제거되었으며 이제 필드 이름은 ‘authentication_string’입니다.

mysql 안전 모드를 종료하고 다음을 수행하여 mysql 서비스를 시작하십시오.

mysqladmin shutdown
sudo service mysql start


답변

해시 된 비밀번호를 볼 수 없습니다. 당신이 할 수있는 유일한 것은 그것을 재설정하는 것입니다!

MySQL 중지 :

sudo service mysql stop

또는

$ sudo /usr/local/mysql/support-files/mysql.server stop

안전 모드에서 시작하십시오.

$ sudo mysqld_safe --skip-grant-tables

(위 줄은 전체 명령입니다)

프로세스가 완료 될 때까지 계속 진행되는 명령이므로 다른 쉘 / 터미널 창을 열고 암호없이 로그인하십시오.

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

MySQL 5.7 이상 :

mysql> use mysql;
mysql> update user set authentication_string=password('password') where user='root'; 

MySQL을 시작하십시오 :

sudo mysql start

또는

sudo /usr/local/mysql/support-files/mysql.server start

새 비밀번호는 ‘password’입니다.


답변

MySQL 5.7 이상은 MySQL 로그 파일에 루트를 저장합니다.

이것을 시도하십시오 :

sudo grep 'temporary password' /var/log/mysqld.log


답변

mySQL을 새로 설치할 때 나를 놀라게 한 이유는 왜 기본 암호를 사용할 수 없으며 왜 재설정 방법이 작동하지 않는지 궁금합니다. 우분투 18에서 가장 최신 버전의 mysql 서버는 기본적으로 루트 사용자에 대해 암호 인증을 전혀 사용하지 않습니다. 따라서 이것은 무엇을 설정하든 상관없이 사용할 수 없다는 것을 의미합니다. 특권 소켓에서 로그인 할 것으로 예상합니다. 그래서

mysql -u root -p

올바른 비밀번호를 사용하더라도 전혀 작동하지 않습니다 !!! 입력 한 내용에 관계없이 액세스가 거부됩니다.

대신에 당신은 사용해야합니다

sudo mysql

암호없이 작동합니다. 그런 다음에 입력하면

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';

그런 다음 로그 아웃하면 피 묻은 것이 마침내 암호를 수락합니다.


답변

찾을 수 없습니다. 액세스하려면 루트 암호가 필요한 데이터베이스에 저장되며 어떻게 든 액세스 한 경우에도 단방향 해시로 해시됩니다. http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html을 재설정 할 수 있습니다.


답변

Windows 시스템에서 비밀번호를 재설정하려면 다음 단계를 수행하십시오.

  1. 작업 관리자에서 MySQL 서비스 중지

  2. 텍스트 파일을 만들고 아래 문장을 붙여 넣습니다.

MySQL 5.7.5 이하 :

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');

MySQL 5.7.6 이상 :

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';

  1. 다른 이름으로 저장 mysql-init.txt하고있는 놓습니다 'C' drive.

  2. 명령 프롬프트를 열고 다음을 붙여 넣습니다.

C:\> mysqld --init-file=C:\\mysql-init.txt


답변

패키지 관리자가 설치 중에 루트 암호를 입력하도록 요청하지 않으면 기본 루트 암호는 빈 문자열입니다. 새로 설치된 서버에 연결하려면 다음을 입력하십시오.

shell> mysql -u root --password=
mysql>

암호를 변경하려면, 유닉스 쉘을 되찾아 다음을 입력하십시오 :

shell> mysqladmin -u root --password= password root

새 비밀번호는 ‘root’입니다. 이제 서버에 연결하십시오 :

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

죄송합니다. 비밀번호가 변경되었습니다. 새로운 것을 사용하십시오 root:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

빙고! 새로운 흥미로운 일을

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

모리