티스토리 뷰
ERROR 1698 (28000): Access denied for user 'root'@'localhost' 문제 해결
Jason park@ 2019. 9. 23. 00:16
Ubuntu18.04 APM 설치하기 (Apache+PHP,MariaDB) 편 보기
Ubuntu 18.04 에 MariaDB10 최신 버전을 설치하고 mysql_secure_installation 을 통해 패스워드를 설정하면
쉘에서 root 계정일때에는 password 입력 여부 상관없이 바로 로그인이 되어 확인이 안되지만,
다른 계정 혹은 ssh tunnel 을 통한 원격 mysql 접속을 하려할때 다음과 같은 에러를 내면서 접속이 되질 않는다.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
패스워드를 재설정 하는것은 아무런 의미가 없다.
이미 mysql -uroot -pasdasdsad 이렇게만 입력해도 로그인이 되는것 자체가 문제인것이다.
mysql 에 일단 로그인을 해서
select * from mysql.user; 을 입력해보면
plugin 부분에 unix_socket 이라고 적혀있는데 이게 문제가 되는것이다.
사용자가 unix_socket 을 사용하는지만 체크하기때문에 비밀번호는 아무런 의미가 없게 되는것.
따라서, 해결책은 두가지 방법이 있다.
1. root user 를 새로 만드는 방법. ( 성공 )
2. plugin 을 변경하는 방법 ( 성공 - 가장 간단함 )
먼저 1번 방법.
mysql console 에서
MariaDB [(none)]> delete from mysql.user where User = 'root';
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create user 'root'@'localhost' identified by 'test';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on *.* to 'root'@'localhost' with grant option;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
그리고 다시 select * from mysql.user; 로 확인해보면
plugin 에 unix_socket 이 사라짐을 확인 할수 있다.
그리고 원격과 타 계정에서 접속이 잘 되며 root 계정으로도 패스워드를 정확히 입력해야 콘솔 접속이 됨을 확인 할 수 있다.
2번 방법은 .
마찬가지로 mysql console 에서
MariaDB [(none)]> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
변경하면 위와같이 plugin 이 바뀌어있음을 확인 할 수 있다.
마찬가지로 원격, 타 계정 로그인 루트계정에서 패스워드 입력 여부등 모두 정상적으로 접속 된다.
update user set plugin='' WHERE user = 'root';
plugin 을 원치 않을 경우 위와같이 간단히 플러그인만 지워줘도 된다.
이상.
'Develope > MySQL' 카테고리의 다른 글
MySQL GROUP_CONCAT (0) | 2017.06.23 |
---|---|
MySQL benchmark tool ( MySQL 성능 테스트 툴 ) (0) | 2017.06.20 |
Ubuntu Mysql5.6 root 패스워드 분실시 초기화 방법 (0) | 2017.06.15 |
- Total
- Today
- Yesterday
- 라즈베리파이
- IOT
- ubuntu
- mysql
- 아두이노
- 공기청정기
- ios
- 서버
- php
- 엘라스틱서치
- OpenCV
- diy
- 스위프트
- Deeplearning
- 딥러닝
- 인공지능
- xcode
- 아이폰
- 머신러닝
- swift
- 파이썬
- 미세먼지
- 우분투
- 강좌
- 리눅스
- 캠핑
- 사물인터넷
- Python
- Android
- object-C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |