Comment puis-je régler correctement la propriété et les privilèges dans MariaDB (MySQL)?
Je suis en train de configurer un schéma de base de données sur MariaDB qui vient à l'origine de PostgreSQL.
Quelle est la syntaxe correcte dans MariaDB:
ALTER DATABASE mydbname OWNER TO someuser
et similaires pour l'octroi de privilèges:
GRANT ALL PRIVILEGES ON DATABASE mydbname TO someotheruser
Les deux œuvres sur PostgreSQL et est valable SQL-99 de la syntaxe. MariaDB (le PHPMyAdmin frontend) me donne: #1064 - Vous avez une erreur dans votre syntaxe SQL;
OriginalL'auteur Hajo Lemcke | 2014-10-25
Vous devez vous connecter pour publier un commentaire.
Souvent privilèges ne font pas partie de la norme SQL, parce que chaque base de données est-ce à leur propre manière. MySQL et MariaDB n'ont pas de propriétaires de bases de données comme postgresql. Ils ont un privilège systèmes d'autoriser ou de refuser les comptes de certains droits. La deuxième ressemblerait à:
Où l'IDENTIFIÉS est facultatif. Si vous souhaitez accorder l'accès à toutes les tables, comme la plupart le font, vous pouvez utiliser l'astérisque. Réglage de la SUBVENTION, le TOUT sur une base de données spécifique empêche l'utilisateur d'accéder à d'autres objets de schéma. La même chose peut être accompli par la création d'une SUBVENTION de l'UTILISATION ..
Autant que je sache, le moteur de stockage ne pas faire n'importe quoi avec des autorisations, des utilisateurs et des rôles dans MySQL. C'est la tâche de la gestion de base de données de la couche. Il en va de même pour Percona, MariaDB et d'autres produits dérivés de MySQL. Cela signifie que vous pouvez simplement utiliser le manuel MySQL.
OriginalL'auteur Yorick de Wid
Vous pouvez utiliser cette instruction grant dans MariaDB:
GRANT ALL PRIVILEGES ON mydbname.* TO someotheruser
Veuillez trouver MariaDB du manuel à propos de l'instruction grant: https://mariadb.com/kb/en/mariadb/documentation/sql-commands/account-management-sql-commands/grant/
Vous trouverez SQL-99 de la subvention de la syntaxe de l'instruction: https://mariadb.com/kb/en/sql-99/15-authorizationids/grant-statement/ https://mariadb.com/kb/en/sql-99/15-authorizationids/privilege/
MariaDB et MySQL n'ont pas de base de données propriétaire, à la place de la base de données les privilèges sont attribués à l'aide de subventions comme indiqué ci-dessus.
OriginalL'auteur Julian Ladisch