ایجاد کاربر Readonly در MySQL

محمد عسکری
منتشر شده در ۳ ماه پیش | خواندن در ۲ دقیقه

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


ایجاد کاربر

با استفاده از دستور زیر میتونید یک کاربر جدید در MySQL بسازید

CREATE USER 'tester'@'%' IDENTIFIED BY 'password';

عبارت % توی دستور بالا، به این معنی هستش که کاربر از هرجایی می‌تونه به دیتابیس وصل بشه. 

حالا با استفاده از دستور زیر، دسترسی خواندن رو روی تمامی دیتابیس ها به کاربرمون میدیم

GRANT SELECT ON *.* TO 'tester'@'%';

ولی اگر نیاز داشتیم، تنها دسترسی خواندن به یکی از دیتابیس ها بدیم، دستور زیر کمکمون میکنه:

GRANT SELECT ON DATABASE.* TO 'tester'@'%';


بررسی صحت انجام کار

حالا با استفاده از کاربری که ساختیم، به دیتابیس وصل میشیم، و سعی میکنیم اون رو تست کنیم

mysql -u tester -p

و حالا با استفاده از دستورات زیر (‌که ممکنه برای دیتابیس شما متفاوت باشه) صحت انجام کار رو بررسی می کنیم:

mysql> USE alpha;
mysql> UPDATE Person SET version_num = 5 WHERE OID = 1;
ERROR 1142 (42000): UPDATE command denied TO USER 'tester'@'localhost' FOR TABLE 'Person'

محمد عسکری

نظرات