내 루트 MySQL 암호를 어떻게 찾습니까?
방금 Ubuntu에 MySQL을 설치했는데 루트 사용자가 로그인 할 수 없습니다. :)
비밀번호를 어떻게 복구하거나 찾을 수 있습니까? 공백을 암호로 사용하면 작동하지 않습니다.
--skip-grant-tables
루트 (또는 sudo)로 다음을 실행하여 비밀번호없이 서버를 실행 하고 로그인 하여 루트 비밀번호를 재설정 할 수 있습니다 .
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
이제 새 암호로 루트로 로그인 할 수 있습니다.
비밀번호를 재설정하는 쿼리 /home/$USER/.mysql_history
또는 비밀번호를 재설정 /root/.mysql_history
한 사용자 를 찾을 수도 있지만 위의 방법은 항상 작동합니다.
참고 : 열이 호출 된 이전의 MySQL 5.7에 password
대신 authentication_string
. 위의 줄을
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
나는 이것이 오래된 스레드라는 것을 알고 있지만 내 결과로 업데이트 할 것이라고 생각했습니다.
Alex, 메타 패키지 'mysql-server'를 통해 MySQL 서버를 설치 한 것 같습니다. 이것은 참조로 최신 패키지를 설치합니다 (제 경우에는 mysql-server-5.5). 여러분과 마찬가지로 저도 예상했던대로 설정시 MySQL 암호를 입력하라는 메시지가 표시되지 않았습니다. 두 가지 답변이 있다고 가정합니다.
솔루션 # 1 : 전체 이름으로 MySQL을 설치합니다.
$ sudo apt-get install mysql-server-5.5
또는
솔루션 # 2 : 패키지 재구성 ...
$ sudo dpkg-reconfigure mysql-server-5.5
전체 패키지 이름을 지정해야합니다. 메타 패키지 'mysql-server'를 사용하면 원하는 결과를 얻지 못했습니다. 나는 이것이 누군가에게 도움이되기를 바랍니다 :)
참조 : https://help.ubuntu.com/12.04/serverguide/mysql.html
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD_HERE';
FLUSH PRIVILEGES;
mysql -u root -p # and it works
Ubuntu 14.04의 MySQL 5.5에는 여기 에서 권장하는 약간 다른 명령이 필요 했습니다 . 간단히 말해서 :
sudo /etc/init.d/mysql stop
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
mysql -u root
그리고 MySQL 프롬프트에서
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;
그리고 인용 된 출처 는 다른 방법도 제공합니다.
RHEL-mysql 5.5의 경우 :
/etc/init.d/mysql stop
/etc/init.d/mysql start --skip-grant-tables
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
mysql -uroot -pnewpwd
mysql>
흠 Mysql 5.7.13 내가 한 모든 것을 재설정하는 것은 다음과 같습니다.
$ sudo service mysql stop
mysql을 중지하려면
$ mysqld_safe --skip-grant-tables &
MySQL 시작
$ mysql -u root
정답처럼. 그런 다음 내가 한 일은 @eebbesen이 한 일뿐이었습니다.
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('NEW-password-HERE');
누구에게나 도움이되기를 바랍니다. :)
간단한 해결책이 있습니다.
MySql 5.7은 익명 사용자와 함께 제공되므로 MySQL 서버를 재구성해야합니다.
이 명령으로 수행 할 수 있습니다.
임시 패스를 찾으십시오.
grep 'temporary password' /var/log/mysqld.log
그때:
sudo mysql_secure_installation
이 링크에는 mysql 5.7에 대한 자세한 정보가 있습니다.
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
MYSQL 5.7에서 개발 목적으로 mysql을 사용하는 경우 다음과 같습니다.
1. mysql을 죽인다.
$ sudo service mysql stop
2. --skip-grant-tables 모드에서 mysql을 시작합니다.
$ sudo mysqld_safe --skip-grant-tables
또한 "skip-grant-table"모드에서 사용자 테이블을 변경하려고 시도 할 수 있지만 실패했습니다.
따라서 이것은 해결 방법 일뿐입니다.
It is actually very simple. You don't have to go through a lot of stuff. Just run the following command in terminal and follow on-screen instructions.
sudo mysql_secure_installation
참고URL : https://stackoverflow.com/questions/5683154/how-do-i-find-out-my-root-mysql-password
'Program Tip' 카테고리의 다른 글
클래스 예제에 대한 호출 어댑터를 만들 수 없습니다. (0) | 2020.11.16 |
---|---|
PHP : 분할 문자열 (0) | 2020.11.16 |
TextWrangler에서 탭을 4 개의 공백으로 자동 변환 하시겠습니까? (0) | 2020.11.16 |
특정 문자가 문자열에 나타나는 횟수 (0) | 2020.11.16 |
ExecutionPolicy 동작이 Visual Studio의 프로젝트마다 다른 이유는 무엇입니까? (0) | 2020.11.16 |