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 시스템에서 비밀번호를 재설정하려면 다음 단계를 수행하십시오.
-
작업 관리자에서 MySQL 서비스 중지
-
텍스트 파일을 만들고 아래 문장을 붙여 넣습니다.
MySQL 5.7.5 이하 :
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
MySQL 5.7.6 이상 :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';
-
다른 이름으로 저장
mysql-init.txt
하고있는 놓습니다'C' drive
. -
명령 프롬프트를 열고 다음을 붙여 넣습니다.
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)
모리