چرا سطوح دسترسی در MySQL مهم هستند؟
وقتی یک سایت روی هاست قرار میگیرد، دیتابیس به قلب تپنده آن سایت تبدیل میشود.تمام اطلاعات مهم، از دادههای کاربران گرفته تا تنظیمات سیستم، داخل دیتابیس ذخیره میشوند.به همین دلیل، اگر دسترسی کاربران دیتابیس بهدرستی مدیریت نشود:
- امنیت سایت به خطر میافتد.
- احتمال حذف یا آسیب به دادهها بالا میرود.
- حتی یک اشتباه ساده میتواند باعث از کار افتادن کل سایت شود.
اینجاست که مفهوم Privilege یا سطح دسترسی در MySQL اهمیت پیدا میکند.
کاربر دیتابیس کیست و چه تفاوتی با کاربر سایت دارد؟
یکی از اشتباهات رایج، همسان دانستن کاربر دیتابیس با کاربر سایت است.
- کاربر سایت: کسی که داخل سایت ثبتنام میکند.
- ادمین سایت: مدیری که با پنل وردپرس یا CMS کار میکند.
- کاربر دیتابیس: حسابی مستقل در MySQL که مستقیماً به دیتابیس دسترسی دارد.
نکته مهم
کاربر دیتابیس از ادمین سایت هم قدرتمندتر است؛چون میتواند بدون ورود به پنل سایت، دادهها را تغییر دهد.
کاربر MySQL به چه صورت شناسایی میشود؟
در MySQL، کاربرها فقط با نام کاربریشان شناخته نمیشوند بلکه محل اتصال هاست هم در شناسایی آنها نقش دارد.
مفهوم Host در MySQL
هاست مشخص میکند کاربر از کجا اجازه اتصال دارد
-
- از داخل سرور (localhost)
- از هر آدرس اینترنتی دیگر
در واقع MySQL مشخص میکند این کاربر فقط از یک جای مشخص اجازه اتصال دارد یا از همهجا.
سطوح دسترسی (Privileges) کاربران در MySQL؛ هر کاربر چه اختیاراتی دارد؟
MySQL دسترسیها را بهصورت لایهای تعریف میکند. یعنی میتوان مشخص کرد یک کاربر تا چه حد و در چه محدوده هایی اجازه فعالیت دارد.
سطح سراسری (Global Privileges)
در این سطح، کاربر به همه دیتابیسهای روی هاست دسترسی دارد و بالاترین نوع دسترسی میباشد.
- معمولاً مخصوص مدیر سرور است.
- برای سایتها و وردپرس مناسب نیست.
- استفاده نادرست از آن ریسک امنیتی بالایی دارد.
سطح دیتابیس (Database Privileges)
رایجترین و استانداردترین نوع دسترسی برای سایتها همین حالت است.
در این وضعیت:
-
- کاربر فقط به یک دیتابیس مشخص دسترسی دارد.
- روی بقیه دیتابیسهای هاست هیچ اختیاری ندارد.
بهترین انتخاب برای:
- وردپرس
- فروشگاههای اینترنتی
- سایتهای آموزشی
سطح دسترسی جدول (Table-Level Privileges)
اینجا دسترسی باز هم محدودتر میشود.
در این حالت:
- کاربر فقط روی یک یا چند جدول خاص
- داخل یک دیتابیس
اجازه انجام عملیات و ایجاد تغییرات را دارد.
سطح دسترسی ستون (Column-Level Privileges)
این سطح، ریزترین و دقیقترین نوع دسترسی است.
در اینجا:
کاربر فقط به ستونهای مشخصی از یک جدول دسترسی دارد.
مهمترین Privilege ها در MySQL
دسترسیها در MySQL مشخص میکنند سایت دقیقاً چه کارهایی میتواند روی دیتابیس انجام دهد.این گزینهها را معمولاً در پنل هاست (کنار تنظیمات کاربر دیتابیس) میبینید.
DirectAdmin
وارد پنل خود شوید و برروی MySQL Management کلیک کنید.

دیتابیس سایت یا کاربر موردنظر خود را انتخاب کنید.

سپس از قسمت زیر وارد بخش Privileges (دسترسیها) شوید.

cPanel
برای دیدن و بررسی دسترسیهای دیتابیس در هاست cPanel مراحل زیر را طی کنید:
-
- وارد cPanel شوید.
- روی MySQL Users کلیک کرده و کاربر دیتابیس موردنظر سایت را پیدا کنید.
- گزینه Check Privileges یا Set Privileges انتخاب کنید.
- در این بخش، لیست دسترسیهای MySQL بهصورت تیکخورده به شما نمایش داده خواهد شد.
این دسترسیها چه چیزهایی را کنترل میکنند؟
مربوط به داده
این موارد جزو نیازهای اصلی هر سایت هستند:
Select → نمایش و خواندن اطلاعات سایت
Insert → ثبت اطلاعات جدید (فرمها، ثبتنام، سفارش)
Update → ویرایش اطلاعات موجود
Delete → حذف اطلاعات
مربوط به ساختار
این دسترسیها روی شکل و ساختار دیتابیس اثر میگذارند:
Create → ساخت جدول جدید (معمولاً هنگام نصب سایت)
Alter → تغییر ساختار جدولها
Drop → حذف کامل جدولها (بسیار حساس)
دسترسیهایی که باید فعال باشند
این موارد برای کارکرد عادی سایت (مثل وردپرس یا فروشگاه اینترنتی) لازم هستند:
Select → نمایش اطلاعات سایت
Insert → ثبت دادههای جدید (فرم، ثبتنام، سفارش)
Update → ویرایش اطلاعات
Delete → حذف اطلاعات
اگر هر کدام از این موارد غیرفعال باشند، سایت بهدرستی کار نمیکند.
دسترسیهایی که فقط در شرایط خاص فعال میشوند
این دسترسیها معمولاً موقتی هستند:
Create → هنگام نصب سایت یا بعضی افزونهها
Alter → هنگام بهروزرسانی ساختار دیتابیس
Drop → فقط برای عملیات خاص (بسیار حساس)
بعد از نصب یا تغییرات، بهتر است این موارد غیرفعال شوند.
نکات امنیتی مهم برای مدیران هاست و سایت
اگر میخواهید دیتابیس سایتتان امن بماند:
- از کاربر root برای سایت استفاده نکنید.
- برای هر سایت، کاربر دیتابیس جداگانه بسازید.
- دسترسیها را حداقلی تنظیم کنید.
- رمز عبور دیتابیس را دورهای تغییر دهید.
- کاربران ناشناس دیتابیس را بررسی و حذف کنید.
جمع بندی
سطوح دسترسی در MySQL ابزار کنترل، امنیت و مدیریت دیتابیس هستند.با تنظیم درست Privilegeها میتوانید ریسکهای امنیتی را به حداقل برسانید و از بروز مشکلات جدی در سایت جلوگیری کنید.در هاستد تلاش کردیم این موضوع را بدون پیچیدگی و با نگاه کاربردی توضیح دهیم تا برای مدیران سایت و کاربران هاست قابل درک باشد.