phpMyAdmin에서 root 로그인이 불가능한 경우 해결법
보안이라는 게 필요하긴 하지만 가끔은 불편함도 주는 것이라 어떤 것이 옳다고 할 수는 없지만.. 그렇더라도 보안을 더 중요하게 생각해야 하는 게 옳은 것 같다고 생각한다. MariaDB 10.1 버전을 설치 후 phpMyAdmin 에서 root 로그인이 되지 않아 불편했는데 이건 보안 이슈 때문에 root 로그인은 콘솔에서만 가능하도록 변경됐기 때문이라고 한다. 급하게 작업할 때 phpMyAdmin을 사용하는 게 편하니까.. 일단은 root 로그인이 가능하도록 변경한 후 작업을 마치고 다시 이전 설정으로 변경하는 게 좋을 것 같다. 이 작업은 MariaDB 에 콘솔로 root 로 그인이 가능한 경우에만 해당된다.
콘솔에서 root 로 로그인한 후 아래의 쿼리를 실행해 현재의 상태를 확인한다.
MariaDB [(none)]> select User,Host, plugin from mysql.user;
+--------+-----------+-------------+
| User | Host | plugin |
+--------+-----------+-------------+
| root | localhost | unix_socket |
+--------+-----------+-------------+
1 rows in set (0.00 sec)
unix_socket
으로 설정되어 있으면 콘솔에서만 로그인이 가능한 상태이다. 그래서 아래의 쿼리를 실행해 비밀번호를 이용해 로그인이 가능하도록 수정한다.
MariaDB [(none)]> update mysql.user set plugin='mysql_native_password' where User='root';
쿼리 실행 후 다시 상태를 확인해 본다.
MariaDB [(none)]> select User,Host, plugin from mysql.user;
+--------+-----------+-----------------------+
| User | Host | plugin |
+--------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+--------+-----------+-----------------------+
1 rows in set (0.00 sec)
이제 아래의 쿼리로 권한설정을 리로딩해준다.
MariaDB [(none)]> FLUSH PRIVILEGES;
phpMyAdmin 에서 root 로 작업을 완료한 후 다시 이전 설정으로 변경해주는 것이 좋다. 이 방법 외에 사용자를 추가한 후 root 와 동일한 권하는 주는 방법도 있으나 이 경우는 root 로그인을 해제하는 것과 큰 차이가 없을 것이기 때문에 필요할 때마다 설정을 변경해서 이용하고 다시 원래 설정으로 변경하는 것이 좋을 것 같다.