mysql과 php가 연동이 안되는 것 같습니다.

moonrepeat의 이미지

현재 redhat 9.0을 쓰고 있고
APM을 소스로 설치했습니다.
PHP는 4.3.7, APACHE는 2.0.50, MySql은 4.0.20입니다.

설치시 별이상없이 끝났습니다. <? phpinfo() ?>도 잘 나오
더군요. 그런데 php에서 mysql과 연동되는 프로그램을 실행
시키면 에러메세지 하나도 없는데 mysql에 내용이 하나도 갱
신되어 있지 않습니다. (프로그램 상에서 dbname이나 user
등 mysql 관련된 프로그램을 잘못 짜면 에러 뜹니다.)

옛날에 6.1 사용할때도 겪었던것 같은데 혹시 아시는분 답변
부탁드립니다.

orangecrs의 이미지

php와 mysql 은 별도로 돌아갑니다...
디비는 또 하나의 별도의 프로그램이란 말이지요...
디비계정하고 패쓰워드 그리고 권한을 확인해보세요...

---------------------------------------------------
야!...

moonrepeat의 이미지

하도 안되길래 php프로그램에 user를 root로 주고 해봤습니다.....
안되더군요......

그래서 그 유명한 phpMyAdmin을 깔고 그걸로 접속할려고 했습니다.
그런데 아래와 같은 오류메세지가 뜹니다.
#1045 - Access denied for user: 'root@localhost' (Using password: YES)

제발 해결책좀 알려주세요

삽질은 계속되어야 한다....... 쭉.........

codebank의 이미지

그 메시지는 패스워드가 잘못 입력되었을때 나오는 메시지인데요???
혹시 시스템 root의 패스워드를 잘못 입력하신게 아니신지...
orangecrs님이 답변에 적으셨듯이 DB서버의 root와 시스템의 root는 다릅니다.
일단은 console상에서

# mysql -p -u root
Password:

로 DB에 접속되는지 확인해 보세요.
만일 접속이 안된다면 -p옵션을 빼보시고...(Password설정을 하지 않았다면 -p가
없어야합니다.)
-p가 없이 접속이 된다면
# mysqladmin password 'root 패스워드'
로 암호를 입력해 주어야합니다.
DB를 사용하는 .php에서 사용한 user가 mysql db의 user에 있는지 또한 mysql db의
db테이블에 해당 user가 사용하는 Database가 연결되어있는지도 확인해보시는것도
중요하죠.

가장의심되는건 root User의 password가 없는게 아닌가하는것과 있다면
정확한 암호를 넣었는가하는것입니다.

------------------------------
좋은 하루 되세요.

moonrepeat의 이미지

로컬에서 직접하면 잘됩니다.
(밑에는 참고삼아....)

mysql> select Host,User,Select_priv from user;
+-----------+--------+-------------+
| Host | User |Select_priv|
+-----------+--------+-------------+
| localhost| root | Y |
| % | repeat| Y | <-- 모든 권한 Yes로 준 상태.....
+-----------+--------+-------------+
2 rows in set (0.00 sec)

mysql> select Host,Db,User,Select_priv,Grant_priv from db;
+-----------+--------+--------+-------------+------------+
| Host | Db | User |Select_priv|Grant_priv|
+-----------+--------+--------+-------------+------------+
| % | home | repeat | Y | N | <-- Grant_priv 제외하고는 전부 "Y"
| localhost | school | repeat | Y | N |
| localhost | music | repeat | Y | N |
+-----------+--------+--------+-------------+------------+
3 rows in set (0.00 sec)

삽질은 계속되어야 한다....... 쭉.........

codebank의 이미지

음... DB설정이 조금이상합니다만...
일단 제가 설정해서 사용하고 있는 것을 설명하면...

제가 사용하는 시스템은 외부에서 접근을할 이유가 없어서 Host부분에 '%'가 들어가있는
부분은 삭제했습니다.
user table내용을 보면

localhost, root, password,Y...(전부 'Y')
localhost,user,password,N...(전부 'N')

db table내용은
localhost,db,user,password,Y,Y,Y,Y,Y,Y,N,N,N,N,N,N
달랑하나만 놓고 사용하죠.
음... db table에 root를 적어놓지 않아도 됩니다.
또한 %를 사용한다면 외부에서 접속도 허용하는것인데... 보안상 제외시켜놨죠.
외부에서 접속해야한다면 어쩔 수 없겠지만요.

php에서 실행은 되는데 값이 적용이안된다면 그부분을 한번 디버깅해보세요.
제 경우에는 직접 화면에 뿌려서 확인을해보는편이라서...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=euc-kr">
  <title>Test</title>
</head>
<?php
  $host="localhost";
  $username="user";
  $userpass="password";
  $dbname="database_name";

  $connect=mysql_connect ($host, $username, $userpass) or die ("db not connected");
  mysql_select_db($dbname, $connect) or die ("db failed connected");
?>
<body>
<?php
  $sql = "insert into mytable values('1234','abcd')";
  echo ("Query : " . $sql . "<br>");
  $result = mysql_query($sql);
  if ($result)
    echo ("성공");
  else
    echo ("실패");
?>
</body>
</html>

이렇게 확인을 해보고 있죠. 한번 직접 확인해 보시는건 어떠실런지요?

------------------------------
좋은 하루 되세요.

moonrepeat의 이미지

해결했습니다 ^^
감사합니다 ^^

삽질은 계속되어야 한다....... 쭉.........

offree의 이미지

moonrepeat wrote:
해결했습니다 ^^
감사합니다 ^^

전 도움을 드리지는 않았지만,

해결하셨으면, 어떻게 해결하셨는지 적어주시면, 다른사람에게 유익한 정보가 될수도 있겠죠.

다른사람이 똑같은 상황에서 또다시 질문을 할수도 있고, 이글을 읽고 해결할 수도 있겠구요.

KLDP 는 상당에 보면 이렇게 되어 있네요.

Quote:

KLDP BBS
서로의 지식과 정보를 교환하세요.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

moonrepeat의 이미지

해결과정이라면........ codebank님이 써주신 code를 이용해서
테스트하니 잘 되더군요. 신기하게도.... 저는 insert만 되는가
싶어서 update및 select 기타 등등 다 해보니 다 되더군요.....
(정상작동한다는 움직일 수 없는 증거....)

그런데 정작 제가 1년전에 작성했던 소스는 여전히 작동을 안하더군요.
(당시에는 잘 사용한 소스임.....)
그래서 나름대로 내린 결론이 php가 버젼업 되면서 뭔가 바뀌었다...
(나의 버릇과 관련된 부분으로.....) 또는 제가 서버 제 설정 작업시 백업
을 잘못했다 입니다.

이에 따른 저의 판단은 내일부터 홈피를 새마음 새뜻으로 다시 게시판
부터 유저관리, 카운터 까지 전부 새로 짤렵니다.... ㅠ.ㅠ

삽질은 계속되어야 한다....... 쭉.........

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.