[mysql] MySQL 루트 비밀번호를 재설정하거나 변경하는 방법은 무엇입니까?

우분투 서버에서 MySQL 루트 비밀번호와 사용자 이름을 어떻게 변경합니까? 변경 사항을 설정하기 전에 mysql 서비스를 중지해야합니까?

phpmyadmin 설정도 있는데 phpmyadmin이 자동으로 업데이트됩니까?



답변

Ubuntu Linux에서 MySQL 루트 비밀번호를 설정 / 변경 / 재설정합니다. 터미널에 다음 줄을 입력하십시오.

  1. MySQL 서버를 중지하십시오. sudo /etc/init.d/mysql stop
  2. mysqld구성을 시작하십시오 .sudo mysqld --skip-grant-tables &

    어떤 경우에는 /var/run/mysqld첫 번째 를 만들어야합니다 .

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  3. 운영: sudo service mysql start
  4. 루트로 MySQL에 로그인하십시오. mysql -u root mysql
  5. 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';

참고 :이 방법은 비밀번호를 재설정하는 가장 안전한 방법으로 간주되지 않지만 작동합니다.

참고 문헌 :

  1. Ubuntu Linux에서 MySQL 루트 비밀번호 설정 / 변경 / 재설정
  2. 루트 비밀번호를 재설정하는 방법

답변

나를 위해 일한 유일한 방법은 여기에 설명 된 방법입니다 (우분투 14.04를 실행 중입니다). 명확성을 기하기 위해 다음 단계는 다음과 같습니다.

  1. sudo vim /etc/mysql/my.cnf
  2. 끝에 다음 줄을 추가하십시오.

    [mysqld]
    
    스킵 그랜트 테이블
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root';-상단을보고 비밀번호 열이
    password 또는 authentication_string 인지 확인하십시오.

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; -위에서 올바른 비밀번호 열을 사용하십시오.

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. 보안 표준을 유지하려면 2 단계에서 추가 한 라인을 제거하십시오 .

  12. 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 비밀번호를 재설정하는 단계별 최종 솔루션을 공유하고 있습니다.

블로그 (dbrnd.com)에서 가져온 참조

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 루트 비밀번호를 변경하십시오.

이 메소드는 비밀번호를 명령 행 히스토리에 노출하므로이 명령은 루트로 실행해야합니다.

  1. mysql 명령 줄 도구를 통해 로그인하십시오.

    mysql -uroot -poldpassword
  2. 이 명령을 실행하십시오 :

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

또는

  1. 현재 사용자의 비밀번호 (이 경우 ‘root’)를 설정하는이 명령을 실행하십시오.

    비밀번호 설정 = 비밀번호 ( ‘newpassword’);