[태그:] MySQL

  • MAMP에서 MySQL 서버를 시작할 수 없는 경우

    맥OS에서 MAMP를 사용하던 중 갑자기 아파치 서버는 이상 없는데 MySQL 서버가 실행되지 않을 때에는 다음의 파일을 삭제하면 됩니다.

    응용 프로그램 > MAMP > db > mysql56 폴더에서 ib_logfileX 파일들을 삭제합니다.
    그리고 MAMP를 다시 실행하면, MySQL 서버가 실행되는 것을 확인할 수 있습니다.

  • MySQL에서 최근 데이터 조회하기

    디비 조회 시에 최근 한 달, 또는 최근 2주 동안의 데이터가 필요할 때 CURRENT_DATEINTERVAL을 사용하면 편하네요.

    SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '1' MONTH;
    SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '2' WEEK;
    SELECT * FROM `table` WHERE `date` > CURRENT_DATE - INTERVAL '10' DAY;

    기간도 월, 주, 또는 일 단위 등으로 지정할 수 있습니다.

  • APMSetup, MySql 에서 한글이 깨질 때

    APMSetup을 사용해서 로컬에 테스트 서버를 만들던 중, PHP 페이지에서 한글을 입력하면 DB에 깨져서 저장되는 문제가 생겼습니다. 이것저것 찾아보면서 서버 및 DB의 인코딩 설정도 UTF8로 바꿔봤지만 문제가 해결되지 않더군요. 그래서 조금 더 검색해 보던중, 다음의 코드를 찾았습니다.

    mysql_query("set session character_set_connection=utf8;");
    mysql_query("set session character_set_results=utf8;");
    mysql_query("set session character_set_client=utf8;");

    이 코드를 추가해 주면 한글도 DB에 문제없이 입력이 됩니다.

  • SQL에서 워드프레스 사이트URL 설정 변경하기

    이번에 공유기를 바꾸면서 사용중인 PC들의 IP가 변경되었는데, 그러다보니 워드프레스를 사용하는 로컬사이트가 오동작하는 문제가 생겼습니다. 원인은 워드프레스 설정에서 사이트 URL을 지정하여 사용하던 IP가 변경되자 제대로 접속할 수 없는 것이었습니다. 이렇게 되면 관리자 페이지 접속조차 불가능해지기 때문에 사이트 URL을 변경할 수 없어, 워드프레스를 이용할 수 없게 됩니다.

    그래서 급히 mysql 콘솔을 통해 설정을 변경했는데, 다음에 비슷한 상황이 생길 경우를 대비해 코드를 남겨 봅니다.
    우선 현재 설정값을 조회해 보았습니다. 그러면 다음과 같은 결과를 얻을 수 있죠.

    mysql> select * from wp_options where `option_name`='siteurl';
    +-----------+-------------+----------------------------+----------+
    | option_id | option_name | option_value               | autoload |
    +-----------+-------------+----------------------------+----------+
    |         1 | siteurl     | http://192.168.10.101/blog | yes      |
    +-----------+-------------+----------------------------+----------+
    1 row in set (0.00 sec)

    이제 option_value를 새로운 IP로 변경하고, 제대로 했는지 확인해 보겠습니다.

    mysql> update wp_options set `option_value`='http://192.168.0.10/blog' where `option_name`='siteurl';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> select * from wp_options where `option_name`='siteurl';
    +-----------+-------------+--------------------------+----------+
    | option_id | option_name | option_value             | autoload |
    +-----------+-------------+--------------------------+----------+
    |         1 | siteurl     | http://192.168.0.10/blog | yes      |
    +-----------+-------------+--------------------------+----------+
    1 row in set (0.00 sec)

    사이트가 다시 정상 동작하는 것을 확인할 수 있습니다.