MySQL은 데이터 저장, 데이터 처리, 데이터 분석에 사용할 수 있는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. MySQL을 사용하는 과정에서 비밀번호를 잊어버리는 문제가 발생할 수 있습니다. 이 문제가 제때에 해결되지 않으면 업무와 데이터에 불필요한 영향을 미칠 수 있습니다. 이 기사에서는 독자들에게 MySQL 비밀번호를 잊어버린 경우 문제를 처리하는 방법을 소개하겠습니다.
먼저 MySQL 비밀번호가 어떻게 저장되는지 이해해야 합니다. MySQL은 비밀번호를 암호화된 해시 문자열로 저장합니다. 이 프로세스는 SHA1() 암호화 기능과 Salt라는 임의의 문자열을 사용하여 수행됩니다. 이 암호화 프로세스는 되돌릴 수 없으므로 MySQL 비밀번호를 복구하려면 몇 가지 구체적인 조치를 취해야 합니다.
다음으로 MySQL 비밀번호를 복구하기 위해 일반적으로 사용되는 몇 가지 방법을 독자들에게 소개하겠습니다.
방법 1: 루트 사용자를 사용하여 비밀번호 변경
루트 권한이 있는 경우 다음 단계를 사용하여 비밀번호를 변경할 수 있습니다.
1. MySQL 서버에 root
mysql -u root -p
mysql -u root -p
2.输入root用户密码
3.进入MySQL命令行
4.进入mysql命令行后,使用以下命令来修改root用户密码:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
5.退出MySQL,使用新密码重新登录
在使用MySQL时,root用户具有最高的权限,因此如果您知道root用户的密码,那么修改MySQL的密码就变得非常简单了。
方法二:重置MySQL密码
如果您无法通过root用户来修改密码,或者根本不知道root密码,那么重置MySQL密码可能是您的最佳选择。以下是两种常用的重置MySQL密码的方法:
方法1:使用skip-grant-tables重置MySQL密码
这种方法将跳过MySQL的用户认证过程,并允许您无需提供密码就可以登录MySQL。以下是具体步骤:
1.停止MySQL服务
sudo systemctl stop mysql
2.执行以下命令以跳过MySQL的用户认证过程:
sudo mysqld_safe --skip-grant-tables &
3.以root身份登录MySQL服务器
mysql -u root
4.在进入MySQL命令行后,使用以下命令来修改密码:
mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
5.刷新mysql.user表
mysql> FLUSH PRIVILEGES;
6.退出MySQL,并重新启动MySQL
sudo systemctl start mysql
7.使用新密码重新登录MySQL
方法2:使用重置脚本重置MySQL密码
这种方法需要您以root身份运行脚本,并且需要知道MySQL的数据文件所在位置。以下是具体步骤:
1.停止MySQL服务
sudo systemctl stop mysql
2.找到MySQL的数据文件
MySQL默认将数据文件存储在/var/lib/mysql目录下。执行以下命令可以找到数据文件的确切位置:
sudo find / -name "*.frm"
3.创建重置脚本
请使用以下命令将以下代码保存到resetmysql.sh文件中:
#!/bin/bash /usr/sbin/mysqld --skip-grant-tables --skip-networking & sleep 5s mysql -u root <<EOF UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; EOF killall mysqld sleep 5s /usr/sbin/mysqld --skip-networking &
请将“new_password”替换为您要设置的新密码。
4.运行脚本重置MySQL密码
使用以下命令以root权限运行重置脚本:
sudo bash resetmysql.sh
5.启动MySQL
sudo systemctl start mysql
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
교체하세요. "new_password"를 설정하려는 새 비밀번호로 변경하고 MySQL 명령줄 끝에 세미콜론을 추가하세요. 5. MySQL을 종료하고 새 비밀번호로 다시 로그인하세요. 🎜🎜MySQL을 사용하는 경우 루트 사용자는 가장 높은 권한을 가지므로 루트 사용자의 비밀번호를 알고 있으면 MySQL 비밀번호를 수정하는 것이 매우 간단해집니다. 🎜🎜방법 2: MySQL 비밀번호 재설정🎜🎜루트 사용자를 통해 비밀번호를 변경할 수 없거나 루트 비밀번호를 전혀 모르는 경우 MySQL 비밀번호를 재설정하는 것이 최선의 선택일 수 있습니다. 다음은 MySQL 비밀번호를 재설정하는 데 일반적으로 사용되는 두 가지 방법입니다. 🎜🎜방법 1: Skip-grant-tables를 사용하여 MySQL 비밀번호 재설정 🎜🎜이 방법을 사용하면 MySQL의 사용자 인증 프로세스를 건너뛰고 비밀번호를 제공하지 않고도 MySQL에 로그인할 수 있습니다. 구체적인 단계는 다음과 같습니다. 🎜🎜1. MySQL 서비스를 중지합니다. 🎜🎜sudo systemctl stop mysql
🎜🎜2. MySQL의 사용자 인증 프로세스를 건너뛰려면 다음 명령을 실행합니다. 🎜🎜 sudo mysqld_safe --skip-grant-tables &
🎜🎜3. MySQL 서버에 root🎜🎜mysql -u root
🎜🎜4로 로그인합니다. 비밀번호를 변경하려면 다음 명령을 사용하세요. 🎜🎜mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
🎜🎜"new_password"를 새 비밀번호로 바꾸세요. 설정하려는 비밀번호를 입력하고 MySQL 명령줄 끝에 세미콜론을 추가하세요. 🎜🎜5. mysql.user 테이블을 새로 고칩니다. 🎜🎜mysql> FLUSH PRIVILEGES;
🎜🎜6. MySQL을 다시 시작하고 🎜🎜sudo systemctl start mysql
🎜🎜7. 새 비밀번호를 사용하여 MySQL에 다시 로그인하세요🎜🎜방법 2: 재설정 스크립트를 사용하여 MySQL 비밀번호를 재설정하세요🎜🎜이 방법에는 다음이 필요합니다. 스크립트를 루트로 실행하려면 MySQL 위치의 데이터 파일을 알아야 합니다. 구체적인 단계는 다음과 같습니다. 🎜🎜1. MySQL 서비스를 중지합니다. 🎜🎜sudo systemctl stop mysql
🎜🎜2 MySQL 데이터 파일을 찾습니다. 🎜🎜MySQL은 데이터 파일을 /var/lib에 저장합니다. /mysql 디렉토리는 기본적으로 Down입니다. 데이터 파일의 정확한 위치는 다음 명령을 실행하여 찾을 수 있습니다: 🎜🎜sudo find / -name "*.frm"
🎜🎜3 재설정 스크립트 만들기 🎜🎜 다음 명령을 사용하십시오. 다음 코드를 Resetmysql에 저장하려면 .sh 파일에서: 🎜rrreee🎜"new_password"를 설정하려는 새 비밀번호로 바꾸세요. 🎜🎜4. 스크립트를 실행하여 MySQL 비밀번호를 재설정합니다. 🎜🎜다음 명령을 사용하여 루트 권한으로 재설정 스크립트를 실행합니다. 🎜🎜sudo bash resetmysql.sh
🎜🎜5 MySQL을 시작합니다. code>sudo systemctl start mysql🎜🎜6. 새 비밀번호로 MySQL에 다시 로그인하세요🎜🎜이 시점에서 독자는 MySQL 비밀번호 분실 문제를 해결하기 위한 다음 두 가지 방법을 이미 알고 있어야 합니다. 루트 사용자를 사용하세요. 비밀번호를 변경하려면 MySQL 비밀번호 재설정 스크립트를 사용하여 비밀번호를 재설정하세요. 🎜🎜결론: 🎜🎜MySQL을 데이터베이스로 사용할 때 비밀번호를 잊어버리는 것은 흔한 문제입니다. 이 기사에서는 MySQL에서 비밀번호 분실 문제를 해결하기 위한 두 가지 가능한 솔루션을 소개합니다. MySQL 경험이 없는 사용자라면 MySQL 구성 파일을 임의로 수정하지 마십시오. 위에서 소개한 방법이 잘 익숙하지 않은 경우 전문가에게 문의하여 관련 문제를 해결하시기 바랍니다. 🎜위 내용은 mysql 비밀번호를 잊어버렸습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!