Databases
mysql 원격 접속 허용하기
duraboys
2009. 12. 9. 14:20
http://wss02.ivyro.net/onuri/bbs/board.php?bo_table=04_5&wr_id=38&sfl=&stx=&sst=wr_hit&sod=asc&sop=and&page=1
mysql 데이터베이스를 추가하면 기본적으로 로컬호스트에서만 접속이 가능 합니다.
mysql-client나 다른 리눅스 서버에서 원격으로 mysql 접속을 하려면 원격 호스트의 접속을 허용해 주어야 합니다. 설정 순서는 아래와 같습니다.
fd_db라는 db와, fd_user라는 db 계정이 생성되어 있는 상태에서 원격 접속 허용 설정을 하겠습니다.
1. mysql root 계정으로 mysql db에 접속한다.
[root@server21010910231 root]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10 to server version: 5.0.18-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use mysql;
Database changed
mysql>
2. user table과 db 테이블에 접속할 호스트의 주소, 계정, 패스워드, db 등을 설정 한다.
mysql> insert into user (host,user,password) values('10.30.100.150','fd_user',password('fd!#%'));
Query OK, 1 row affected, 3 warnings (0.00 sec)
mysql> insert into db values('10.30.100.150','fd_db','fd_user','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');
Query OK, 1 row affected (0.00 sec)
첫번째 user 테이블에 입력한 사항은 10.30.100.150 의 아이피에서 fd_user 계정이 fd!#%의 패스워드로 접속 할수 있게 설정한 것이며, 두번째 db 테이블에 입력한 사항은 10.30.100.150번의 아이피에서 fd_user 계정이 fd_db 데이터베이스에 접속하여 사용할 수 있는 권한 설정을 한 것입니다.
3. 추가한 사항을 적용시키고 빠져 나간다.
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
[root@server21010910231 root]#
위와 같이 설정이 완료되면, 10.30.100.150번의 아이피를 사용하는 서버에서 원격으로 mysql에 접속할 수 있게 됩니다. 단, fd_user 라는 db계정이 fd_db 라는 데이터베이스에만.. ^^
4. 호스트 주소에 아래과 같이 특정 아이피 대신 % 를 입력하면 어느곳에서나 원격으로 mysql 접속이 가능하게 됩니다.
아래와 같이 사용할 경우, 사용이 편리 하긴 하겠지만, 보안상 취약 하기 때문에 권장 하지는 않습니다. ^^
mysql> insert into user (host,user,password) values('%','fd_user',password('fd!#%'));
Query OK, 1 row affected, 3 warnings (0.00 sec)
mysql> insert into db values('%','fd_db','fd_user','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');
Query OK, 1 row affected (0.00 sec)