Nous construisons une application multi-utilisateur qui a une base de données par client. Toutes les structures de base de données client sont identiques. Actuellement, nous générons un nouvel utilisateur mysql (par client) qui n'a que des privilèges pour travailler sur sa propre base de données.Utiliser des utilisateurs mysql simples ou multiples pour une application SaaS PHP/mysql avec une architecture multi-locataires
par exemple. mysql user1 a des droits sur dbase1. * (database1.alltables), mysql user2 a des droits sur dbase2. *. Nous constatons maintenant qu'il est déjà difficile de se faire décharger sur un autre serveur en tant que sauvegarde (nous n'utilisons pas la réplication mais nous essayons de vider les fichiers de temps à autre mais la base de données information_schema ne peut pas être supprimée.) &
Quoi qu'il en soit, nous nous demandons s'il ne vaudrait pas mieux utiliser 1 utilisateur qui peut accéder à toutes les bases de données client, c'est plus dangereux ou peut-il être utilisé de manière plutôt sécurisée? mieux gérer à coup sûr
merci, c'est un bon conseil, mais nous aurions encore à gérer tous ces comptes d'utilisateurs. Existe-t-il un moyen de le faire avec un seul compte et de garder les choses en sécurité? – Jorre
Eh bien, l'avantage de plusieurs comptes d'utilisateurs est que cela vous donne une autre couche d'isolation - si pour une raison quelconque, une injection SQL est effectuée, tout ce qu'elle peut toucher, ce sont les données d'un seul client. En dehors de cela, vous pourriez théoriquement écrire votre propre couche d'encapsulation pour la base de données qui imposerait l'accès à la base de données du client actuel, ce qui vous donnerait des avantages similaires; vous faites juste confiance à votre codage au lieu de celui de l'équipe MySQL. – Amber