Oracle Database Admin/MySQL

MySQL root password 변경 시 에러 (Access denied; you need (at least one of) the SUPER privilege...)

다소곳한 직장인 DBA 일생 기록 2021. 1. 20. 23:26

 

MySQL

MySQL root 패스워드 변경 중에 에러 발생 시 대처 방안

MySQL root 계정에 패스워드가 존재하지 않아 패스워드 설정하려는 중에 에러가 발생하였다...

# ./mysqladmin -u root -p password '변경할패스워드'
 ./mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'

처음보는 낯선 에러... 

 

mysql> show database; 

- show database 명령어를 통해 database 목록 조회

-> UPDATE문으로 패스워드 변경하려 했지만 데이터베이스 목록에 mysql 데이터베이스가 보이지 않는다.

root 계정에 불충분한 권한이 있는것으로 추정...

 

 

해결방안!

# service mysqld stop          -->> mysql 중지 
# mysqld --skip-grant-tables -->> grant skip (nohup & 으로 기동해도 됨)
# mysql -u root                  -->> 만약 위의 명령어를 nohup 으로 기동하지 않았을 시 새창 열어 수행

 

mysql> show database;

- show database 명령어를 통해 database 목록 조회

-> 이제 mysql 이 보입니다..

 

UPDATE문을 수행하여 root 패스워드 변경 수행

mysql> use mysql
Database changed

mysql> UPDATE mysql.user
          SET Password=PASSWORD('변경할 패스워드 입력')
         WHERE User='root';

mysql> FLUSH PRIVILEGES;

 

mysqld --skip-gant-tables 로 기동한 mysql데몬 강제 Kill 한 후 정상 기동 수행

# kill -9 1529                -> 위에 skip-grant-tables 로 기동한 mysqld 데몬 강제 KILL 종료
# service mysqld start     -> mysql 정상기동

 

 

 


출처 MySQL image : pngimg.com/download/60314

 

반응형

'Oracle Database Admin > MySQL' 카테고리의 다른 글

MySQL 기동 & 종료  (0) 2021.01.16