آموزش Databases در cPanel؛ ساخت دیتابیس، کاربر، phpMyAdmin و رفع خطاهای رایج
آموزش 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 دیتابیس شروع میشود. این چکلیست ساده جلوی بیشتر خطاها را میگیرد.
account_wpdb.wp-config.php است؛ در Laravel معمولاً در فایل .env قرار دارد.ساخت دیتابیس با Database Wizard در cPanel
اگر اولین بار است دیتابیس میسازید، Database Wizard سادهترین مسیر است؛ چون شما را مرحلهبهمرحله از ساخت دیتابیس تا ساخت کاربر و دادن دسترسی هدایت میکند.
site یا wp. cPanel ممکن است پیشوند اکانت را خودکار اضافه کند.ساخت و مدیریت دستی از 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 استفاده میشود.
% میتواند دسترسی را گسترده کند و برای امنیت خطرناک باشد.خطاهای رایج 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 ناقص و خطای اتصال دیتابیس قابل پیشگیری است.
شما میتوانید دیدگاه خود را در مورد این مطلب با ما به اشتراک بگذارید.