반응형
안녕하세요.
존재유무도 잘 몰랐던 개발서버에 깔려있던 mysql에 간단한 패치를 할 일이 생겨 접속시도를 해보았는데, 아무런 정보가 없어서 db내에 접속을 못하고 있었습니다.
개발 서버이기도 하고, 패치 중이라 서비스를 내렸다 올리는거에 대해 부담이 없는 상황이라 root 패스워드를 아예 재설정하기로 하였고 그 방법을 정리해보았습니다. 이전버전도 사용가능할 것같습니다.
*해당 작업은 db를 재기동이 필요합니다.*
* 모든 작업은 root로 수행합니다*
DB 버전 : Mysql 8.0.36
1.DB를 내립니다.
서비스(systemctl)로 등록되있는 상태여서 해당 명령어로 내려줍니다.
systemctl stop mysqld
2./etc/my.cnf에 아래 내용을 추가합니다.
아래 옵션은 table grant주는 옵션을 생략하고 db를 open하는 명령어입니다. 해당옵션을 사용하면 유저들은 패스워드입력없이 db에 접속할 수 있게 됩니다.
[mysqld]
skip-grant-tables
3.db를 기동합니다.
systemctl start mysqld
4.db 접속 후 root의 패스워드를 변경합니다.
mysql -uroot -p
Enter password: [엔터]
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.36 Source distribution
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
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>
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운 패스워드';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
5.2번에서 설정한 my.cnf 옵션을 다시 주석처리하고 db 재기동
#[mysqld]
#skip-grant-tables
systemctl stop mysqld
systemctl start mysqld
완료.
유용할 것같습니다.
참고 :
반응형
'다른 DBMS > MySQL&MariaDB' 카테고리의 다른 글
Oracle MySQL Connectors C++ and ODBC (January 2024 CPU) 관련 내용 및 패치하기 (0) | 2024.04.30 |
---|---|
[server_errno=4052] Error reading packet from server: A slave with the same server_uuid/server_id as this slave has connected to the master (0) | 2024.04.22 |
[MariaDB] EOS 날짜 (2024.11.12 기준) (0) | 2024.04.08 |
쿼리를 활용하여 Mysql Uptime 확인하기 (0) | 2024.04.01 |
테이블 관리(file-per-table와 테이블스페이스) (2) | 2024.01.05 |
댓글