programing

루트 비밀번호를 null로 설정하는 방법

kingscode 2022. 9. 8. 22:57
반응형

루트 비밀번호를 null로 설정하는 방법

「 」의 해야 합니까?root부터 MySQL 사용자까지:null''에서 --MySQL 명령어라인 클라이언트로부터 --MySQL 명령어라인 클라이언트로부터 --MySQL 명령어라인 클라이언트로부터

"5.7.11 MySQL Community Server"에서 작동:

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

'plugin' 필드도 'auth_socket'으로 설정되었기 때문에 변경해야 했습니다.

에는 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,mysql -u root패스워드 없이.

빈 비밀번호를 원하는 경우 비밀번호를 null로 설정하고 비밀번호 해시함수를 사용하지 마십시오.

명령줄에서 다음 작업을 수행합니다.

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot

MySQL의 경우:

use mysql;
update user set password=null where User='root';
flush privileges;
quit;
  • 사용자 루트로 mysql에 접속합니다(다음 두 가지 방법 중 하나 사용).
    • 하여 "mysql"을 사용하여 합니다.mysql -p password 를 합니다.
    • 하여 self mysql을 사용하여 합니다.mysql -u root -p root password "는 현재 password "를 합니다.
  • mysql> set password = password('');

완료! 루트 암호가 없습니다.

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

Ubuntu 16.04에서 v5.7.15 MySQL:

」)가 설치되어 있는지 확인합니다.sudo apt-get install mysql-client를 참조해 주세요.

터미널 열기 및 로그인:

mysql -uroot -p

(다음 비밀번호를 입력합니다)

그 후:

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

(tnx @Stanislav Karakhanov)

마지막으로 중요한 것은 mysql 서비스를 리셋하는 것입니다.

sudo service mysql restart

이제 MySQL Workbench를 사용하여 (패스워드 없이) 로그인할 수 있습니다.

MySQL 데이터베이스 서버 암호는 다음 5단계로 복구할 수 있습니다.

순서 1: MySQL 서버 프로세스를 정지합니다.

순서 2: 패스워드를 입력하지 않도록 --skip-grant-tables 옵션을 사용하여 MySQL(mysqld) 서버/데몬 프로세스를 시작합니다.

순서 3: 루트 사용자로서 mysql 서버에 접속합니다.

순서 4: 새로운 mysql 루트 계정의 패스워드를 설정합니다.즉, mysql 패스워드를 리셋 합니다.

순서 5: MySQL 서버를 종료하고 재기동합니다.

스텝별로 입력해야 하는 명령어는 다음과 같습니다(root 사용자로 로그인).

순서 1: mysql 서비스를 중지합니다.

# /etc/init.d/mysql stop

출력:

Stopping MySQL database server: mysqld.

순서 2: 패스워드를 사용하여 MySQL 서버 시작:

# mysqld_safe --skip-grant-tables &

출력:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

순서 3: mysql 클라이언트를 사용하여 mysql 서버에 연결합니다.

# mysql -u root

출력:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

순서 4: 새로운 MySQL 루트 사용자 비밀번호 설정

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

순서 5: MySQL Server 중지:

# /etc/init.d/mysql stop

출력:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables

순서 6: MySQL 서버를 기동하여 테스트합니다.

# /etc/init.d/mysql start
# mysql      
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 
# mysql -u root -p

출처 : http://www.cyberciti.biz/tips/recover-mysql-root-password.html

않습니다.mysql데이터베이스를 직접 사용할 수 있습니다.

다음 단계를 사용하는 것이 좋습니다.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 
mysql> flush privileges;

MySQL 8.0의 경우:

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

이것은 MySQL 8.0.13부터입니다.

use mysql;

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

quit;

저는 좋아요.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

사용자 64141의 답변

use mysql;
update user set password=null where User='root';
flush privileges;
quit;

MariaDB 10.1.5에서는 동작하지 않았습니다(MySQL을 대체하는 것으로 상정).MySQL 5.6에서는 업스트림 변경 여부를 테스트하지 않았지만, 다음과 같은 오류가 발생했습니다.

ERROR 1048 (23000):'비밀번호' 열은 null일 수 없습니다.

그러나 null을 빈 단일 따옴표 또는 이중 따옴표로 대체하면 문제가 없습니다.

update user set password='' where User='root';

또는

update user set password="" where User='root';

위의 솔루션 중 일부는 현재 권장되지 않습니다.

빈 비밀번호를 설정하려면 다음 절차를 따릅니다.

mysql -u root -p

use mysql

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

\q (to quit)

now run: mysql -u root

이제 비밀번호 없이 mysql을 시작할 수 있습니다.

Root Password를 알고 있고 재설정만 하고 싶다면 다음과 같이 하십시오.

  • [ Control Panel ]> [ Administrative Tools ]> [ Services ]에서 MySQL Service 를 기동합니다.(먼저 정지했을 경우에만!그렇지 않은 경우는, 이 순서를 생략해 주세요).

  • MySQL Workbench 시작

  • 이 명령/SQL 행에 입력

    ALTER 사용자 'root'@'localhost' 비밀번호가 만료되었습니다.

다른 사용자 암호를 재설정하려면...루트 대신 다른 사용자 이름을 입력하십시오.

비밀번호 없이 mysql에 접속하는 경우:

mysql -p SET PASSWORD = ""

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

nodejs와 windows 10을 사용하고 있습니다.두 가지 답을 조합한 것이 나에게는 효과가 있었다.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 
mysql> flush privileges;

그 다음:

restart;

이것이 아직 문제가 있는 다른 사람들에게 도움이 되기를 바랍니다.

구문은 버전에 따라 약간 다릅니다.여기 있는 문서: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

MySQL 5.7.6 이후:

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

MySQL 5.7.5 이전 버전:

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

MySQL 5.7용 모델:

service mysql 중지:

$ sudo service mysql stop

세이프 모드에서의 실행:

$ sudo mysqld_safe --skip-grant-tables --skip-networking

(위 행은 명령어 전체)

새 터미널 창을 엽니다.

$ mysql -u root

$ mysql use mysql;

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

$ mysql update user set plugin="mysql_native_password" where User='root';

$ mysql flush privileges;
$ mysql quit;

mysql 서비스를 실행합니다.

$ sudo service mysql start

여기에 저만의 2센트를 넣고 싶었지만, 위의 답변은 제게 효과가 없었습니다.centos 7, mysql 커뮤니티 v8에서는 셸은 bash입니다.

올바른 명령어는 다음과 같습니다.

# start mysql without password checking
systemctl stop mysqld 2>/dev/null
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" &&
systemctl start mysqld

# set default password to nothing
mysql -u root mysql <<- 'EOF'
    FLUSH PRIVILEGES;
    UNINSTALL COMPONENT 'file://component_validate_password';
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
    FLUSH PRIVILEGES;
    INSTALL COMPONENT 'file://component_validate_password';
EOF

# restart mysql normally
systemctl restart mysqld

패스워드 없이 로그인할 수 있습니다.

mysql -u root

이 모든 것은 5.6 이상의 버전의 mysql을 설치했기 때문입니다.

솔루션

1. mysql 버전솔루션을 열화할 수 있습니다.

또는 합니다.
option()

ubuntu 19.10, mysql 8에서는 다음과 같이 동작했습니다.

$ sudo mysqld --skip-grant-tables &
$ mysql
> use mysql
> alter user set authentication_string='', plugin='mysql_native_password' where user = 'root';
> quit
$ sudo mysqladmin shutdown
$ sudo systemctl start mysql

를 실행하려고 mysqld_safe, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ./var/run/mysqld for UNIX socket file don't exists하여 dir를 해 보겠습니다.mysqld_safe다시.

$ sudo mkdir /var/run/mysqld
$ sudo chown mysql /var/run/mysqld
$ sudo chgrp mysql /var/run/mysqld

몇 시간 동안 검색한 후 찾았습니다. 비밀번호를 대문자와 특수문자가 포함된 것으로 변경하세요.

언급URL : https://stackoverflow.com/questions/2101694/how-to-set-root-password-to-null

반응형