[mysql] MySQL 루트 비밀번호를 재설정하거나 변경하는 방법은 무엇입니까?
우분투 서버에서 MySQL 루트 비밀번호와 사용자 이름을 어떻게 변경합니까? 변경 사항을 설정하기 전에 mysql 서비스를 중지해야합니까?
phpmyadmin 설정도 있는데 phpmyadmin이 자동으로 업데이트됩니까?
답변
Ubuntu Linux에서 MySQL 루트 비밀번호를 설정 / 변경 / 재설정합니다. 터미널에 다음 줄을 입력하십시오.
- MySQL 서버를 중지하십시오.
sudo /etc/init.d/mysql stop
-
mysqld
구성을 시작하십시오 .sudo mysqld --skip-grant-tables &
어떤 경우에는
/var/run/mysqld
첫 번째 를 만들어야합니다 .sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
- 운영:
sudo service mysql start
- 루트로 MySQL에 로그인하십시오.
mysql -u root mysql
-
YOURNEWPASSWORD
새 비밀번호로 교체하십시오 .UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES; exit;
참고 : 일부 버전에서
password
열이 존재하지 않으면 다음을 시도해보십시오.
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
참고 :이 방법은 비밀번호를 재설정하는 가장 안전한 방법으로 간주되지 않지만 작동합니다.
참고 문헌 :
답변
나를 위해 일한 유일한 방법은 여기에 설명 된 방법입니다 (우분투 14.04를 실행 중입니다). 명확성을 기하기 위해 다음 단계는 다음과 같습니다.
sudo vim /etc/mysql/my.cnf
-
끝에 다음 줄을 추가하십시오.
[mysqld] 스킵 그랜트 테이블
-
sudo service mysql restart
-
mysql -u root
-
use mysql
-
select * from mysql.user where user = 'root';
-상단을보고 비밀번호 열이
password 또는 authentication_string 인지 확인하십시오. -
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
-위에서 올바른 비밀번호 열을 사용하십시오. -
FLUSH PRIVILEGES;
-
exit
-
sudo vim /etc/mysql/my.cnf
-
보안 표준을 유지하려면 2 단계에서 추가 한 라인을 제거하십시오 .
-
sudo service mysql restart
참조 : https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
답변
우분투 서버에서 루트 암호를 재설정하는 공식적이고 쉬운 방법 …
16.04, 14.04, 12.04 인 경우 :
sudo dpkg-reconfigure mysql-server-5.5
10.04 인 경우 :
sudo dpkg-reconfigure mysql-server-5.1
어떤 mysql-server 버전이 설치되어 있는지 잘 모르는 경우 다음을 시도해보십시오.
dpkg --get-selections | grep mysql-server
mysql-server-5.7에 대한 업데이트 된 노트
mysql-server-5.7을 사용하는 경우 위에 표시된 쉬운 dpkg-reconfigure 방법을 사용할 수 없습니다.
비밀번호를 알고 있으면 로그인하여 다음을 실행하십시오.
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;
또는 다음을 사용할 수 있습니다.
sudo mysql_secure_installation
새 루트 암호를 제공하려는 경우를 포함하여 설치 보안 (권장)에 관한 일련의 질문을합니다.
루트 암호를 모르는 경우 프로세스에 대한이 우분투 중심 쓰기를 참조하십시오 .
자세한 내용은 다음을 참조하십시오.
https://help.ubuntu.com/16.04/serverguide/mysql.html
https://help.ubuntu.com/14.04/serverguide/mysql.html
답변
나를 위해 일한 것 (Ubuntu 16.04, mysql 5.7) :
MySQL 중지
sudo service mysql stop
MySQL 서비스 디렉토리를 만듭니다.
sudo mkdir /var/run/mysqld
MySQL 사용자에게 서비스 디렉토리에 쓸 수있는 권한을 부여하십시오.
sudo chown mysql: /var/run/mysqld
권한 확인이나 네트워킹없이 MySQL을 수동으로 시작하십시오.
sudo mysqld_safe --skip-grant-tables --skip-networking &
다른 콘솔에서 비밀번호없이 로그인하십시오.
mysql -uroot mysql
그때:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;
MySQL을 끄십시오.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQL 서비스를 정상적으로 시작하십시오.
sudo service mysql start
답변
Linux Ubuntu에서 MySQL 비밀번호를 재설정하는 단계별 최종 솔루션을 공유하고 있습니다.
1 단계 : MySQL 서비스를 중지합니다.
sudo stop mysql
2 단계 : 실행중인 모든 mysqld를 종료합니다.
sudo killall -9 mysqld
3 단계 : 안전 모드에서 mysqld 시작
sudo mysqld_safe --skip-grant-tables --skip-networking &
4 단계 : MySQL 클라이언트 시작
mysql -u root
5 단계 : 로그인에 성공하면이 명령을 실행하여 비밀번호를 변경하십시오.
FLUSH PRIVILEGES;
6 단계 : mysql 루트 비밀번호를 업데이트 할 수 있습니다.
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
참고 : MySQL 5.7에서는 열 Password
이 호출 authentication_string
됩니다.
7 단계 :이 명령을 실행하십시오.
FLUSH PRIVILEGES;
답변
우분투 18.04 및 mysql 5.7에서 문제가 발생했습니다. 이것이 해결책입니다.
comands를 실행하기 전에 mysql-server를 다시 시작하십시오.
sudo service mysql restart
MYSQL-SERVER> = 5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MYSQL- 서버 <5.7
sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
답변
MySQL 루트 비밀번호를 변경하십시오.
이 메소드는 비밀번호를 명령 행 히스토리에 노출하므로이 명령은 루트로 실행해야합니다.
-
mysql 명령 줄 도구를 통해 로그인하십시오.
mysql -uroot -poldpassword
-
이 명령을 실행하십시오 :
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
또는
-
현재 사용자의 비밀번호 (이 경우 ‘root’)를 설정하는이 명령을 실행하십시오.
비밀번호 설정 = 비밀번호 ( ‘newpassword’);