Linux에서 mysql 첫 로그인 비밀번호 건너뛰기

mysql에서 처음 로그인할 때 ERROR 1045(28000) 프롬프트:Access denied for userroot@localhost.
현재 인터넷에 떠도는 mysqladmin이나 mysqldsafe 명령으로 시작하면 안돼.새 버전의 mysql에서 mysqld 이(가) 제거되었습니다.safe, mysqladmin은 아직 있지만 로그인할 수 없습니다.
직접 측정에 유용한 또 다른 방법:
Step 1 편집/etc/my.cnf
root@linux: vim /etc/my.cnf

mysqld 항목의 맨 끝에 skip-grant-tables 한 줄을 추가합니다
[mysqld]
#
#      
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables

Step 2 mysql 서비스를 다시 시작하고 루트 사용자 비밀번호를 수정합니다
root@linux: service mysqld restart
root@linux: mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> update mysql.user set authentication_string=password('newpasswd') where user='root';
mysql> exit;

Step 3 복구 설정, mysql 서비스 다시 시작
/etc/my를 삭제합니다.cnf 마지막 skip-grant-tables, mysql 서비스를 다시 시작합니다.
root@linux: vim /etc/my.cnf
[mysqld]
#
#      
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

root@linux: service mysqld restart

큰일 났다!

좋은 웹페이지 즐겨찾기