Grant na kilka baz danych. MySQL


Jak zapewnić dostęp do wielu baz danych? MySQL.
Raczej
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON 'databasesprefix%'.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wystarczy użyć cudzysłowów wstecz zamiast cudzysłowów wokół prefiksu nazwa_db.
Myślę, że to zadziała:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE
ON `databasesprefix%`.*
TO testuser@localhost IDENTIFIED BY 'testpasswd';
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Twój przykład powinien działać. z

podręczniki (5.5)
http://dev.mysql.com/doc/refman/5.5/en/grant.html
:

Symbole wieloznaczne „_” i „%” są dozwolone podczas określania nazw baz danych w instrukcjach GRANT, które przyznają uprawnienia na poziomie globalnym lub na poziomie bazy danych.

z
%
, który odpowiada dowolnej liczbie (nawet zerowej) znaków, oraz
_
, który odpowiada dokładnie jednemu znakowi. jeśli chcesz umieścić
_
w nazwie swojej bazy danych, musisz zmienić jego znaczenie jako
\ _
.
<

UPDATE

& > jak wskazuje inna odpowiedź: jeśli nazwa bazy danych zawiera symbole wieloznaczne, należy ją cytować

cytat znak
http://dev.mysql.com/doc/refma ... .html
, backtick (“`”) </

UPDATE

>

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się