phpMyAdmin root 접속 불가 해결 방법

🏷️ 서버 일반

#1698 – Access denied for user ‘root’@’localhost’

mysqli_real_connect(): (HY000/1698) : Access denied for user ‘root’@’localhost’

MySQL 또는 MariaDB를 설치한 다음 데이터베이스 관리를 하기 위해 phpMyAdmin을 설치 후 웹에서 접속을 하려고 하면 위와 같은 메시지와 함께 로그인 불가 상태가 되는데요.

MySQL 5.7, MariaDB 10.1 이후 버전은 보안상 root 계정은 터미널에서만 접속할 수 있으며 root를 제외한 사용자 계정으로 phpMyAdmin에 접속할 수 있기 때문에 MySQL에서 새로 사용자를 만들고, 권한을 부여해서 root 계정처럼 사용할 수 있습니다.

Phpmyadmin Denied Root 01

MySQL 사용자 계정 생성

Phpmyadmin Denied Root 02

터미널에 접속한 다음 ①sudo su 명령어로 슈퍼유저 권한을 획득합니다.

그리고 ②mysql -u root -p를 입력해 root 계정으로 로그인 한 후 다음 명령어를 입력해 새로운 MySQL 계정을 만들고 모든 권한을 부여해 root와 같은 계정을 만들어 줍니다.

create user '아이디'@'%' identified by '비밀번호';
grant all privileges on *.* to '아이디'@'%';
Phpmyadmin Denied Root 03

이제 웹 브라우저에서 phpMyAdmin로 이동한 다음 생성한 아이디와 비밀번호를 입력해 로그인할 수 있으며 root 보다는 한단계 낮은 권한으로 사용할 수 있는 것을 확인할 수 있습니다.

UPDATE mysql.user SET Grant_priv='Y', Super_Priv='Y' WHERE user='아이디';
FLUSH PRIVILEGES;

보안을 포기하고 root와 동등한 권한을 사용하고 싶다면 터미널에서 위 명령어를 추가로 입력하면 되겠습니다.

MariaDBMySQLphpmyadmin

저자

댓글

2개 댓글. Leave new

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글

도메인 Ip 확인하는 4가지 방법
도메인 IP 확인하는 4가지 방법
인터넷은 IP 주소를 기반으로 연결되며 서버와 클라이언트, PC와 스마트폰 모두 고유의 IP를 가지고 있습니다. IP 주소는 숫자 배열로…