이상하게 Windows에서 Apache(php)랑 MySQL을 사용하니까 컴퓨터 성능이 딸리는 것도 아닌데 MySQL 쿼리를 이용하는 페이지만 로딩이 1초씩 걸리는 현상을 보여서 인터넷을 좀 뒤졌더니 이게 Hostname Resolve때문이라더라.. 어떻게 localhost를 resolve하는데 시간이 1초나 걸리는지.. 나 참;

어쨌든 이제 문제의 원인을 알았으니 해결은 쉽다. php 코드상에서 mysql에 접속하는 부분의 hostname이 localhost인 것들을 모두 찾아서 127.0.0.1로 바꾸고, 해당 user 및 database의 접속 권한을 127.0.0.1에게도 주면 된다(대략 아래와 같은 명령어가 될 것이다).

#주의: 당연하지만 root로 접속해서 수행해야 합니다.
 UPDATE user SET host='127.0.0.1' WHERE user='DBUser';

 GRANT ALL PRIVILEGES ON MyDB.* TO 'DBUser'@'127.0.0.1' WITH GRANT OPTION;

(물론 cmd에서 안 하고 그냥 phpmyadmin에서 해도 된다..!)
+ 이래도 해결되지 않는다면 어댑터에서(혹은 MySQL에서) IPv6 사용을 아예 꺼버리자. 근데 아마 이거면 해결 될걸?

신고