كيفية منح امتيازات المستخدم في Google Cloud MySQL

عند إنشاء حساب مستخدم جديد في قاعدة بيانات Google Cloud MySQL، فإنه يتمتع بنفس الامتيازات التي يتمتع بها المستخدم الجذر. لذلك، من الجيد تقييد امتيازات المسؤول لمستخدم MySQL الجديد بامتداد REVOKE
الأمر ومنح امتيازات المستخدم المطلوبة بشكل صريح مع GRANT
إفادة.
يمكنك استخدام MySQL Workbench أو Sequel Pro للاتصال بقاعدة بيانات Cloud SQL الخاصة بك باستخدام ملف root
مستخدم. تأكد من أن قاعدة البيانات الخاصة بك تحتوي على عنوان IP عام وأنه تمت إضافة عنوان IP لجهاز الكمبيوتر الخاص بك كشبكة معتمدة في علامة التبويب “الاتصالات” في وحدة تحكم قاعدة البيانات الخاصة بك.
SHOW GRANTS FOR db_user
إذا كان مستخدم MySQL الخاص بك يتمتع بامتيازات الجذر، فسيُخرج البيان ما يلي:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'db_user'@'%' WITH GRANT OPTION
كخطوة أولى، يمكنك إلغاء جميع الامتيازات من حساب المستخدم. يمكنك إما تحديد أذونات فردية، مفصولة بفواصل، ولكن بما أن المستخدم الجذر لديه العديد من الامتيازات، فيمكننا إلغاءها جميعًا ومنح الامتياز المطلوب في بيان آخر.
REVOKE ALL PRIVILEGES, GRANT OPTION FROM db_user
بعد ذلك، نطلب من الخادم إعادة تحميل الامتيازات من جداول المنح في مخطط نظام MySQL.
FLUSH PRIVILEGES
وأخيرا، منح الامتيازات المطلوبة للمستخدم. في حالتنا، يجب أن يكون المستخدم قادرًا فقط على قراءة الصفوف وإدراجها وعرضها وحذفها من جميع الجداول في قاعدة بيانات معينة.
GRANT SELECT, UPDATE, INSERT, DELETE ON db_name.* TO db_user
قم بتنفيذ بيان Flush Privileges مرة أخرى لتطبيق التغييرات.
FLUSH PRIVILEGES
يمكنك أيضًا تشغيل عبارة SHOW GRANTS للتحقق من تطبيق الامتيازات الصحيحة على المستخدم.
SHOW GRANTS FOR db_user