نحوه نمایش کاربران در MySQL و اطلاعات کاربر با استفاده از لینوکس

سرور پایگاه داده MySQL اغلب اولین انتخاب برای توسعه دهندگان و هر کسی است که علاقه مند به آزمایش یک زبان پرس و جو ساختاریافته است. MySQL دارای ویژگی های متعددی است که آن را قابل اعتماد، ایمن و کارآمد می کند.

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

این آموزش توضیح می دهد که چرا باید حساب های کاربری MySQL جداگانه ایجاد کنید و چگونه از MySQL استفاده کنید نمایش کاربران فرمان روی VPS لینوکس شما.

چرا کاربران در MySQL Server ایجاد کنیم؟

هر زمان که کاربران یا مدیران پایگاه داده MySQL را نصب می کنند، اولین کاربری که ایجاد می شود کاربر ریشه است – مدیر MySQL. کاربر ریشه اجازه انجام همه کارها را خواهد داشت روی پایگاه داده MySQL

در حالی که داشتن همه مجوزها می تواند مفید به نظر برسد، انجام این کار با نقص های امنیتی خاص خود همراه است و اشتراک گذاری کاربر ریشه بین چندین نفر خطرناک است. هکرها اغلب سعی می کنند به عنوان کاربر اصلی وارد سیستم شوند و اطلاعات میزبانی شده را بدزدند یا حتی کل سرور MySQL را در کنار داده های آن از بین ببرند.

بنابراین، مدیران سیستم کاربرانی را با مجوزهای خاص ایجاد می کنند روی برخی از پایگاه های داده به عبارت دیگر، اگر اعتبار یک حساب به خطر بیفتد، تأثیر آن حداقل و قابل مدیریت خواهد بود.

روش نمایش کاربران در پایگاه داده MySQL روی لینوکس

برخلاف دستورات SHOW DATABASES یا SHOW TABLES که همه پایگاه‌های داده یا جداول را بلافاصله نمایش می‌دهند، دستور SHOW USERS در MySQL وجود ندارد. حتی اگر چنین دستوری وجود نداشته باشد، کاربران می توانند از پرس و جوی MySQL استفاده کنند و لیست کاملی از کاربران را در سرور پایگاه داده MySQL دریافت کنند.

برای اطلاعات بیشتر مراحل زیر را دنبال کنید.

1. به عنوان کاربر ریشه MySQL وارد شوید

با ورود به VPS از طریق SSH به عنوان کاربر اصلی شروع کنید. پس از انجام این کار، خط فرمان MySQL را با این دستور وارد کنید:

sudo mysql -u root -p

سپس رمز عبور ریشه MySQL خود را وارد کنید.

پیشنهاد می‌کنیم بخوانید:  برچسب های وردپرس چیست و چگونه از آنها به درستی استفاده کنیم

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

هنگامی که شما در MySQL هستید console به عنوان کاربر اصلی، می توانید پرس و جوهایی را برای نمایش سایر کاربران MySQL اجرا کنید.

2. از MySQL SHOW USERS Query استفاده کنید

برای نشان دادن کاربران MySQL ایجاد شده در سرور پایگاه داده از پرس و جو زیر استفاده کنید:

SELECT user FROM mysql.user;

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

نتیجه پرس و جو MySQL همه کاربران ایجاد شده در پایگاه داده MySQL را نمایش می دهد.نتیجه پرس و جو MySQL همه کاربران ایجاد شده در پایگاه داده MySQL را نمایش می دهد.

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

شما همچنین می توانید یک را اضافه کنید host ستون برای دیدن اطلاعات بیشتر با استفاده از دستور زیر:

SELECT user,host FROM mysql.user;

با این کار می توانید کاربران MySQL و کدام را ببینید host یا آدرس IP که آنها اجازه دسترسی دارند. در مورد ما، همه کاربران از یک پایگاه داده محلی هستند:

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

3. اطلاعات بیشتر کاربر MySQL (اختیاری) را ببینید

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

به عنوان مثال، دستور زیر تمام اطلاعات ممکن را از جدول کاربر چاپ می کند:

SELECT * FROM mysql.user;
پرس و جو MySQL که تمام اطلاعات ممکن را از جدول پایگاه داده MySQL نشان می دهدپرس و جو MySQL که تمام اطلاعات ممکن را از جدول پایگاه داده MySQL نشان می دهد

با این حال، چنین خروجی ممکن است بیش از حد کثیف به نظر برسد. بنابراین، توصیه می کنیم با استفاده از پرس و جوهای خاص تر، جستجو را محدود کنید.

در اینجا چند مورد از محبوب ترین موارد استفاده آورده شده است:

پیش نمایش ستون های جدول

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

DESC mysql.user
پرس و جو MySQL برای پیش نمایش ستون های جدول کاربر.پرس و جو MySQL برای پیش نمایش ستون های جدول کاربر.

نمایش فقط نام های کاربری منحصر به فرد

برای پرش از تکرار نام های کاربری، می توان از پرس و جو زیر استفاده کرد:

SELECT DISTINCT user FROM mysql.user;
پرس و جو MySQL برای نمایش فقط نام های کاربری منحصر به فرد در پایگاه داده MySQL داده شده.پرس و جو MySQL برای نمایش فقط نام های کاربری منحصر به فرد در پایگاه داده MySQL داده شده.

انقضای رمز عبور و وضعیت قفل شدن حساب

برای بررسی وضعیت انقضای رمز عبور و وضعیت قفل شدن حساب، از این پرس و جو استفاده کنید:

SELECT user, account_locked, password_expired FROM mysql.user;
پرس و جو MySQL برای نشان دادن انقضای رمز عبور و وضعیت قفل شدن حساب.پرس و جو MySQL برای نشان دادن انقضای رمز عبور و وضعیت قفل شدن حساب.

نمایش کاربران ثبت‌شده فعلی و فعلی

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

کاربر فعلی را می توان با پرس و جو زیر نمایش داد:

SELECT current_user();
پرس و جو MySQL برای نمایش کاربر فعلی.پرس و جو MySQL برای نمایش کاربر فعلی.

اگر به اطلاعات بیشتری نیاز دارید، می توانید پرس و جو را تغییر دهید تا کاربرانی که در حال حاضر وارد سیستم شده اند را با وضعیت آنها نمایش دهید. این دستور برای یافتن کاربران بیکار که از منابع زیادی استفاده می کنند مفید است.

SELECT user,host, command FROM information_schema.processlist;
پرس و جو MySQL کاربرانی را که در حال حاضر وارد سیستم شده اند همراه با وضعیت آنها نشان می دهد.پرس و جو MySQL کاربرانی را که در حال حاضر وارد سیستم شده اند همراه با وضعیت آنها نشان می دهد.

نتیجه

مدیریت یک سرور پایگاه داده می تواند کار چالش برانگیزی باشد. بنابراین، مدیران پایگاه داده باید در هنگام ایجاد و مدیریت مجوزهای کاربر مراقب باشند.

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

برای جمع بندی، ما اصول اولیه روش نشان دادن کاربران MySQL را که به یک پایگاه داده متصل هستند پوشش داده ایم و یاد گرفته ایم که چگونه:

  • همه کاربران ایجاد شده در پایگاه داده MySQL را فهرست کنید
  • پیش نمایش ستون های جدول پایگاه داده MySQL
  • فقط نام های کاربری منحصر به فرد را در یک جدول نمایش دهید
  • انقضای رمز عبور و وضعیت قفل شدن حساب را بررسی کنید
  • نمایش کاربران فعلی و وارد شده در حال حاضر در پایگاه داده MySQL

امیدواریم این آموزش برای شما مفید بوده باشد. اگر سؤال یا دیدگاه دیگری دارید، در بخش نظرات زیر با ما در میان بگذارید.

درباره سیستم های مدیریت پایگاه داده بیشتر بدانید

DBMS چیست: راهنمای کامل
روش نصب phpMyAdmin روی CentOS 7
روش نصب MongoDB روی اوبونتو
آپاچی کاساندرا: آموزشی برای مبتدیان
روش نصب PostgreSQL روی اوبونتو
روش نصب phpMyAdmin روی اوبونتو
روش نصب PostgreSQL روی CentOS 7

MySQL Show Users FAQ

چگونه می توانم همه کاربران MySQL و رمزهای عبور را ببینم؟

پرس و جوی SQL زیر را انجام دهید:
mysql> انتخاب کاربر، رمز عبور، host از mysql کاربر
این پرس و جو لیستی از کاربران، نام کاربری، رمز عبور و پایگاه داده آنها را نشان می دهد host.

چگونه کاربران را در MySQL MariaDB نشان دهم؟

با کلاینت mysql به عنوان کاربر ریشه وارد سرور MariaDB/MySQL خود شوید. پرس و جو زیر را تایپ کنید:
$ mysql -u root –p
یا
$ mysql –u root –h localhost – p mysql

کاربران در کجای MySQL ذخیره می شوند؟

MySQL کاربران را در جدول کاربر در پایگاه داده ذخیره می کند.