루트 MySQL 비밀번호를 확인하려면 어떻게 해야 하나요?
방금 Ubuntu에 MySQL을 설치했는데 루트 사용자가 로그인할 수 없습니다. : )
비밀번호를 복구하거나 확인하려면 어떻게 해야 하나요?패스워드에 공백으로 하면 동작하지 않습니다.
, 패스워드를 「 」, 「 」, 「 」, 「 」, 「 」, 「 」를 사용해 서버를 실행합니다.--skip-grant-tables
로 다음 없이 합니다.root ( 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
이제 새 비밀번호를 사용하여 root로 로그인할 수 있습니다.
, 패스워드를 는, 「 리셋」으로 할 수도 ./home/$USER/.mysql_history
★★★★★★★★★★★★★★★★★」/root/.mysql_history
패스워드를 리셋한 유저의 경우는, 상기의 조작은 항상 유효합니다.
5.7에는 이 은 "MySQL 5.7"이라고 불렸습니다.password
authentication_string
. 으로 바꿉니다 위의 행을 다음과 같이 바꿉니다.
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
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
오래된 스레드인 것은 알지만, 결과에 따라 업데이트해야겠다고 생각했습니다.
알렉스, 메타 패키지 '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
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>
Hmm Mysql 5.7.13 리셋은 다음과 같습니다.
$ sudo service mysql stop
mysqlmysql을
$ mysqld_safe --skip-grant-tables &
mysql mysqlmysql
$ mysql -u root
정답처럼.그리고 내가 한 일은 @ebbesen이 한 일을 하는 것뿐이다.
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('NEW-password-HERE');
누구나 도움이 되길 바랍니다. :)
루트 패스워드를 설정하는 가장 좋은 방법은 다음과 같습니다.Source Link Step 3은 완벽하게 동작하고 있습니다.
명령어
- sudo mysql
- SELECT 사용자, authentication_string, plugin, host FROM mysql.user;
- mysql_native_password로 식별되는 사용자 'root'@'localhost'를 'password'로 변경합니다.
- 플래시 특권
- SELECT 사용자, authentication_string, plugin, host FROM mysql.user;
- 퇴장
이제 root 사용자의 비밀번호는 'password'입니다.
- mysql -u 루트 -p
- 'password'로 식별되는 'sammy'@'localhost' 사용자 생성;
- GRANT 옵션을 사용하여 'sammy'@'localhost'에 모든 권한을 부여합니다.
- 플래시 특권
- 퇴장
MySQL 서비스 및 버전 테스트:
systemctl status mysql.service
sudo mysqladmin -p -u root version
MYSQL 5.7에서 개발 목적으로 mysql을 사용하는 경우 다음과 같이 하십시오.
1. kill mysql :
$ sudo service mysql stop
2. --sysql-sysql 모드에서 start mysql:
$ sudo mysqld_safe --skip-grant-tables
또한 "skip-grant-table" 모드에서 사용자 테이블을 변경하려고 해도 실패하였습니다.
이것은 회피책일 뿐입니다.
간단한 해결책이 있습니다.
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
그것은 사실 매우 간단하다.많은 일을 겪지 않아도 돼요.터미널에서 다음 명령을 실행하고 화면에 나타나는 지침을 따르십시오.
sudo mysql_secure_installation
저는 잘 모르기 때문에 여기서 조금 추측을 해보겠습니다.MySQL(최신 20.04 업그레이드 시 실행)은 루트도 없는 것 같습니다.설정해 봤는데 문제가 있었던 것 같아요.루트 사용자가 없는 것 같습니다.루트로 로그인하면 MySQL 루트 사용자로 자동으로 로그인됩니다.
내가 왜 이런 생각을 하지?MySQL -u root -p를 실행하면 루트로 로그인하면 패스워드가 받아들여지고 MySQL root 사용자로 로그인하기 때문입니다.
루트 유저가 아닌 유저에게 그것을 시도해도 동작하지 않는 것을 확인했습니다.
이 모델이 마음에 들어요.
EDIT 2020.12.19: 루트 사용자로 로그인하면 루트 사용자로 MySQL에 로그인하는 이유는 더 이상 알 수 없습니다.인증 타입과 관련되어 있습니다.이후 버전의 MySQL은 MySQL 플러그인 'auth_socket'으로 구성됩니다(시스템에 /run/mysqld/mysqld.sock 파일이 있고 궁금할 수 있습니다).플러그인은 라이브러리 auth_socket.so에서 제공하는 SO_PEERCRED 옵션을 사용합니다.
필요에 따라서, 패스워드를 작성/갱신하는 것만으로 패스워드 인증으로 되돌릴 수 있습니다.아래에 두 가지 방법과 옵션을 모두 제시하여 명확히 합니다.
auth_socket으로 식별되는 사용자 'valerie'@'localhost'를 만듭니다.
'password'로 식별되는 사용자 'valerie'@'localhost' 생성;
언급URL : https://stackoverflow.com/questions/5683154/how-do-i-find-out-my-root-mysql-password
'programing' 카테고리의 다른 글
표에서 1을 선택한다는 것은 무슨 뜻입니까? (0) | 2022.12.31 |
---|---|
정적 함수 테스트 방법 (0) | 2022.12.31 |
스프링 MVC 컨트롤러 get call에서 IP 주소를 추출하는 방법 (0) | 2022.12.31 |
InputStream을 UTF-8로 읽기 (0) | 2022.12.31 |
데이터 속성이 존재하는지 확인할 수 있는 방법이 있나요? (0) | 2022.12.31 |