source

Mac에 설치한 후 ALTER USER 문을 사용하여 MySQL 루트 암호 재설정

gigabyte 2022. 10. 1. 21:20
반응형

Mac에 설치한 후 ALTER USER 문을 사용하여 MySQL 루트 암호 재설정

Mac 경험은 처음입니다.최근에 MySQL을 설치했는데 설치 후 비밀번호를 리셋해야 할 것 같습니다.내가 다른 일을 하게 놔두지 않을 거야

패스워드는 이미 통상적인 방법으로 리셋 하고 있습니다.

update user set password = password('XXX') where user = root;

(BTW: 이상한 이유로 MySQL이 'password' 필드의 이름을 'authentication_string'으로 바꾼 것을 알아내는 데 오랜 시간이 걸렸습니다.나는 그런 변화에 매우 화가 난다.)

아쉽게도 비밀번호를 제가 모르는 다른 방법으로 변경해야 할 것 같습니다.여기 있는 누군가가 이미 그 문제를 발견했을까요?

패스워드 설정이 처음이 아닌 경우는, 다음의 방법을 사용해 주세요.

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

또한 다음 오류가 발생할 경우 이전에 암호를 설정하지 않았을 가능성이 높습니다.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 

비밀번호를 처음 설정하려면:

mysql> SET PASSWORD = PASSWORD('your_new_password');
Query OK, 0 rows affected, 1 warning (0.01 sec)

참고 자료: https://dev.mysql.com/doc/refman/5.6/en/alter-user.html

mysql을 사용하여 한 mysql -u root -p

★★를 해 보세요.ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

출처 : http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

Mac에서도 같은 문제가 있습니다.

먼저 샌드박스 모드로 mysql 로그인

mysql -u <user> -p --connect-expired-password

다음으로 패스워드를 설정합니다.

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

Query OK, 0 rows affected, 1 warning (0.01 sec)

저는 좋아요~

경유: https://dba.stackexchange.com/questions/118852/your-paswssword-has-expired-after-restart-mysql-when-updated-mysql-5-7-8-rcde

MySQL 5.7.6 이후를 사용하는 경우:

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

MySQL 5.7.5 이전 버전을 사용하는 경우:

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

MySQL 문서

MySQL 5.7.x에서는 다음과 같이 기본 암호로 전환해야 암호를 변경할 수 있습니다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

다음 작업을 수행합니다.

$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'

그럼 달려라

./mysql -u root

로그인이 됩니다.이제 FLUSH 권한을 실행합니다.

그런 다음 MySQL 콘솔을 종료하고 로그인을 시도합니다.정상적으로 동작하지 않는 경우는, 다음과 같이 실행합니다.

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

xxxxxxx를 새 비밀번호로 변경합니다.그런 다음 다시 로그인해 보십시오.

갱신. http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html 를 참조해 주세요.

그게 네 문제를 해결해 줄 거야.

Oracle을 사용하는 경우 이 방법을 사용해 보십시오.

ALTER USER username IDENTIFIED BY password

UPDATE 사용자 SET authentication_string=PASSWORD("MyPassWord") 여기서 User='root'; ERROR 1064(42000):SQL 구문에 오류가 있습니다. MySQL Server 버전에 해당하는 설명서에서 1행의 '("MyPassWord") WHERE User='root' 근처에서 사용할 올바른 구문을 확인하십시오.

해결 방법

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

아래 사이트에서 참조

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

한 번 해보는 건 어때?

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

또는

SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');

사용하는 액세스에 따라 다릅니다.

(자신의 필드명을 변경할 필요가 없는 경우...)

https://dev.mysql.com/doc/refman/5.0/en/set-password.html

'new_password'로 식별되는 사용자 'root'@'localhost'를 변경합니다.

이 선을 사용합니다...

서서 Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64)한 사용자 이름 :mysql -uroot -pMySQL을 사용합니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';

예제:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab1234'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye $ mysql -uroot -p

'Ab1234'를 입력할 수 있습니다.

Mysql 5.7.24 root first 로그인을 취득

순서 1: 로그에서 패스워드 취득

 grep root@localhost /var/log/mysqld.log
    Output
        2019-01-17T09:58:34.459520Z 1 [Note] A temporary password is generated for root@localhost: wHkJHUxeR4)w

스텝 2: 그와 함께 mysql에 로그인합니다.

mysql -uroot -p'wHkJHUxeR4)w'

순서 3: 새로운 루트 패스워드를 입력합니다.

SET PASSWORD = PASSWORD('xxxxx');

에 넣다ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

어떻게 고쳐?

이것을 실행하다 SET GLOBAL validate_password_policy=LOW;

재시도 SET PASSWORD = PASSWORD('xxxxx');

이 방법은 효과가 있었습니다.

ALTER USER()는 'auth_string'으로 식별됩니다.

http://dev.mysql.com/doc/refman/5.7/en/alter-user.html#alter-user-current에서 찾았습니다.

이게 내가 일하는 방식이야.

mysql>show databases ;

오류 1820(HY000):이 문을 실행하기 전에 ALTER USER 문을 사용하여 비밀번호를 리셋해야 합니다.

mysql>uninstall plugin validate_password;

오류 1820(HY000):이 문을 실행하기 전에 ALTER USER 문을 사용하여 비밀번호를 리셋해야 합니다.

mysql>alter user 'root'@'localhost' identified by 'root';

Query OK(0.01초), 영향을 받는 행 수 0개

mysql>flush privileges;

Query OK(0.03초), 영향을 받는 행 수 0개

「 」를 사용하는 SET PASSWORD = PASSWORD('your_new_password'); 잘못하면 날지도 모른다

(오류 1819(HY000):암호가 현재 정책 요구 사항을 충족하지 않습니다.)

(를) 사용할 수 있습니다.사용할 수 있습니다.SET GLOBAL validate_password_policy=LOW;흘려보낼 수 있어요

5.7 버전입니다.'password' 필드가 삭제되었습니다.authentication_string으로 바꿉니다.

use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;

사용자의 비밀번호를 변경하려면:

  • 루트 로그인을 .$sudo mysql

  • 사용자 비밀번호 변경

    사용자 'user'@'localhost'를 'new Password'로 식별한다.

Mac OS X 10.10.4(Yosemite)에서도 같은 문제가 발생하였습니다.SET PASSWORD로 동작합니다.mysql-mysql>SET PASSWORD = PASSWORD('your_PASSWORD')의 패스워드를 변경합니다.쿼리 OK, 영향을 받는 행 0개, 경고 1개(0.01초)

환경 경로 .bash_profile로 행.bash_profile Mysql을 합니다.
PATH=명령을후 을 실행합니다. source. pATH=$PATH:/usr/local/mysql/bin

mysql 워크벤치와 mysql 커뮤니티 서버를 설치한 후 문제가 발생하였습니다.서버 설치 중에 생성된 암호입니다.워크벤치의 기존 로컬인스턴스를 더블 클릭하면 새 비밀번호를 설정할 수 있는 대화상자가 나타납니다.

mysql> SET PASSWORD = PASSWORD('your_new_password');저는 좋아요.

버전 5.7.23 이상 기억 - 사용자 테이블에는 인증 문자열 대신 열 암호가 없으므로 아래는 사용자의 암호를 재설정할 때 작동합니다.

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

mysql 5.7.x(복제)에서는 슬레이브 사용자의 패스워드가 일치하지 않거나 루트 사용자가 마스터에 존재하지 않기 때문에 이 문제가 발생할 수 있습니다.

예를 들어 (내 경우)

인스턴스를 만들고 루트에 대한 암호를 변경한 후 슬레이브를 복제하기 전에 루트 사용자를 삭제했습니다.슬레이브 인스턴스를 만들었을 때 쿼리에 이 경보가 표시되었습니다(루트 사용자를 삭제하기 전에 마스터에서 비밀번호를 변경했기 때문에 슬레이브가 실제로는 root 사용자 변경 문이었던 첫 번째 로그를 읽고 있었기 때문입니다).

show slave status\G

여기서 적용할 수 있는 솔루션은 2가지가 있습니다.

  1. 마스터 호스트와 슬레이브 호스트에 동일한 암호로 루트 사용자를 생성할 수 있습니다.
  2. 마스터 호스트에서 쿼리를 실행할 수 있습니다.reset master;

마스터에 슬레이브를 다시 연결합니다.

나도 같은 문제가 있었다.액세스가 거부되었습니다.

그래서 제 해결책은

에 가다

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

플러그 인 열 이름을 볼 수 있습니다.

플러그인을 unix_module ->에서 mysql_module_password로 변경했습니다.

그럼 이렇게 입력합니다.

mysql > use mysql;
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;

완료. my version so 10.1.48 MariaDB ubuntu 18

언급URL : https://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac

반응형