php에서 mysql 접속이 안되는 에러입니다.

smile_kim의 이미지

제로보드 설치때문에 php +아파치 연동은 제대로 됬고

mysql도 설치가 잘된듯합니다.

그런데 php,에서 mysql접속시 접속이 안됩니다.

에러나는부분은
echo "2:::::"; 다음부분인

$connect=mysql_connect($targethost, $username, $passwd) or die("mysql server not connect");

입니다 그런데 실제로 mysql이란 db에 user 정보를 보면

haha란 유저도 있고 이 유저로 mysql접속도 되고 합니다.

그리고 에러메시지는 다음과 같습니다.

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /home/httpd/html/dbtest.php on line 10
mysql server not connect

어떤부분이 잘못됬는지 그리고 어떤부분을 확인해봐야 할까요.

조언부탁드리겠습니다.

<html>
<head>
<?php
$username ="haha";
$passwd="haha";
echo "1:::::";
$target="localhost";
$initdb="mysql";
echo "2:::::";
$connect=mysql_connect($targethost, $username, $passwd) or die("mysql server not connect");
mysql_select_db($initdb,$connect);
$qry="select * from user";
$result=mysql_query($qry,$connect);
$total=mysql_affected_rows();
for($i=0; $i<$total; $i++)
{
$row=mysql_fetch_array($result);
echo "
<tr><td>$row[0] <td>$row[1] ";
}
?>
</head>
</html>

webdigger의 이미지

$target="localhost";

$connect=mysql_connect($targethost, $username, $passwd) or die("mysql server not connect");

$targethost가 잘못된 거 아닌가요....

smile_kim의 이미지

이런 멍청한놈 하면서 바꿔봤는데도 같네요..^^;;

$target="localhost"; 를 $targethost="localhost"; 으로 바꿨는데 같은 에러네요..음..

php 도 mysql도 처음접하니 참

괜히 인트라넷만들자고 했나봅니다..-_-;;

sh.의 이미지

mysql 서버와 클라이언트간에 버전이 안맞는 문제인듯합니다.

db서버와 웹서버가 같은 기계가 아닌가보네요

각각의 버전을 확인해보세요

webdigger의 이미지

고치신 것은 맞습니다..

targethost가 로컬인걸로 봐서는 웹서버와 디비서버가

같은 서버 인거 같은데

윗분 말씀대로 프로토콜이 맞지 않아 그런거 같네요

mysql 서버와 클라이언트의 버전을 확인해 보심이..

smile_kim wrote:
이런 멍청한놈 하면서 바꿔봤는데도 같네요..^^;;

$target="localhost"; 를 $targethost="localhost"; 으로 바꿨는데 같은 에러네요..음..

php 도 mysql도 처음접하니 참

괜히 인트라넷만들자고 했나봅니다..-_-;;

smile_kim의 이미지

mysql클라이언트 버전은 어떻게 확인해야하는거죠?

콘솔에서 ./mysql -u jinwan -p로 하면 접속이 됩니다.

그럼 php에서 이용하는 클라이언트가 따로 있는건지

이걸 확인할려면 어떻게 해야하나요?

./mysqladmin --version하면

./mysqladmin Ver 8.40 Distrib 5.0.0-alpha, for pc-linux on i686
위와 같이 나옵니다.

그리고

target을 localhost 에서 ip 111.111.111.1 로 변경하니

Warning: mysql_connect(): Host '111.111.111.1' is not allowed to connect to this MySQL server

이런 에러가 나오네요..이 에러는 initdb(mysql)

user테이블에 있는

host에 111.111.111.1이란 아이피가 등록이 안되어있어서 나오

는거 같은데요. 그렇다면 디비연결자체는 문제가 없는거 아닌가요?

kyong의 이미지

smile_kim wrote:
mysql클라이언트 버전은 어떻게 확인해야하는거죠?

<?php phpinfo(); ?>
로 확인 하시고요.
--with-mysql=/usr
로 다시 컴파일 해 주세요.
kyong의 이미지

--with-mysql=/usr
는 Redhat 에서 RPM으로 설치한 경우입니다.
MySQL 디렉토리를 지정해 주세요.

neogeo의 이미지

mysql 5.0 을 까셨다면

반드시 mysql4.1 부터 적용되는 php 의 mysql api 인

'--with-mysqli = /mysql/bin/conf file' 로 php 를 컴파일을 하셔야 합니다.

다행이 제가 4.1.7 을 써본 바로는 기존 mysql api 도 다 먹히더군요.

꼭 확인해보십시오.

mysql4.1 부터 암호의 bit 수가 늘어나고 ( 128bit 로 들었습니다 )

따라서 mysql 의 password 방식이 바뀌어서 기존 api 로는 접속이 안되는 사태가 발생합니다.

Neogeo - Future is Now.

익명 사용자의 이미지

PHP와 연동시 아래와 같은 오류가 발생할 수 있습니다.

ERROR 1249: Client does
not support authentication protocol requested by server

-----------------------------------------------------
mysql 4.1 알파에서 password() 암호화가 변경되었네요. 아래와 같이 해야 합니다.
그래야 윈도우 아파치, php 가 연동이 됩니다.

root 사용자의 패스워드를 kswow 로 변경하는 것입니다.

UPDATE mysql.user
SET password=OLD_PASSWORD('kswow')
WHERE user='root'
AND host='localhost';

FLUSH PRIVILEGES;

kyong의 이미지

정상적으로 업그레이드 했다면
mysql_fix_privilege_tables
을 실행 했을 것이고 그러면 괜찮지 않나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.