ABOUT ME

현실을 하나씩 바꿔 가는 것만 남았어

Today
Yesterday
Total
  • mysql 외부접속
    prev/MYSQL 2009. 7. 10. 15:07

    Error - "Host not allowed to connect to server" / MySQL 데이타베이스 연결 방법

    본 에러는 MySQL 서버에 원격지에 있는 클라이언트 프로그램(SQLGate for MySQL) 이 접근 할수 있는
    권한이 없기 때문입니다.

    MySQL 서버 관리자에게 외부에서 접근 할수 있도록 요청하시기 바랍니다.

    만약 Grant 권한을 줄수 있는 권한이 있으시다면 MySQL 을 텔넷이나 기타 프로그램으로 접속하여 해당
    유저가 외부에서 접속이 가능하도록 세팅해 줍니다.

    MySQL Server 가 Windows 에 설치되어 있는 경우

    Start > Programs > Command Prompt
    > CD\
    > CD mysql\bin

    MySQL 이 최초 설치시에는 Password 가 없기 때문에 패스워드를 지정하시기 바랍니다.
    MySQL 서버에 Root 권한으로 접속할 경우

    > mysql -u root -p password

    올바르게 접속 될 경우 아래의 메세지가 나옵니다.


    MySQL Database 에 접속하여 User 테이블의 상태를 확인합니다.
    User 테이블은 mysql database 내에 존재합니다.

    mysql>Use mysql
    Database changed

    mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv, Delete_priv FROM user;



    위의 그림과 같이 각 유저의 권한 리스트를 볼수 있습니다.
    또한 User 테이블은 MySQL Administrator 또는 Root 권한을 가진 User 만이 추가/수정/삭제할 수 있습니다.

    외부에 접속할려고 하는 유저에 대해서 아래의 명령어를 수행합니다.
    위에 User 중에 test 라는 유저를 외부에서 접속 가능하도록 명령 하는 예제입니다.
    Host : localhost
    User : test

    mysql> GRANT ALL PRIVILEGES ON *.* to test@"%" IDENTIFIED BY 'test'
    WITH GRANT OPTION;
    Query OK, 0 rows affected (0.01 sec)


    위에 명령이 올바르게 수행되었다면 꼭 아래의 명령어를 수행하시기 바랍니다.
    Mysql>flush privileges;

    다시 User 테이블을 확인합니다.
    mysql> SELECT Host, User, Select_priv, Insert_priv,Update_priv, Delete_priv FROM user;


    제일 하단에 기존의 test 계정외에계정이 또하나가 만들어집니다.
    Host : %
    User : test
    test User 로 외부에서 접속이 가능하게 됩니다.

    [출처] MySQL 외부접속|작성자 해밀

Designed by Tistory.