پایگاه داده

آموزش ساخت یوزر و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

ساخت یوزر و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB ساده است، در این مقاله به موضوع مدیریت کاربر در پایگاه داده های مای اسکیول و ماریا دی بی می پردازیم، همراه داتیس نتورک باشید.

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

ساخت یوزر و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

اگر از پایگاه داده های MySQL و MariaDB برای ذخیره سازی اطلاعات استفاده می کنید یکی از اولین کارهایی که باید انجام دهید تعریف یوزر و اعطای دسترسی های لازم به آن است.

اینکار با استفاده از دستورالعمل های از قبل تعیین شده امکان پذیر است و شما امکان ساخت و حذف یوزر را دارید.

مدیریت دیتابیس MySQL/MariaDB یکی از معروفترین سیستم های مدیریت Database میباشد.

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

در این مقاله ما نحوه ساخت، حذف و مدیریت یک یوزر در MySQL/MariaDB و نحوه اعطای سطوح دسترسی یک کاربر به دیتابیس را آموزش خواهیم داد.

مراحل ساخت یوزر و مدیریت دسترسی

قبل از اینکه شروع کنیم، ما فرض را بر این می گذاریم که شما از قبل روی سیستم تان MySQL یا MariaDB را نصب کرده اید.

همه دستورات درون shell مای اسکیول توسط کاربر root یا کاربر مدیر سرور قابل اجرا است.

حداقل پرمیژن مورد نیاز برای ایجاد اکانت های کاربری و تعریف سطوح دسترسی آنها CREATE USER و GRANT هستند.

برای دسترسی به شل MySQL کافیست دستور زیر را وارد کنید.

سپس پسورد کاربر root دیتابیس مای اسکیول را نیز بعد از اجرای دستور، تایپ نمایید.

# mysql -u root -p

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

اگر شما برای کاربر root مای اسکیول پسوردی تعریف نکرده باشید، میتوانید آپشن -p را حذف کنید.

نحوه لیست کردن یوزرهای ایجاد شده در MySQL/MariaDB

در ابتدا برای مشاهده لیست یوزرها در MySQL/MariaDB از دستور زیر استفاده کنید.

mysql> SELECT User, Host, Password FROM mysql.user;

در صورتی که فقط میخواهید ستون user ها را مشاهده کنید، از دستور زیر استفاده کنید.

mysql> SELECT DISTINCT User FROM mysql.user;

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

نحوه ایجاد یک User جدید در MySQL/MariaDB

یک کاربر در مای اسکیول شامل یک username و host name میباشد. برای ایجاد یک کاربر یا یوزر جدید در MySQL دستور زیر را اجرا کنید.

mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';

نکته : مقدار newuser را با نام کاربر جدید مد نظرتان جایگزین کنید.

همچنین مقدار user_password را با پسورد کاربر جایگزین کنید.

در دستور بالا بخش hostname برابر با localhost تعریف شده است که این به این معناست که کاربر قادر به اتصال به سرور دیتابیس MySQL تنها از طریق localhost (سیستمی که دیتابیس MySQL/MariaDB روی آن در حال اجرا میباشد) میباشد.

برای اعطای دسترسی از یک هاست دیگر مقدار hostname را که برابر با localhost است با ip ماشین ریموت جابجا کنید.

به طور مثال:

برای دسترسی از ماشینی با ip آدرس 10.8.0.5 به سرور MySQL خود، شما باید دستور زیر را اجرا کنید.

mysql> CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

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

mysql> CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

اعطای سطوح دسترسی (Grant Privileges) به یک کاربر در MySQL/MariaDB

انواع زیادی از سطوح دسترسی وجود دارد که میتوان به یک کاربر اختصاص داد.

شما میتوانید لیست کاملی از سطوح دسترسی که توسط MySQL پشتیبانی میشود را در اینجا مشاهده کنید.

رایج ترین سطوح دسترسی مورد استفاده :

  • ALL PRIVILEGES : اعطای همه دسترسی ها به یک کاربر
  • CREATE : کاربر مجاز به ایجاد دیتابیس و تیبل ها میباشد
  • DELETE : کاربر مجاز به حذف ردیف ها از یک جدول خاص میباشد
  • UPDATE : کاربر مجاز به آپدیت ردیف های جدول میباشد
  • DROP : کاربر مجاز به حذف دیتابیس و جداول میباشد
  • SELECT : کاربر مجاز به خواندن اطلاعات یک دیتابیس میباشد
  • INSERT : کاربر مجاز به وارد کردن اطلاعات به ردیف ها به یک جدول خاص میباشد

برای اعطای دسترسی خاص به یک کاربر شما میتوانید از ساختار زیر استفاده کنید.

mysql> GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

شما میتوانید به جای permission از سطوح دسترسی که در بالا شرح داده شد، استفاده کنید.

در اینجا یکسری مثال ها را مشاهده میکنید:

اعطای تمام سطوح دسترسی به یک کاربر روی یک دیتابیس خاص

mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

اعطای تمام دسترسی ها به یک کاربر روی همه دیتابیس ها

mysql> GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

اعطای چندین سطوح دسترسی به یک کاربر روی یک دیتابیس خاص

mysql> GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

اعطای همه دسترسی ها به یک کاربر روی یک جدول خاص از یک دیتابیس

mysql> GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

مشاهده سطوح دسترسی یک کاربر در MySQL/MariaDB

برای پیدا کردن سطوح دسترسی که به یک کاربر در MySQL اختصاص داده شده از دستور show grants همانند زیر استفاده میکنیم.

mysql> SHOW GRANTS FOR 'database_user'@'localhost';

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

نحوه لغو دسترسی های یک کاربر در MySQL/MariaDB

ساختار مربوط به لغو یا حذف یک یا چندین پرمیژن از یک کاربر همانند آنچه که در هنگام اعطای پرمیژن بیان کردیم میباشد.

به عنوان مثال :

برای حذف همه پرمیژن های یک کاربر روی یک دیتابیس خاص از دستور زیر استفاده میکنیم.

mysql> REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

نحوه حذف یک کاربر موجود در MySQL/MariaDB

برای حذف یک یوزر در مای اسکیول از دستور drop user استفاده میکنیم.

mysql> DROP USER 'user'@'localhost';

دستور بالا کاربر مورد نظر و پرمیژن هایش را حذف خواهد کرد.

برای حذف چندین کاربر به صورت همزمان در MySQL/MariaDB از دستور زیر استفاده کنید.

mysql> DROP USER 'user1@localhost' 'user2@localhost';

برای مطمئن شدن از حذف کاربر، همانند دستور SELECT User, Host, Password FROM mysql.user که در بالا شرح داده شد، لیست کاربران را مشاهده میکنیم.

آموزش ساخت و تعیین سطح دسترسی یا حذف کاربران در MySQL و MariaDB

امیدواریم مقاله آموزش مدیریت کاربر در پایگاه داده های مای اسکیول و ماریا دی بی مفید بوده باشد.

داتیس نتورک را در شبکه های اجتماعی دنبال کنید.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *