728x90
반응형
1. mysqld 정지 및 MySQL 환경 변수 설정
mysqld를 정지해준 뒤, MySQL 환경 변수를 변경하여 비밀번호 없이 root로 로그인할 수 있도록 해준다.
$ systemctl stop mysqld
$ systemctl status mysqld
$ systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
2. MySQL root 로그인 및 비밀번호 변경
mysqld를 다시 가동하고 로그인을 한다. 비밀번호를 입력하지 않고 바로 Enter를 누르면 로그인에 성공한다.
$ systemctl start mysqld
$ mysql -u root -p
//패스워드 입력하지 않고 바로 엔터
패스워드 변경 단계에서 인터넷을 참고해서 명령어를 입력해도 계속 아래와 같은 에러가 발생했다..
![](https://t1.daumcdn.net/keditor/emoticon/face/large/016.png)
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '("1234!") WHERE User='root'' at line 1
해결 방법은 다음과 같다.
우선, MySQL에서 root 패스워드를 지워버린다.
> UPDATE mysql.user SET authentication_string=null WHERE User='root';
> FLUSH PRIVILEGES;
다시 mysql에 로그인해서 접속한 뒤, 원하는 비밀번호로 변경한다.
> mysql -u root
> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<변경할 패스워드>';
> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
> exit;
이제 변경한 패스워드로 로그인이 가능해진다!
728x90
반응형