source

MySQL 루트 비밀번호 변경

factcode 2022. 10. 27. 22:58
반응형

MySQL 루트 비밀번호 변경

MySQL 루트입니다.mysqld_safe --skip-grant-tables 비밀번호를 하여 해당 비밀번호가 확인합니다.root 비밀번호가 있는지

MySQL 데몬을 재시작한 후 방금 설정한 새 루트 암호로 로그인하려고 했지만 사용자 'root' 오류로 인해 액세스가 거부되었습니다.또한 MySQL을 완전히 삭제하고 재설치해 보았습니다.my.cnffile)및no luck.file)을 하십시오.음음음음음음음음음음????

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 문서에서 루트 암호 재설정 방법을 찾을 수 있습니다.

MySQL 레퍼런스 매뉴얼에서 다음 내용을 확인하십시오.

MySQL에 처음 로그인:

mysql -u root -p

다음으로 mysql 프롬프트에서 다음을 수행합니다.

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

그리고나서

FLUSH PRIVILEGES;

상세한 것에 대하여는, 다음의 페이지를 참조해 주세요.루트 패스워드 리셋: Unix Systems

갱신:

일부 버전의 mysql에서는 password 컬럼을 사용할 수 없게 되어 다음 오류가 나타납니다.

ERROR 1054 (42S22): Unknown column 'Password' in 'field list'

「」를 합니다.ALTER USER아래 답변과 같이.

아래 단계를 따르세요.

  1. sudo service mysql stop
  2. sudo mysqld_safe --skip-grant-tables
  3. sudo service mysql start
  4. sudo mysql -u root
  5. use mysql;
  6. show tables;
  7. describe user;
  8. update user set authentication_string=password('1111') where user='root';
  9. FLUSH PRIVILEGES;

비밀번호 "1111"로 로그인합니다.

이것은 WAMP v3.0.6 이후의 갱신된 답변입니다.

MySQL 명령줄 클라이언트, phpMyAdmin 또는 MySQL GUI에서 다음을 수행합니다.

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

FLUSH PRIVILEGES;

MySQL 버전 5.7.x에서는 MySQL 테이블에 더 이상 암호 필드가 없습니다.authentication_string으로 대체되었습니다(단말기/CLI용).

MySQL 명령줄 클라이언트, phpMyAdmin 또는 MySQL GUI에서 다음을 수행합니다.

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

FLUSH PRIVILEGES;

저도 찾아봤는데 아마 상황에 맞는 답이 있을 거예요.

Ubuntu 18.04.2 LTS 시스템의 경우 Mysql 5.7:

(root 권한을 가져옵니다)

$ sudo bash

(root db 사용자 비밀번호 설정 + 단계별로 보안 구현)

# mysql_secure_installation

(소켓 대신 패스워드로 루트 사용자에게 접근 가능)

(+ edit: 비밀번호를 다시 설정해야 합니다.)

('My Secret Password'로 설정하지 마세요!!

# 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

훌륭한 답변에 감사 드립니다(몇 시간 검색 후...)

즐기기:-D

s.

편집(2020):

이 방법은 더 이상 작동하지 않습니다. 나중에 참조하려면 이 질문을 참조하십시오.

찾았다!비밀번호를 변경할 때 해시하는 것을 잊어버렸습니다.이 쿼리를 사용하여 문제를 해결했습니다.

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

★★★★★★★★★를 잊어버렸다.PASSWORD('NEW PASSWORD')새 비밀번호를 일반 텍스트로 입력합니다.

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';

MySQL 8에서 암호 해시 방법을 지정해야 합니다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new-password';

이건 나한테 효과가 있었어-

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

4장 루트 패스워드 리셋: Windows 시스템

MySQL 5.7.6 이후의 경우:

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

MySQL 5.7.5 이전 버전의 경우:

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

버전 8.0.19 에서의 루트 패스워드의 설정에 도움이 되는 것은, 다음의 순서 뿐입니다.

mysql
SELECT user,authentication_string FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass_here';
FLUSH PRIVILEGES;
SELECT user,authentication_string FROM mysql.user;

루트 사용자의 변경을 확인할 수 있는 경우 동작합니다.출처:루트 암호 MySQL Server를 설정할 수 없습니다.

패스워드를 리셋해야 합니다!Mac OS X(테스트 및 작동) 및 Ubuntu의 단계:

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

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

최신 MySQL 버전(8.0.16)에서는 이 답변 중 어느 것도 효과가 없었습니다.

몇 가지 다른 답을 보고 조합한 결과, 다음과 같이 사용할 수 있었습니다.

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

mysqladmin 명령줄 유틸리티를 사용하여 MySQL 비밀번호를 변경합니다.

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

원천

kta의 답을 시도해 봤지만 소용없었다.

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

MySQL 명령줄 클라이언트(실행 파일)에서 이 기능을 사용할 수 있었습니다.mysql

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


이것은 Mac 사용자를 위한 것입니다.


8.0.15(아마도 그 이전 버전)에서는 PASSWORD() 함수는 기능하지 않습니다.다음 작업을 수행해야 합니다.

먼저 Stopped MySQL을 실행했는지 확인합니다(위).특권 바이패스를 사용하여 서버를 세이프 모드로 실행합니다.

sudo mysqld_safe --skip-grant-tables

이 mysqld_safe를 MySQL 경로로 바꿉니다.

sudo /usr/local/mysql/bin/mysqld_safe –skip-grant-tables

그런 다음 다음 단계를 수행해야 합니다.

mysql -u root

UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

그리고나서

mysql -u root

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

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

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

많은 댓글이 달렸지만 이 방법으로 도움을 받았습니다.

sudo mysqladmin -u root password 'my password'

내 경우 설치 후 루트 사용자의 패스워드가 없는 MySQL 서비스를 받았기 때문에 보안을 위해 패스워드를 설정해야 했습니다.

는 제가 그 사실을 입니다.-p이치노

mysql -u root -p

이제 다음을 사용합니다.

SET PASSWORD FOR <user> = '<plaintext_password>'

★★★★★★★★★★★★★★★★★★'SET PASSWORD FOR <user> = PASSWORD('<plaintext_password>')'는 폐지되어 향후 릴리즈에서 삭제될 예정입니다.) (04/12 2021년)을 하십시오.SET PASSWORD FOR <user> = '<plaintext_password>'★★★★★★ 。

업데이트 4/12 2021 AM 2:22:07 UTC/GMT - 5시간

mysql 명령줄에서 직접 변경하려면 다음 문을 사용합니다.

mysql> SET PASSWORD FOR'root'@'localhost' = PASSWORD('newpass');

또는 1. 단말기가 MySQL의 bin 디렉토리에 들어갑니다.

cd /usr/local/mysql/bin

2. MySQL 열기

mysql -u root -p

3. 이때 기본 비밀번호를 사용할 수 있습니다.

4. 현시점에서는 MySQL에서 작업을 수행합니다.

show databases;

5. 루트 사용자 비밀번호를 재설정하라는 메시지가 나타납니다.

루트 패스워드는 어떻게 리셋합니까?많은 정보를 확인했지만 효과가 없었습니다.

모드에서 하기 위해 하는 것을 명령어 "mysqladmin" 을 Mysqladmin -u root password"your-new-password"안돼." 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이, 이.

올바른 순서는 다음과 같습니다.

. CD에 있다./usr/local/mysql/bin/

2.sudo su

입력 후 컴퓨터 비밀번호를 입력하라는 메시지가 나타납니다.

입력해도 아무것도 표시되지 않습니다.입력한 후 Enter 키를 누릅니다.

그런 다음 Enter 키를 누릅니다.

3. 인가 검증을 넘나들다

sh-3.2# ./mysqld_safe --skip-grant-tables &

명령어 실행이 중지되고 이 시점에서 실행이 완료된 경우

Enter 키를 직접 누른 다음 종료하려면 다음을 누르십시오.

sh-3.2# exit

4. 현시점에서는 MySQL을 다시 입력합니다.-p 파라미터, 패스워드 없음

./mysql -u root

5. 데이터베이스 MySQL을 선택합니다(여기서 MySQL은 MySQL의 데이터베이스를 의미합니다).

MySQL에는 다른 데이터베이스가 있으므로 show databases를 통해 표시할 수 있습니다.

use mysql;

6. 데이터베이스 테이블에서 루트 사용자의 비밀번호를 업데이트합니다.

update user set authentication_string=‘123456’ where User='root';

이 는 의: 밀음음음음음음음음음음음음음음음음 here here here here here here here here here here 。authentication_string ,

아니다password인터넷에 떠돌고 있다.

MySQL은 나중에 업데이트 된 것으로 추정됩니다.

MySQL을 다시 입력하고 방금 설정한 비밀번호를 사용해도 될까요?

인가 인증을 바이패스하도록 설정했기 때문에

비밀번호 없이 MySQL에 직접 로그인할 수 있습니다.

저의 어리석은 방법은 컴퓨터를 재부팅하고 패스워드로 MySQL에 다시 로그인하여 변경이 유효한지 확인하는 것입니다.

2022년부터 갱신

몇 가지 해답을 시도해 보았지만, 나에게 맞는 답은 다음과 같다.

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

StrongDM 제공

용 Windows 10 용 MySql 로도 또한 이 클라이언트는root

또는 인터랙티브 설정을 사용합니다.

sudo mysql_secure_installation

macOS 사용자의 경우 루트 비밀번호를 잊어버린 경우 ThusharaK의 답변은 좋지만 몇 가지 요령이 더 있습니다.

시스템 기본 설정을 사용하여 MySQL Serverside를 시작하는 경우,

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

자기 것을 확인하려고요

WAMP를 종료하고 모든 WAMP 서비스를 중지합니다.

메모장을 열고 다음을 입력합니다.

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

그런 다음 원하는 이름으로 C: 드라이브에 저장합니다."c:/syslog.txt"와 같이

이제 "wamp" 폴더로 이동합니다. wampbin → mysql → mysql (사용자 버전) → bin

이 경우 경로는 "C:\wamp\bin\mysql\mysql5.6.17\bin"입니다.

경로를 복사하고 CMD를 (+)Ctrl로 실행한 다음 cmd()Enter를 입력합니다.

유형cdCMD를 오른쪽 클릭하여 경로()Enter를 붙여넣습니다.

[Now] (입력)mysqld --init-file=C:\\example.txt괄호()Enter를 사용하지 않습니다.

그런 다음 PC를 재시작하거나 태스크 매니저를 열고 mysqld.exe를 종료합니다.

WAMP를 시작하면 암호가 삭제됩니다.

루트 패스워드를 리셋 하고 있습니다.

  1. sudo mysql --defaults-file=/etc/mysql/debian.cnf

  2. alter user 'root'@'localhost' identified with mysql_native_password by 'new_password';

우분투에서는

sudo dpkg-reconfigure mysql-server-5.5

교체하다5.5현재 버전이 있는 경우 새 루트 비밀번호를 입력하라는 메시지가 표시됩니다.

  1. Mac의 경우 MySQL을 기본 설정합니다.

  2. MySQL의 구성 섹션에서 "데이터베이스 초기화"를 확인합니다.

  3. 프롬프트에서 비밀번호를 변경합니다.

    데이터베이스 초기화

언급URL : https://stackoverflow.com/questions/7534056/mysql-root-password-change

반응형