[질문] Mysql 접근 질문입니다.
안녕하세요
PHP를 이제 막 공부하는 중입니다.
근데 뭐가 잘못된건지 MySQL접근이 안되고있슴다..
현재 Linux9에 Mysql설치가 되어있는상태이구여
phpinfo()를 보면
------------------------------------------------------------------------------------
./configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql=/usr/local/mysql' '--with-config-file-path=/usr/local/apache2/conf' '--with-exec-dir=/usr/local/apache2/bin' '--enable-track-vars' '--enable-trans-sid'
------------------------------------------------------------------------------------
라고 되어있슴다.
그리고 Mysql은 위에설정 된 것처럼 /usr/local/mysql에 설치되어있구여.
telnet으로 접근이 가능합니다.
---------------- test.php (source) ----------------------------------------------
<html>
<head><title>연습입니다.</title></head>
<?
$str = $_GET['getName'];
$str1 = "Test";
$connect = mysql_connect("127.0.0.1:3306","root","");
?>
<body>
<form action="test.php">
<table>
<tr><td>연습입니다.: <?= $str ?>:
<? if(checkdate(2,29,2005)) echo("OK");
else echo(" NO");
echo($connect);
?>
<?= $str1 ?>
</td></tr>
<tr><td><input type='text' name="getName"></td></tr>
<tr><td><input type='submit' name='O K'></td></tr>
</table>
</form>
<?= phpinfo() ?>
</body>
</html>
------------------------------------------------------------------------------------
실행을 하면
Warning: mysql_connect(): Host '127.0.0.1' is not allowed to connect to this MySQL server in /usr/local/apache2/htdocs/test.php on line 6
에러가 발생합니다.
뭐가 잘못 되었는지 알수가 없내여.
답변 부탁드립니다.
mysql_connect("127.0.0.1:3306","root",""
mysql_connect("127.0.0.1:3306","root","");
패스워드 지정은 안하셔도 되는지...
그리고 mysql의 기본 포트가 3306이기 때문에 위 처럼 :3306 이라고 지정하실 필요는 없습니다.
/etc/hosts 파일에
127.0.0.1 에 대하여 localhost 라고 지정되어 있는지 보시구요.
콘솔에서 mysql 로 먼저 로그인을 해보세요.
위의 "root" 계정과 빈 패스워드로...
로그인이 되면
mysql> use mysql;
mysql> select * from user;
하셔서 root 사용자에 대하여 Host값이 localhost 인지 보시구요.
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
[quote]mysql> use mysql;mysql>
감사합니다.
모두 localhost로 되어있슴다.
제가 질문을 드리기 위해서 127.0.0.1로 올려드렸구여.
실제로는 mysql 서버는 유동 IP입니다.
다른시스템에서 접근을 할때는 dns로 접근을 하고있슴다.
그리고 mysql은 사용자를 추가 하지 않은상태에서 Default입니다.
default는 root계정에,password는 없는걸로 알고 있슴다.
그리고 실제로 확인을 하면
select host,user,password from user;
root는 password는 비워있슴다.
telnet으로 mysql접근은 잘되고 있구여
뭐가 뭔지 영 알수가 없내여..
Linux 를 배워봅시다.
먼저 root 암호를 만드시는게 우선일것 같습니다.처리하기에 따라서
먼저 root 암호를 만드시는게 우선일것 같습니다.
처리하기에 따라서 빈값에 대한 패스워드를 생성할수도 있습니다.
그리고 로컬이 아니라면 다른 문제입니다.
localhost 라는 필드에 접속하려는 쪽 ip를 셋팅해주셔야합니다.
아니면 % 라고 하시면 모든 ip로 부터 접속을 받습니다.
아래 링크 참고하세요.
http://www.superuser.co.kr/open_lecture/manpage/page05.htm
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
댓글 달기