دیتابیس هاست بهصورت پیشفرض فقط از داخل همان سرور قابل دسترسی است. برای وصل شدن از بیرون (برنامهی مدیریت دیتابیس روی کامپیوتر، یا اپلیکیشنی روی سرور دیگر) باید آیپی مبدأ را در بخش Remote Database Access سیپنل اضافه کنید. بعد با نام سرور هاست، پورت ۳۳۰۶ و همان کاربر دیتابیس وصل میشوید. فقط آیپیهای مشخص را اضافه کنید، نه «همه».
کی لازم میشود؟
| کار | Remote MySQL لازم است؟ |
|---|---|
| سایت روی همین هاست به دیتابیس خودش وصل میشود | نه؛ از localhost استفاده میکند |
| کار با HeidiSQL، DBeaver یا MySQL Workbench از کامپیوتر | بله |
| اپلیکیشن روی سرور یا هاست دیگر که این دیتابیس را میخواند | بله |
| ابزار گزارشگیری یا هوش تجاری | بله |
| ویرایش سادهی یک رکورد | نه؛ phpMyAdmin کافی است (phpMyAdmin) |
قدم ۱: آیپی مبدأ را پیدا کنید
برای کامپیوتر خودتان، در گوگل بنویسید what is my ip. برای سرور دیگر، آیپی عمومی همان سرور. اگر اینترنت شما آیپی ثابت ندارد، این عدد هر چند وقت عوض میشود و باید دوباره اضافهاش کنید.
قدم ۲: افزودن آیپی
- در سیپنل، بخش Databases، روی Remote Database Access بزنید.
- در کادر Host آیپی را بنویسید.
- در Comment بنویسید این آیپی مال چیست (مثلاً «لپتاپ دفتر»)؛ شش ماه بعد یادتان نمیماند.
- Add Host را بزنید.

قدم ۳: کاربر دیتابیس
اتصال با کاربر دیتابیس انجام میشود، نه نام کاربری سیپنل. کاربر باید به همان دیتابیس وصل شده باشد و دسترسی لازم را داشته باشد. اگر فقط میخواهید داده بخوانید، یک کاربر جدا بسازید که فقط SELECT دارد. (ساخت دیتابیس و کاربر)
قدم ۴: مشخصات اتصال
| فیلد | مقدار |
|---|---|
| Host | نام دامنه یا نام سرور هاست (در ناحیه کاربری، زبانهی اطلاعات میزبانی) |
| Port | 3306 |
| Username | نام کامل کاربر دیتابیس، با پیشوند حساب (مثل account_user) |
| Password | رمز همان کاربر دیتابیس |
| Database | نام کامل دیتابیس، با پیشوند |
اگر دامنه پشت کلودفلر است، نام دامنه به آیپی کلودفلر میرسد و اتصال دیتابیس از آن رد نمیشود. در این حالت نام سرور یا آیپی خود هاست را بدهید.
خطاهای رایج
| خطا | علت | راه |
|---|---|---|
| Host ‘…’ is not allowed to connect | آیپی شما در فهرست نیست، یا عوض شده | آیپی فعلی را اضافه کنید |
| Access denied for user | نام کاربری بدون پیشوند، رمز اشتباه، یا کاربر به دیتابیس وصل نیست | نام کامل و دسترسی کاربر را بررسی کنید |
| Can’t connect to MySQL server (10060 / timed out) | پورت ۳۳۰۶ در شبکهی شما یا مسیر بسته است | با اینترنت دیگر امتحان کنید؛ اگر نشد تیکت بزنید |
| Unknown MySQL server host | نام سرور اشتباه | نام را از ناحیه کاربری کپی کنید |
| وصل میشود ولی خیلی کند است | فاصلهی شبکه؛ هر کوئری یک رفت و برگشت است | طبیعی است؛ برای کار سنگین مناسب نیست |
امنیت
- علامت % نگذارید. این کادر % را بهعنوان «هر آیپی» قبول میکند. با این کار دیتابیس از کل اینترنت قابل تلاش برای ورود میشود و فقط رمز بین مهاجم و دادههای شماست.
- اگر آیپی متغیر دارید، محدوده را تا جای ممکن تنگ بگیرید (مثلاً 203.0.113.%) یا هر بار آیپی را بهروز کنید.
- بعد از تمام شدن کار، آیپی را از فهرست حذف کنید.
- برای اتصال بیرونی، کاربر جدا با کمترین دسترسی لازم بسازید و رمز بلند و تصادفی بگذارید.
- اتصال را در برنامهی مدیریت دیتابیس با SSL برقرار کنید اگر گزینهاش هست.
برای اپلیکیشنی که روی سرور دیگر است
اتصال از راه دور برای هر درخواست، تأخیر شبکه را به هر کوئری اضافه میکند. سایتی که در هر صفحه دهها کوئری میزند، با دیتابیس دور خیلی کند میشود. اگر ممکن است سایت و دیتابیس را کنار هم نگه دارید و اتصال دور را برای گزارشگیری و کارهای دورهای بگذارید.
سوالهای رایج
هاست من میتواند به دیتابیسی روی سرور دیگر وصل شود؟
بله؛ در آن حالت باید آیپی هاست شما در سرور مقصد مجاز شود. این صفحه فقط برای اتصالهای ورودی به دیتابیس خود شماست.
آیپی را اضافه کردم ولی هنوز وصل نمیشود.
مطمئن شوید آیپی واقعی اینترنت فعلیتان را دادهاید (فیلترشکن آن را عوض میکند) و نام کاربری پیشوند دارد.
میشود با نام دامنه بهجای آیپی اجازه داد؟
کادر نام هم میپذیرد، ولی آیپی مطمئنتر است، چون تطبیق نام به تنظیم DNS معکوس مبدأ وابسته است.