🗄️ آموزش کاربردی cPanel

آموزش Databases در cPanel؛ ساخت دیتابیس، مدیریت کاربر، phpMyAdmin و رفع خطاهای رایج

بخش Databases در cPanel یکی از مهم‌ترین قسمت‌های هاست است؛ چون سایت‌های وردپرسی، فروشگاهی، لاراولی و بسیاری از اسکریپت‌های PHP اطلاعات اصلی خود را در MySQL یا MariaDB ذخیره می‌کنند. در این راهنما یاد می‌گیرید چطور دیتابیس بسازید، کاربر دیتابیس تعریف کنید، دسترسی‌ها را درست بدهید، با phpMyAdmin کار کنید و خطاهای رایج مثل «Error establishing a database connection» را اصولی حل کنید.

Databases در cPanel چیست؟

در cPanel، بخش Databases برای ساخت و مدیریت دیتابیس‌های MySQL یا MariaDB، ساخت کاربر دیتابیس، اتصال کاربر به دیتابیس، تعیین سطح دسترسی، بررسی و تعمیر دیتابیس و ورود به phpMyAdmin استفاده می‌شود. اگر سایت شما وردپرس، جوملا، پرستاشاپ، WHMCS، لاراول یا هر برنامه PHP دیتابیس‌محور باشد، این بخش برای شما حیاتی است.

MySQL Databases

برای ساخت دیتابیس، ساخت کاربر، اتصال کاربر به دیتابیس، تغییر رمز، حذف کاربر و بررسی/Repair دیتابیس.

Database Wizard

برای ساخت مرحله‌به‌مرحله دیتابیس و کاربر؛ بهترین انتخاب برای کاربران تازه‌کار و ساخت اولین دیتابیس.

phpMyAdmin

برای مشاهده جدول‌ها، Import و Export، اجرای Query، ویرایش رکوردها و بررسی ساختار دیتابیس.

دیتابیس را مثل فایل معمولی حذف نکنید

حذف دیتابیس، حذف کاربر دیتابیس یا تغییر رمز بدون به‌روزرسانی فایل تنظیمات سایت می‌تواند باعث از کار افتادن کامل سایت شود. قبل از هر تغییر مهم، بکاپ بگیرید.

قبل از هر تغییر در دیتابیس این چک‌لیست را انجام دهید

بسیاری از مشکلات کاربران از عجله در تغییر رمز، حذف کاربر یا Rename دیتابیس شروع می‌شود. این چک‌لیست ساده جلوی بیشتر خطاها را می‌گیرد.

از دیتابیس بکاپ بگیریدقبل از تغییر رمز، حذف، Rename یا Import، یک خروجی SQL از phpMyAdmin یا Backup cPanel بگیرید.
نام دیتابیس و کاربر را دقیق یادداشت کنیددر cPanel معمولاً نام دیتابیس و کاربر با پیشوند اکانت ساخته می‌شود؛ مثلاً account_wpdb.
فایل تنظیمات سایت را بشناسیددر وردپرس اطلاعات دیتابیس در wp-config.php است؛ در Laravel معمولاً در فایل .env قرار دارد.
رمز جدید را امن نگه داریدcPanel رمز دیتابیس را بعداً نمایش نمی‌دهد؛ اگر فراموش شود باید آن را تغییر دهید و در فایل تنظیمات سایت هم وارد کنید.
دسترسی‌ها را بیش از نیاز باز نکنیدبرای اکثر CMSها معمولاً ALL PRIVILEGES لازم می‌شود، اما برای اتصال‌های خاص بهتر است فقط دسترسی لازم داده شود.

ساخت دیتابیس با Database Wizard در cPanel

اگر اولین بار است دیتابیس می‌سازید، Database Wizard ساده‌ترین مسیر است؛ چون شما را مرحله‌به‌مرحله از ساخت دیتابیس تا ساخت کاربر و دادن دسترسی هدایت می‌کند.

وارد cPanel شویداز بخش Databases روی Database Wizard یا MySQL Database Wizard کلیک کنید.
نام دیتابیس را وارد کنیدیک نام کوتاه و قابل فهم انتخاب کنید؛ مثلاً site یا wp. cPanel ممکن است پیشوند اکانت را خودکار اضافه کند.
کاربر دیتابیس بسازیدنام کاربر و رمز قوی وارد کنید. از Password Generator استفاده کنید و رمز را در جای امن نگه دارید.
Privileges را انتخاب کنیدبرای وردپرس و بیشتر CMSها معمولاً گزینه ALL PRIVILEGES انتخاب می‌شود.
اطلاعات را در برنامه وارد کنیدنام دیتابیس، نام کاربر، رمز و DB Host را در نصب‌کننده وردپرس یا فایل تنظیمات سایت وارد کنید.

ساخت و مدیریت دستی از MySQL Databases

بخش MySQL Databases برای زمانی مناسب است که می‌خواهید دیتابیس یا کاربر را جداگانه بسازید، کاربر موجود را به دیتابیس اضافه کنید، رمز کاربر را تغییر دهید یا دیتابیس را Check و Repair کنید.

گزینه کاربرد نکته مهم
Create Database ساخت دیتابیس جدید نام نهایی معمولاً با پیشوند اکانت cPanel ساخته می‌شود.
Add MySQL User ساخت کاربر دیتابیس این کاربر با کاربر ورود به cPanel یا ایمیل یکی نیست.
Add User To Database اتصال کاربر به دیتابیس اگر این مرحله انجام نشود، برنامه به دیتابیس وصل نمی‌شود.
Check Database بررسی خطاهای دیتابیس برای مشکل جدول خراب یا خطای ناگهانی سایت مفید است.
Repair Database تلاش برای تعمیر دیتابیس قبل از Repair، بهتر است بکاپ داشته باشید.
Rename / Delete تغییر نام یا حذف دیتابیس بسیار حساس است و ممکن است سایت را از کار بیندازد.

کاربر دیتابیس، رمز و Privileges؛ بخش مهمی که خیلی‌ها اشتباه می‌کنند

یک دیتابیس به‌تنهایی کافی نیست. برنامه شما برای خواندن و نوشتن اطلاعات باید با یک کاربر دیتابیس وارد شود. این کاربر باید به همان دیتابیس دسترسی داشته باشد و رمز آن با فایل تنظیمات سایت هماهنگ باشد.

  • DB_NAME: نام دیتابیس؛ در وردپرس داخل wp-config.php با همین عنوان دیده می‌شود.
  • DB_USER: نام کاربر دیتابیس؛ باید در cPanel ساخته و به دیتابیس متصل شده باشد.
  • DB_PASSWORD: رمز کاربر دیتابیس؛ اگر تغییر کند باید در سایت هم تغییر کند.
  • DB_HOST: معمولاً localhost است، اما در برخی هاست‌ها یا دیتابیس ریموت ممکن است مقدار دیگری باشد.

نمونه تنظیمات وردپرس

define('DB_NAME', 'account_wpdb');
define('DB_USER', 'account_wpuser');
define('DB_PASSWORD', 'StrongPasswordHere');
define('DB_HOST', 'localhost');

رمز دیتابیس را در چت عمومی یا تیکت غیرامن ارسال نکنید

رمز دیتابیس دسترسی مستقیم به اطلاعات سایت است. اگر لازم است برای پشتیبانی ارسال شود، بعد از پایان کار رمز را تغییر دهید.

phpMyAdmin در cPanel؛ ابزار مدیریت جدول‌ها و Import/Export

phpMyAdmin برای کار داخل دیتابیس است: مشاهده جدول‌ها، ویرایش رکورد، اجرای Query، خروجی گرفتن، وارد کردن فایل SQL و بررسی حجم جدول‌ها. اما برای ساخت دیتابیس و کاربر، بهتر است از خود cPanel استفاده شود تا مدیریت، بکاپ و Restore با ساختار cPanel هماهنگ بماند.

کارهای رایج در phpMyAdmin

  • Export: گرفتن خروجی SQL از دیتابیس برای بکاپ یا انتقال.
  • Import: وارد کردن فایل SQL برای انتقال یا بازیابی دیتابیس.
  • Search: جستجو داخل جدول‌ها؛ مثلاً پیدا کردن یک آدرس قدیمی در دیتابیس وردپرس.
  • Optimize/Repair: بهینه‌سازی یا تعمیر جدول‌ها در شرایط خاص.
  • SQL: اجرای Query؛ فقط برای کاربرانی که دقیقاً می‌دانند چه دستوری اجرا می‌کنند.

مشکل جدیدی که زیاد دیده می‌شود: حجم جدول در phpMyAdmin فوری تغییر نمی‌کند

در MySQL 8 ممکن است اطلاعات آماری جدول‌ها cache شود؛ یعنی بعد از حذف داده، phpMyAdmin هنوز تا مدتی حجم قبلی را نشان دهد. این همیشه به معنی حذف نشدن داده نیست.

Import و Export دیتابیس؛ نکات مهم برای جلوگیری از خراب شدن سایت

بسیاری از مهاجرت‌های وردپرس و فروشگاه‌ها به خاطر Import ناقص، Encoding اشتباه یا Timeout شکست می‌خورند. قبل از Import، نسخه فعلی دیتابیس را نگه دارید.

چالش علت رایج راه‌حل پیشنهادی
Import ناقص حجم زیاد فایل SQL یا محدودیت زمان اجرا فایل را فشرده کنید، از SSH کمک بگیرید یا از پشتیبانی بخواهید Import سروری انجام دهد.
حروف فارسی خراب شده Encoding یا Collation نامناسب از UTF-8/utf8mb4 استفاده کنید و قبل از Import بکاپ داشته باشید.
Duplicate entry داده تکراری یا Import روی دیتابیس پر قبل از Import بررسی کنید دیتابیس مقصد خالی است یا قرار است Merge انجام شود.
Unknown collation نسخه MySQL/MariaDB مقصد قدیمی‌تر است Collation فایل SQL را با نسخه مقصد هماهنگ کنید یا از مدیر سرور کمک بگیرید.
Access denied رمز، نام کاربر یا Privileges اشتباه است کاربر را به دیتابیس اضافه و سطح دسترسی را بررسی کنید.

Remote Database Access؛ اتصال برنامه خارجی به دیتابیس cPanel

گاهی یک برنامه، سرور دیگر، نرم‌افزار حسابداری، CRM یا سرویس مانیتورینگ باید از بیرون به دیتابیس هاست وصل شود. در این حالت از Remote Database Access یا Remote MySQL استفاده می‌شود.

IP مقصد را پیدا کنیدفقط IP سروری را اضافه کنید که باید به دیتابیس وصل شود.
در cPanel وارد Remote Database Access شویدIP یا hostname را در بخش Host وارد کنید.
پورت و فایروال را بررسی کنیدپورت MySQL معمولاً 3306 است، اما ممکن است از سمت سرور یا فایروال بسته باشد.
از wildcard با احتیاط استفاده کنیدکاراکتر % می‌تواند دسترسی را گسترده کند و برای امنیت خطرناک باشد.

خطاهای رایج Databases در cPanel و راه‌حل‌ها

خطای Error establishing a database connection در وردپرس

این خطا معمولاً یعنی وردپرس نتوانسته به دیتابیس وصل شود. چهار مقدار DB_NAME، DB_USER، DB_PASSWORD و DB_HOST را در wp-config.php با اطلاعات cPanel مقایسه کنید.

خطای Access denied for user

رمز اشتباه است، کاربر به دیتابیس اضافه نشده، یا Privileges کافی ندارد. در MySQL Databases، کاربر را به دیتابیس اضافه و دسترسی‌ها را بررسی کنید.

دیتابیس در phpMyAdmin هست اما سایت آن را نمی‌شناسد

احتمالاً نام دیتابیس یا پیشوند اکانت را اشتباه وارد کرده‌اید. نام کامل دیتابیس در cPanel را کپی کنید، نه فقط بخش آخر آن را.

بعد از تغییر رمز دیتابیس سایت قطع شد

تغییر رمز در cPanel کافی نیست. باید همان رمز جدید در فایل تنظیمات برنامه نیز ثبت شود.

Import دیتابیس با خطای حجم یا Timeout قطع می‌شود

برای دیتابیس‌های بزرگ بهتر است از SSH یا ابزارهای سمت سرور استفاده شود. همچنین می‌توانید فایل SQL را gzip کنید تا حجم انتقال کمتر شود.

بعد از انتقال سایت، آدرس قدیمی در دیتابیس مانده است

در وردپرس، آدرس سایت داخل دیتابیس ذخیره می‌شود. تغییر دستی در phpMyAdmin ممکن است کافی نباشد؛ برای سایت‌های بزرگ بهتر است از ابزارهای Search/Replace مطمئن استفاده شود.

دستورات SSH مفید برای کاربران حرفه‌ای‌تر

اگر هاست یا سرور شما دسترسی SSH دارد، بعضی عملیات دیتابیس با خط فرمان سریع‌تر و مطمئن‌تر انجام می‌شود. قبل از اجرای هر دستور، نام دیتابیس و کاربر را دقیق بررسی کنید.

# گرفتن بکاپ از دیتابیس
mysqldump -u DB_USER -p DB_NAME > backup.sql

# فشرده‌سازی بکاپ
gzip backup.sql

# ایمپورت دیتابیس از فایل SQL
mysql -u DB_USER -p DB_NAME /dev/null

دستورهای دیتابیس را بدون بکاپ اجرا نکنید

یک Query اشتباه می‌تواند هزاران رکورد را تغییر دهد یا حذف کند. اگر مطمئن نیستید، اول از دیتابیس خروجی بگیرید.

سوالات مهم کاربران درباره Databases در cPanel

آیا Database Wizard بهتر است یا MySQL Databases؟

برای ساخت اولین دیتابیس، Database Wizard ساده‌تر است چون دیتابیس، کاربر و دسترسی را پشت سر هم تنظیم می‌کند. برای مدیریت‌های بعدی، MySQL Databases کنترل بیشتری می‌دهد.

آیا برای وردپرس باید ALL PRIVILEGES بدهم؟

در نصب‌های معمول وردپرس، معمولاً ALL PRIVILEGES برای کاربر دیتابیس استفاده می‌شود. اگر ساختار امنیتی خاص دارید، سطح دسترسی را با نیاز برنامه تنظیم کنید.

چرا cPanel نام دیتابیس را با پیشوند می‌سازد؟

برای جدا کردن دیتابیس‌های هر اکانت و جلوگیری از تداخل نام‌ها، cPanel معمولاً پیشوند اکانت را به نام دیتابیس و کاربر اضافه می‌کند.

آیا حذف کاربر دیتابیس باعث حذف خود دیتابیس می‌شود؟

نه همیشه؛ اما اگر سایت فقط با همان کاربر وصل می‌شده، بعد از حذف کاربر سایت دیگر به دیتابیس وصل نمی‌شود.

آیا phpMyAdmin برای ساخت دیتابیس مناسب است؟

در محیط cPanel بهتر است دیتابیس و کاربر را از MySQL Databases یا Database Wizard بسازید و از phpMyAdmin بیشتر برای مدیریت جدول‌ها، Import و Export استفاده کنید.

DB_HOST همیشه localhost است؟

در بیشتر هاست‌های cPanel مقدار DB_HOST برابر localhost است، اما اگر دیتابیس روی سرور جداگانه یا Remote MySQL باشد ممکن است مقدار متفاوتی داشته باشد.

چطور بفهمم دیتابیس خراب شده است؟

اگر سایت خطاهای غیرعادی می‌دهد یا بعضی جدول‌ها باز نمی‌شوند، از بخش Check Database در cPanel استفاده کنید. اگر مشکل پیدا شد، با احتیاط Repair Database را اجرا کنید.

چرا Import دیتابیس وردپرس خطای collation می‌دهد؟

معمولاً نسخه MySQL/MariaDB مقصد از collation فایل خروجی پشتیبانی نمی‌کند. باید collation را هماهنگ کنید یا از هاست/مدیر سرور بخواهید نسخه دیتابیس را بررسی کند.

جمع‌بندی

بخش Databases در cPanel فقط یک صفحه ساده برای ساخت دیتابیس نیست؛ مرکز مدیریت اطلاعات اصلی سایت شماست. برای ساخت دیتابیس جدید از Database Wizard استفاده کنید، برای مدیریت کاربر و دسترسی‌ها سراغ MySQL Databases بروید، برای کار با جدول‌ها phpMyAdmin را باز کنید و قبل از حذف، Rename، Import یا تغییر رمز همیشه بکاپ بگیرید. اگر این اصول را رعایت کنید، بیشتر مشکلات رایج دیتابیس مثل قطع شدن وردپرس، Access denied، Import ناقص و خطای اتصال دیتابیس قابل پیشگیری است.