permissões de usuário no MariaDB

1

Eu tenho uma instância do MariaDB 10.1 (teste / instabilidade do Debian GNU / Linux 9). Destina-se a ser um servidor de banco de dados de rede local e nada mais. Para resons além do escopo desta questão, esse servidor não deve hospedar nada a não ser o próprio banco de dados, que deve escutar no endereço IP do servidor (10.7.33.102).

Se eu me conectar ao banco de dados a partir do shell do servidor, tudo está ok:

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

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

O drackmd é o banco de dados que outros hosts precisam usar. Eu tentei ativar o root user para se conectar de outro host com o seguinte comando:

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

Então, do servidor em 10.7.33.107, posso me conectar ao servidor de banco de dados, mas o usuário root parece não ter nenhum tipo de permissão:

[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)

Qual comando devo emitir ao servidor de banco de dados para que root (ou outros usuários) veja todos os bancos de dados e todas as tabelas neles?

    
por Lucio Crusca 14.01.2017 / 11:45

1 resposta

1

Solução Entrei no canal #maria no 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;

Por favor, note a diferença: é um grant all on ... em vez de um grant all PRIVILEGES on... .

    
por 15.01.2017 / 08:32