شرح صفوف ومحتوى الفقرة
على خلاف الأنظمة التي تكتفي باسم المستخدم وحده، يعرّف خادم MySQL 8 هوية كل حساب كزوج متلازم يتكون من اسم المستخدم واسم المضيف بالصيغة القياسية 'user_name'@'host_name'. ولهذا فإن الحساب 'shop_app'@'localhost' والحساب 'shop_app'@'10.0.1.25' يُعدان حسابين منفصلين تماماً في جدول النظام mysql.user:
'user'@'localhost': يطابق الاتصالات المحلية الصادرة من نفس الخادم فقط.'user'@'10.0.1.%': يستخدم رمز المطابقة%لتقييد الاتصال بخوادم التطبيق الواقعة ضمن الشبكة الفرعية الداخلية10.0.1.xحصراً.'user'@'%': يسمح بالاتصال من أي عنوان IP (شائع في بيئات الحاويات السحابية ويجب حمايته بجدار ناري وشبكة خاصة).SELECT USER(), CURRENT_USER();: تعرض دالةUSER()الهوية التي أرسلها العميل عند الاتصال، بينما تعرضCURRENT_USER()الحساب الفعلي المسجل في جدول الصلاحيات الذي طابق الجلسة.
+--------------------+--------------------+
| client_connection | matched_account |
+--------------------+--------------------+
| root@localhost | root@localhost |
+--------------------+--------------------+
SQL
SELECT USER() AS client_connection,
CURRENT_USER() AS matched_account;
SELECT User, Host, plugin, account_locked
FROM mysql.user
ORDER BY User, Host;