права доступа пользователя в MariaDB

права доступа пользователя в MariaDB

У меня есть экземпляр MariaDB 10.1 (Debian GNU/Linux 9 testing/unstable). Он предназначен для работы в качестве локального сетевого сервера базы данных и ничего более. По причинам, выходящим за рамки этого вопроса, этот сервер не должен размещать ничего, кроме самой базы данных, которая должна прослушивать IP-адрес сервера (10.7.33.102).

Если я подключаюсь к базе данных из оболочки сервера, то все в порядке:

root@datangshan:~# mysql
[...]
MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| drackmd            |
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

Это drackmdбаза данных, которую должны использовать другие хосты. Я пробовал разрешить rootпользователю подключаться с другого хоста с помощью следующей команды:

grant all privileges on `*`.`*` to 'root'@'10.7.33.107' identified by 'secret' with grant option;

Затем с сервера по адресу 10.7.33.107 я могу подключиться к серверу БД, но у rootпользователя, похоже, нет каких-то прав:

[email protected]:~# mysql -h 10.7.33.102 -p
Enter password: 
[...]
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

Какую команду мне следует ввести на сервере БД, чтобы он root(или другие пользователи) увидели все базы данных и все таблицы в них?

решение1

Решение я нашел на #mariaканале IRC:

drop user 'root'@'10.7.33.107';
drop user 'root'@'%';
flush privileges;
grant all on `*`.`*` to 'root'@'10.7.33.107' identified by 'secret' with grant option;

Обратите внимание на разницу: это a grant all on ...вместо a grant all PRIVILEGES on....

Связанный контент