سایت ساز وبزیخرید بک لینک

مشكل با تابع mysql_connect

شروع موضوع توسط salam ‏8 آپریل 2004 در انجمن PHP

  1. salam

    salam Registered User

    تاریخ عضویت:
    ‏23 اکتبر 2003
    نوشته ها:
    84
    تشکر شده:
    1
    سلام!

    آقا من وقتی در تابع mysql_connect آدرس سرور رو localhost میزارم کار میکنه ( در وب سایت local ) ولی وقتی به اون ip همون دستگاه رو میدم خطا میده :

    Access denied for user: '[email protected]' (Using password: YES)

    همینطور اگه بخوام از یه وب سایت رو یه سرور دیگه به mysql وصل بشم همین خطا میاد منتها اسم ماشینی که وب سایت روی اونه بعد از علامت @ میاد.

    به نظرم باید آدرس وب سایتی که اجازه داره به mysql وصل شه رو برای اون تعریف کرد اما چطوری؟
     
  2. بازدیدیار - افزایش بازدید سایت و سیگنال های برندخرید بک لینک
  3. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,477
    تشکر شده:
    20
    سلام

    ببين معمولا سرورها mysql رو جوری تنظیم می کنند که فقط از localhost بتونی بهش وصل بشی.
    حالا بعضی از سرورها مثل سرور ما که از Cpanel استفاده می کنند به کاربر اجازه می دن که با وارد شدن توی Cpanel سرور و IP کامپیوتری که می خواد به MYSQL وصل بشه رو جزو IP های مجاز قرار بده.
    در هر حال این مشکل از شما یا برنامه شما نیست. مشکل از تنظیمات سرور است.
     
  4. salam

    salam Registered User

    تاریخ عضویت:
    ‏23 اکتبر 2003
    نوشته ها:
    84
    تشکر شده:
    1
    آقا جوابشو پیدا کردم ! در mysql کاربرانی که اجازه دسترسی به database را دارند در جدول user بر اساس 3 ستون از این جدول ( ستونهای host , User , Password ) تعریف میشوند . چنانچه بخواهیم از وب سایتی غیر local به mysql وصل شویم باید ip یا نام آن ماشین را در این جدول درج کنیم . دستور زیر این کار را انجام می دهد:
    کد:
    GRANT ALL PRIVELEGES ON DBName.* TO
    [email protected]'DB-CLIENT'
    
    DBName= نام پایگاه داده
    ِDBUser= نام کاربر
    DB-CLIENT=آدرس IP یا Domain Name ماشین CLIENT

    پارامترهای DBUser و DB-CLIENT باید مشابه همان چیزی باشند که در خطای Access Denied .. می آید. بعد از اجرای این دستور کاربر می تواند بدون Password از ماشین مشخص شده به MySQL متصل شود . برای تعیین Password از دستور زیر استفاده میکنیم :
    کد:
    SET PASSWORD FOR
    'DBUser'@'DB_CLIENT' = PASSWORD('myPass')
    
    http://www.mysql.com/doc/en/Connection_access.html
     
  5. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,477
    تشکر شده:
    20
    ممنون
    به درد بقيه هم مي خوره.
     
عسل طبیعی و گرده گل ایرانیخرید و فروش اتوماتیک ارزهای الکترونیکی