작업환경
OS : Ubuntu Server 32bit 10.04 LTS
MYSQL : 5.1.41-3ubuntu12.10


특정 사용자 계정의 외부접속 허용하기 - 여기서는 root 를 예로 든다.

1. mysql 접속 후 mysql database 선택
mysql> use mysql;

2. user 테이블 살펴보기
mysql> select host, user, password from user;

root 의 host 값들은 localhost, 127.0.0.1 등으로 기본 등록되어 있지만, 외부접속을 나타내는 값이 없다.
특정 아이피로 지정할 수도 있지만  % 기호로 등록하면 어디서든 접속 가능하게 된다.

3. 권한 설정
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';
Query OK, 0 rows affected (0.03 sec)

4. 등록확인하기
mysql> select host, user, password from user;

root 계정의 host 필드에 % 가 등록되었는지 확인한다.

5. refrash
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

위 단계는 my.cnf 파일 수정후 서버를 재시작할 것이기 때문에 굳이 안해도 된다.

6. my.cnf 에서 외부접속 관련설정 변경하기
user@home:~$ sudo emacs /etc/mysql/my.cnf

파일 내용중
bind-address = 127.0.0.1
부분 주석처리 후 저장하기

7. mysql 재시작
user@home:~$ sudo /etc/init.d/mysql restart

8. 완료.
이제 외부 클라이언트 프로그램에서 접속이 가능하다.