ProgramingTip

MySQL 루트 비밀번호 변경

bestdevel 2020. 12. 26. 15:57
반응형

MySQL 루트 비밀번호 변경


MySQL 루트 비밀번호를 강화했습니다. mysqld_safe --skip-grant-tables를 실행하고 루트 비밀번호를 업데이트하고 사용자 테이블이 확인되었습니다. mysql 데몬을 다시 시작하면 방금 설정 한 새 루트 암호로 로그인을 시도했지만 여전히 사용자 '루트'오류로 인해 액세스가 거부되었습니다. 나는 또한 mysql을 제거하고 다시 설치하려고 시도했지만 (my.cnf 파일 제거 포함) 여전히 운이 없습니다. 다음에 대한 제안이 있습니까?

미리 감사드립니다


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


MySQL 참조 설명서에서 제시합니다.

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

자세한 내용은이 페이지를 참조하십시오. 루트 암호 시스템 : Unix 시스템


그것을 발견! 비밀번호를 쓸 때 해시하는 것을 잊었습니다. 이 쿼리를 사용하여 문제를 해결했습니다.

update user set password=PASSWORD('NEW PASSWORD') where user='root';

잊고 PASSWORD('NEW PASSWORD')새 비밀번호를 일반 텍스트로 입력했습니다.


이것은 WAMP v3.0.6 이상에 대한 업데이트 된 답변입니다.

> UPDATE mysql.user 
> SET authentication_string=PASSWORD('MyNewPass') 
> WHERE user='root';

>FLUSH PRIVILEGES;

MySQL 버전 5.7.x에서는 mysql 테이블에 더 이상 비밀번호 필드가 없습니다. 인증 _ 문자열로 대체.


아래 단계를 수행하십시오.

1 단계. MySQL 중지

2 단계. sudo mysqld_safe --skip-grant-tables

step3.mysql -u root

step4.use mysql;

step5.show tables;

step6.describe user;

step7.update user set authentication_string=password('1111') where user='root';

비밀번호 1111로 로그인


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

MySQL 문서에서 루트 암호를 사용할 수 있습니다 .


비밀번호를 반드시해야합니다! Mac OSX (테스트 및 작동) 및 우분투 용 단계

MySQL 중지

$ 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 시작

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

새 비밀번호는 '비밀번호'입니다.


나도 주변을 검색했는데 어떤 상황에 맞는 답변도있을 것 같지만

내 상황은 Ubuntu 18.04.2 LTS 시스템의 Mysql 5.7입니다.

(루트 권한 포함)

$ sudo bash

(루트 db 사용자의 비밀번호 설정 + 단계적으로 보안 구현)

# mysql_secure_installation

(소켓 대신 암호를 통해 루트 사용자에게 액세스 권한 부여)

(+ 편집 : 분명히 암호를 다시 설정해야할까요?)

( 'mySecretPassword'로 설정하지 않고 !!!)

# mysql -u root

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> set password for 'root'@'localhost' = PASSWORD('mySecretPassword'); 
mysql> FLUSH PRIVILEGES;
mysql> exit;

# service mysql restart

에 많은 감사 zetacu (그리고 에리히 용) 이 우수한 대답 ( 시간을 검색 후 ...)

즐기세요 :-D

에스.


가끔씩 발생하는 일반적인 오류는 -p옵션을 생략 버린 것 다음을 사용 했습니까?

mysql -u root -p

MySQL 5.7에서는 비밀번호가 'authentication_string'으로 대체됩니다.

사용하다

update user set authentication_string=password('myfavpassword') where user='root';

현재 최신 mysql 버전 (8.0.16)의 경우 다만 답변 중 어느 것도 나를 위해 작동하지 않습니다.

몇 가지 다른 답변을 살펴보고 함께 결합한 후 이것이 효과가있는 것을 사용하여 결론을 내 렸습니다.

update user set authentication_string='test' where user='root';

도움이 되었기를 바랍니다.


MySQL 5.7.6 이상의 경우 :

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

MySQL 5.7.5 이하의 경우 :

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

은 Using mysqladmin 데이터의 명령 줄 유틸리티하면 MySQL의 암호를 변경하려면 :

mysqladmin --user=root --password=oldpassword password "newpassword"

출처


MySQL 8.0.4+에서

현재 루트 사용자를 업데이트하려면 :

select current_user();
set password = 'new_password';

다른 사용자를 업데이트하려면 :

set password for 'otherUser'@'localhost' = 'new_password';

비밀번호를 업데이트하기 전에 비밀번호 정책을 설정하려면 :

set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';

루트 암호를 업데이트하는 다른 / 더 나은 방법 :

mysql_secure_installation

기존 앱을 계속 사용할 수 있도록 5.x 인증을 고수하고 싶으십니까?

의 위에 my.cnf

default_authentication_plugin = mysql_native_password

루트를 업데이트하려면 :

set global validate_password.policy = 0;
alter user 'root'@'localhost' identified with mysql_native_password by 'new_password';

모든 wamp 서비스를 중지하고 wamp에서 종료하십시오.

메모장을 열고 입력> SET PASSWORD FOR 'root'@ 'localhost'= PASSWORD ( '');

그런 다음 "c : /example.txt"와 같이 이름이 .. 인 c : 드라이브에 저장합니다.

이제 "wamp"falder wamp> bin> mysql> mysql (your version)> bin으로 이동합니다. 내 경우 경로는 "C : \ wamp \ bin \ mysql \ mysql5.6.17 \ bin"입니다.

이제 경로를 복사 한 다음 (ctrl + r)을 사용하여 cmd를 실행 한 다음 "cmd"를 입력합니다 (입력).

cd를 입력하고 cmd를 마우스 오른쪽 버튼으로 클릭하고 경로를 붙여넣고 (입력) 이제 중괄호없이 (mysqld --init-file = C : \ example.txt) 입력 한 다음 (입력)

그런 다음 PC를 다시 시작하거나 taskmgr을 열고 mysqld.exe를 종료하십시오.

wamp를 시작하면 비밀번호가 제거됩니다 ...


MacOS 사용자의 경우 루트 암호를 잊은 경우 @thusharaK의 답변 ( https://stackoverflow.com/a/28601069/5628856 )이 좋지만 몇 가지 트릭이 있습니다.

시스템 환경 설정을 사용하여 mysql 서버 측을 시작하는 경우 간단히

sudo mysqld_safe --skip-grant-tables

당신을 위해 작동하지 않을 수 있습니다.

명령 줄 인수가 시스템 시작 구성과 동일한 지 확인해야합니다.

다음 명령이 저에게 효과적입니다.

/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables

당신이 사용할 수있는

ps aux | grep mysql

자신을 확인하십시오.


@kta의 답변을 시도했지만 나를 위해 작동하지 않았습니다.

MySQL 8.0을 사용하고 있습니다.

이것은 나를 위해 일했습니다.

mysql> SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'


우분투에서는

sudo dpkg-reconfigure mysql-server-5.5 

교체 5.5현재 버전과 새 루트 암호를 입력해야합니다.


너무 많은 의견이 있지만이 방법에 도움을 받았습니다.

sudo mysqladmin -u root password 'my password'

제 경우에는 설치 후 루트 사용자의 비밀번호없이 mysql 서비스를 받았으며 보안을 위해 비밀번호를 설정해야했습니다.

참조 URL : https://stackoverflow.com/questions/7534056/mysql-root-password-change

반응형