Connect Error: Access denied for user 'g5'@;localhost' (using password: YES) 오류
본문
<서버 정보>
OS : CentOS Linux release 7.5.1804
PHP : PHP 7.2.11 (cli)
MySQL : 5.7.23
GNUBOARD : 5.3.2.1
그누보드 config 파일의 설정을 localhost 설정 시 "제목"과 같은 오류가 발생하고 있습니다.
하지만 config 파일을 localhost 부분을 127.0.0.1 IP 치환하였을때 정상적인 동작을 하고 있으며 이와 관련하여 그누보드 최신 버전에서 발생하는 호환성 문제일까요?
참고로 저희 서버 내부 설정상 MySQL 사용자 권한은 %만 부여하고 있으며 데이터 베이스 권한 추가하는 방법 이외에 그누보드 config 파일을 localhost로 설정할 수 있도록 서버상에서 추가 작업을 해야될 부분이 있을지 문의드립니다.
답변 8
/data/dbconfig.php 화일의
define('G5_MYSQL_HOST', 'localhost');
==>
define('G5_MYSQL_HOST', '127.0.0.1');
로 수정하시면 될거 같습니다.
data / dbconfig.php 파일을 열고 비밀번호가 잘되어 있는지 등을 확인해 보시죠.
127.0.0.1 로 접속할수 있다면
그누보드 설치 과정에서 HOST 를 localhost 대신에 127.0.0.1 으로 입력하시면 됩니다.
해당 아이피로 변경하여 사용하시는게 문제 없다면 그렇게 사용하셔도 됩니다.
서버 내부 설정에서 변경하려면
일단은 mysql 에서 해당 유저의 호스트를 검색합니다.
위의 스샷같이 해당 유저의 host 에 localhost 가 있어야 합니다.
위의 스샷처럼 localhost 가 있는데, localhost 로 접속 못한다면
아래 2 번을 봐야 합니다.
2 .
mysql 에서
show variables where variable_name = "socket";
해서 나온 값하고
php 의 phpinfo();
에서 default_socket 에서 나온 값하고 서로 같아야 합니다. 틀리면 localhost 로 접속 못할수도 있습니다.
phpinfo 에서 default_socket 값이 틀리다면, php.ini 에서 mysqli.default_socket 값을 mysql 에서 설정된 값으로 수정해 주면 됩니다.
2 번의 경우 초보자가 하기 어려운 과정이니,
서버셋팅을 함부러 수정하다가 서버 멈추게 하거나 어려운 상황에 놓일수도 있습니다.
그러니 2번의 경우는 하지 마시고, 127.0.0.1 로 접속이 된다면,
그누보드를 인스톨 할때 HOST 에 127.0.0.1 를 입력하면 됩니다.
모든분들의 올려주신 답변 내용 감사드립니다.
이와 관련하여 dbconfig 파일 수정하는 방법 이외에 서버 내부 설정 변경으로
문제를 해결할 수 있는 방법은 없을지 문의드립니다.
thisgun님 답변 감사드립니다.
하지만 저희 서버 내부 설정상 아래와 같이 MySQL 사용자 권한은 %만 부여하고 있습니다.
MySQL은 localhost를 % 와일드 카드에 매치시키지 않는 것으로 알고 있습니다.
하지만 서버상에서 다른 방법으로 매칭을 시킬수 있는 방법이 있을지 문의드립니다.
모든 답변자분들 감사합니다.
php.ini의 mysql.default_socket, mysqli.default_socket 설정에 myslq.sock 파일 참고할 수 있도록 수정하였더니 127.0.0.1이 아닌 localhost로도 설정 가능한 것 확인되었습니다.