카테고리 없음

Server 2008 mysql php 설치시 오류 때문에 고생 하고 나서.

SojuMan 2009. 8. 27. 16:30

Can't connect to MySQL server on (10061)
이놈 오류 땜시 -_- 에구...

php 접속 connect 할때 꼭 아이피 : 포트번호   를 넣어 접속 해야 된다.

------------- 미친듯이 오류나서 막 찾은 자료를 혹시 몰라서 저장 해놓기 ^^ ------------
설정안된 MySql을 접속하여

mysql -u root 로 접속이 가능하다면 비밀번호가 설정이 안된 것임

use mysql;

update user set password=password("비밀번호") where user="root;

flush privileges;

다시 root로 접속을 할 때에는

>>mysql -u root -p     엔터

후에 설정한 비밀번호를 치고 접속

mysql 계정 생성

mysql> grant all privileges on *.* to 'javajigi'@'localhost' identified by 'pass
word' with grant option;

이 계정은 단지 localhost에서만 연결된다. 원격 서버에서도 접근을 허용하고자 한다면 다음 라인을 다시 한번 실행해야 한다.

mysql> grant all privileges on *.* to 'javajigi'@'%' identified by 'password' wi
th grant option;

위와같이 'javajigi'@'%'로 계정을 추가할 경우 Remote에서도 접근이 가능.


------------------- 2번째 꺼 ------------
안녕하세요..^^

일단 기본적으로 mysql은 외부에서 접속을 막아져 있습니다.

설정이 필요하죠

일단 A 컴퓨터에서 작업을 하셔야 합니다.

쿼리문으로 가르쳐 드리죠

use mysql;

실행
 
GRANT ALL PRIVILEGES ON *.* to root@"%" IDENTIFIED BY 'root'  WITH GRANT OPTION;

실행

flush privileges

실행
 
select * from user where User = 'root'

실행

이렇게 보시면

root 라는 계정이 두개가 보이실겁니다.

거기에 호스트를 보시면 % 로 보이실꺼구요

%는 어디서든 접속이 가능하게된다는 말입니다.

도움이 되셨길 바라구요

------------- 3번 째 꺼 -------------
어찌했든 했으니 기록이다! 기록만이 살길!
root에 패스워드를 부과한뒤 (참고 : http://pneuma08.tistory.com/20)

mysql 접속!

mysql>show databases;
+--------------------+
| Database                |
+--------------------+
| information_schema |
| mysql                     |
+--------------------+

최초에 두개의 DB만 존재한다.
(ubuntu 7.10 server, lamp server설치 default상태 다른 환경은 몰러유~)


mysql>use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

을 실행하여 DB를 선택한다.


mysql>show tables;
+---------------------------+
| Tables_in_mysql                |
+---------------------------+
| columns_priv                     |
| db                                   |
| func                                 |
| help_category                   |
| help_keyword                   |
| help_relation                    |
| help_topic                        |
| host                                |
| proc                                |
| procs_priv                        |
| tables_priv                        |
| time_zone                         |
| time_zone_leap_second      |
| time_zone_name                |
| time_zone_transition           |
| time_zone_transition_type    |
| user                                 |
+---------------------------+

이 table들 중에 user라는 테이블에 접속권한을 가지는 유저들이 등록되어 있다.


mysql>select host, user from user;
+-----------+------------------+
| host          | user                    |
+-----------+------------------+
| 127.0.0.1    | root                     |
| localhost   | debian-sys-maint |
| localhost   | root                     |
| server명    | root                     |
+-----------+------------------+

요렇게 되어 있는 부분중에 127.0.0.1 이 부분의 host를 외부에서 접속할 수있겠금 변경한다.
% <-- 모든 외부접속 허용
000.000.000.000 <-- 특정 아이피 접속허용
000.000.000.%   <-- 특정 아이피 대역 접속허용으로 변경


mysql>update user set host = '원하는 설정값' where user ='root' and host='127.0.0.1';

을 실행한다.
여기서 주의할 점은 root계정중 host에 localhost라는 컬럼역시 있어야 된다는거다.
아직 확인까지는 안해보았지만, 이런저런 정보를 찾는중 특정대역폭을 설정하거나 아이피를 입력했을경우
mysql로컬에서 그 계정으로 접속이 안된다는 정보가 있었다. 아직 확인하지 못했다.
혹시, 잘못된 정보라면 부담없이 답글 남겨주시길!!!도 알아야지용~ㅋ

여기까지 실행해 놓고
XP가 깔린 컴에 MySQL GUI Tools을 설치하고 외부에서 접속해보았다.
안된다!!! 먼가 이상하다.

에러번호는 2003이며
Can't connect to MySQL server on '서버아이피'(10061) 이라는 메세지를 뿌리며 에러!!!

혹시나 해서 핑을 쳐봤다.
XP->gateway, XP->ubuntu, ubuntu->gateway, ubuntu->XP, gateway->ubuntu, gateway->XP로 핑을 때려봤는데...XP에서 먼가 이상하다.
보니...subnet mask을 잘못 설정! 제길슨!
재설정!! 이것저것 검사후 이상없음을 확인하고 다시 외부에서 접속했다.
안된다! 머냐 넌!!!

웹을 떠다니면서 계정을 테스트로 설정하는 내용들이 많아서 따라서 계정도 만들어보았다.
혹시나 기본DB밖에 없어서 접속이 안될수도 있다는 별 생각을 다했으니깐...
진짜! 별 지x을 다 했는데...안된다.
그렇게 하면 된다고 했는데...
2일동안 찾은 내용은 대부분 이렇게 하면 끝난다는 건데...허허허! ㅜ0ㅜ

포기할때쯤 하다가 드디어 찾아서 성공을 했다.
그러나 억울한 것은 처음 mysql을 셋팅하면서 한번 수정했던 부분이라는것!
그것도 인터넷의 잘못된 정보로 잘못수정하여 mysql 서비스를 죽게해서 그동안 설정했던 것을 일일히
default 상태로 되고쳐가며 한참동안 힘들게 했던 그부분이었다. 아흐~

/etc/mysql/my.cnf 의 내용중

~
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address       = 127.0.0.1
~

이 부분에서
#bind-address       = 127.0.0.1 을 이렇게 주석처리하면 된다.