루트 비밀번호를 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"을 사용하여 합니다.
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
'programing' 카테고리의 다른 글
여러 데이터베이스에 적합한 온라인 SQL 구문 검사기 (0) | 2022.09.08 |
---|---|
MySQL에서 다음/이전 레코드를 가져오려면 어떻게 해야 합니까? (0) | 2022.09.08 |
MariaDB/MySQL RANK() 구현 (0) | 2022.09.08 |
페이지 맨 아래까지 자동으로 스크롤 (0) | 2022.09.08 |
MariaDB: ALTER TABLE 구문을 사용하여 외부 키를 추가하시겠습니까? (0) | 2022.09.08 |