به طور پیش فرض، MySQL با کاربر root نصب میشود و کار میکند و این کاربر کلیهی دسترسیها به منظور اعمال تغییر در دیتابیس را دارا میباشد. با این حال، همه افرادی که به پایگاه داده دسترسی دارند، به دلایل امنیتی نباید از همه حقوق بر روی دادهها برخوردار باشند. MySQL روشهایی را برای ایجاد حسابهای کاربری جدید و اعطای امتیاز به هر کاربر پایگاه داده ارائه میدهد. یک دستور ساده به ارائه اطلاعات ارزشمند در مورد دسترسیهایی که کاربران در حال حاضر دارند، کمک میکند.
MySQL یکی از قابل تشخیصترین فناوریها در اکوسیستم کلان داده مدرن است. معمولاً محبوبترین پایگاه داده نامیده میشود و در حال حاضر از استفاده مؤثر و گسترده صرف نظر از صنعت بهره میبرد، واضح است که هر کسی که با دادههای سازمانی یا فناوری اطلاعات عمومی مرتبط است، حداقل باید به دنبال آشنایی اولیه با MySQL باشد. با MySQL، حتی آنهایی که تازه وارد سیستمهای رابطهای شدهاند، میتوانند بلافاصله سیستمهای ذخیرهسازی داده سریع، قدرتمند و ایمن بسازند. نحوه برنامهنویسی و رابطهای MySQL همچنین دروازههای مناسبی برای ورود به دنیای گسترده سایر زبانهای پرس و جوی محبوب و ذخیرهسازی دادههای ساختاریافته هستند.
چگونه دسترسیهای یک کاربر را در MySQL مشاهده کنیم؟
برای نمایش دسترسیهای یک کاربر دیتابیس در MySQL مراحل زیر را طی کنید:
1. ترمینال را باز کنید (CTRL+ALT+T) و به عنوان root وارد سرور MySQL شوید:
mysql -u root -p
هنگامی که از شما خواسته شد، رمز عبور root را وارد کنید و Enter را فشار دهید تا مانیتور MySQL راهاندازی شود.
ورود به عنوان کاربر root ضروری نیست. با این حال، کاربر root دارای مجوز SELECT است که برای مشاهده کلی دسترسیهای سایر کاربران لازم است. برای ارائه مجوز SELECT ویژه به کاربر دیگری، دستور زیر را به عنوان یک کاربر با مجوزهای SELECT (یا root) اجرا کنید:
;GRANT SELECT ON *.* TO
2. اگر نام کاربری و میزبانی را که میخواهید امتیازات آن را بررسی کنید میدانید، از این مرحله رد شوید. در غیر این صورت برای نمایش همه کاربران و میزبانها از دستور زیر استفاده نمایید:
;SELECT user,host FROM mysql.user
از لیست نمایش دادهشده نام کاربری و میزبان دقیق را برای مرحله بعدی پیدا کنید.
3. از عبارت زیر برای بررسی دسترسیهای یک کاربر خاص استفاده کنید:
SHOW GRANTS FOR username @ host
به عنوان مثال، برای بررسی مجوزهای test_user:
;SHOW GRANTS FOR test_user
بدون نام میزبان، دستور وارد شده میزبان پیشفرض که ‘%’ را بررسی میکند.
برای بررسی مجوزهای کاربری که در حال حاضر وارد شده است، میتوانید از دستور زیر استفاده نمایید:
;SHOW GRANTS
خروجی یک جدول با تمام امتیازات دسترسی را نمایش میدهد.
ساخت کاربر در MySQL
به صورت کلی برای ساخت یک کاربر جدید میتوانید از دستور زیر استفاده نمایید:
;'CREATE USER 'user'@'host' IDENTIFIED WITH authentication_plugin BY 'password
بعد از CREATE USER یک نام کاربری مشخص میکنید. بلافاصله پس از آن یک علامت @ و سپس نام میزبانی که این کاربر از آن متصل میشود، میآید. اگر فقط قصد دارید از سرور به این کاربر به صورت محلی دسترسی داشته باشید، میتوانید localhost را تعیین کنید. قرار دادن نام کاربری و میزبان در یک نقل قول همیشه ضروری نیست، اما انجام این کار میتواند به جلوگیری از خطاها کمک کند.
هنگام انتخاب نحوهی احراز هویت کاربر، چندین گزینه دارید. افزونه auth_socket یکی از روشهای احراز هویت کاربر میباشد که امنیت قوی را بدون نیاز به دسترسی root برای واردکردن رمز عبور برای دسترسی به پایگاه داده فراهم میکند. اما از اتصالات راه دور یا همان ریموت به دیتابیس نیز جلوگیری میکند، که میتواند در زمانی که برنامههای خارجی نیاز به تعامل با MySQL دارند، شرایط را پیچیده کند.
نحوهی ایجاد دسترسی برای یک کاربر
با استفاده از دستور زیر میتوانید هر دسترسی که مورد نیاز به کاربر مورد نظر اعطا نمایید:
;GRANT CREATE on *.* TO 'server'@'localhost' WITH GRANT OPTION
به عنوان مثال در دستور بالا دسترسی ایجاد یک table جدید به یوزر server داده شد. همچنین در دستور بالا سایر دسترسیها مانند ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD را نیز میتوانید به کاربر بدهید.
برای نصب MySQL نیز میتوانید از مقالهی زیر استفاده نمایید:
سلام ببخشید چطوری میتونم این دستورات رو از طریق mysql phpmuadmin بزنم؟
دستورات فوق متناسب با سیستم عامل توضیح داده شده در متن مقاله میباشد ، درصورت تمایل جهت دریافت دستورات مطابق os و یا نرم افزار مورد نظر خود ، میتوانید از طریق سرچ در موتور جستجو گوگل به نتایج مورد نظر خود برسید.