
عندما نعمل مع قواعد البيانات, يمكن أن يكون لدينا في بعض الأحيان الحاجة إلى بعض الوصول إلى المستخدم البعض منهم, ولعل بينما نحن في تطوير مراحل أما لأننا نحتاج إلى هؤلاء المستخدمين لجعل أو لإنشاء أي نوع من التقارير أو الإحصائيات, ولكن دون وهذا يمكنك تنفيذ أي نوع من تغيير في نفس.
للقيام بذلك, إنه من دواعي سروري إنشاء, في خادم ينترباسي, بيانات المستخدم وبعد فقط أذونات لإجراء المشاورات, تجنب أن يمكن أن تؤدي عمليات الإدراج, تحديثات أو القيام بأي عملية أخرى في قاعدة البيانات في السؤال.
كيفية إضافة مستخدم القراءة فقط لقاعدة بيانات الخلية
أنها شيء تماما بسيطة إنشاء ومنحهم امتيازات من القراءة فقط إلى المستخدم في أحد قاعدة البيانات في الخلية, ودعونا نرى كيف يمكنك القيام بذلك.
للقيام بذلك, الاتصال, من خلال المحطة الطرفية أو وحدة التحكم, لقاعدة بيانات الخلية الخادم الخاص بك باستخدام حساب الذي يسمح لك بإنشاء المستخدمين وتعيين الامتيازات, عادة الجذر أو أي حساب آخر مماثل.
مرة واحدة متصل, ينشئ المستخدم كيف يمكنك أن عادة ما تفعل ذلك:
1 | mysql > CREATE USER 'nombre_usuario'@'%' IDENTIFIED by 'contrasena'; |
كيف يمكنك أن تعرف, يستبدل user_name المستخدم الذي تريد إنشاء, كلمة المرور كلمة المرور التي تريد تعيينها, واعتماداً على نوع الوصول الذي تريد المستخدم هذا, يمكنك ترك % وهذا، أو يمكنك تعيين اسم الملقم أو IP من الذي سوف يسمح هذا مستخدم واحد للاتصال.
مرة واحدة تم إنشاؤها المستخدم, نحن ذاهبون إلى إعطاء الإذن فقط من أجل عمليات التحديد واستنادا إلى البيانات. للقيام بذلك, قم بتشغيل الأمر التالي:
1 | mysql > GRANT SELECT ON *.* TO 'nombre_usuario'@'%'; |
وبهذه الطريقة فإنك تعطي إذن القراءة فقط هذا المستخدم كافة قواعد البيانات خادم, على الرغم من أن يمكنك الحد امتيازات أكثر, ويمكن إعطاء الإذن قاعدة بيانات واحدة, ببساطة بهذه الطريقة:
1 | mysql > GRANT SELECT ON nombre_base_de_datos.* TO 'nombre_usuario'@'%'; |
مرة واحدة إنشاء المستخدم و الامتيازات المعينة, يمكن القيام بالاختبار وهذه تعمل بشكل صحيح. للقيام بذلك, إغلاق الدورة السابقة مع الخادم ويفتح جلسة عمل جديدة مع هذا المستخدم:
1 | $ mysql -u nombre_usuario -p |
مرة واحدة تسجيل الدخول, حدد قاعدة البيانات التي قمت بمنحهم أذونات و اختبار جعل إدراج أو تحديث البيانات الموجودة:
1 2 3 | mysql > USE nombre_base_de_datos; mysql > UPDATE nombre_tabla SET nombre_campo = 'valor_campo' WHERE ID = identificador; ERROR 1142 (42000): UPDATE command denied to user 'nombre_usuario'@'%localhost' for table 'nombre_tabla'; |
كنت على استعداد! يمكنك فقط إنشاء مستخدم جديد في الخاص بك قاعدة بيانات الخلية وكنت قد فعلت لها فقط امتيازات من القراءة فقط, تجنب جعل هذا نوعا من التغيير في قواعد البيانات التي لديك حق الوصول.
