
Tengo una instancia de MariaDB 10.1 (Debian GNU/Linux 9 pruebas/inestable). Está destinado a ser un servidor de base de datos de red local y nada más. Por razones que van más allá del alcance de esta pregunta, ese servidor no debe alojar nada más que la propia base de datos, que debe escuchar en la dirección IP del servidor (10.7.33.102).
Si me conecto a la base de datos desde el shell del servidor, todo está bien:
root@datangshan:~# mysql
[...]
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| drackmd |
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
Es drackmd
la base de datos que otros hosts necesitan usar. Intenté permitir que root
el usuario se conecte desde otro host con el siguiente comando:
grant all privileges on `*`.`*` to 'root'@'10.7.33.107' identified by 'secret' with grant option;
Luego, desde el servidor en 10.7.33.107, puedo conectarme al servidor de base de datos, pero el root
usuario parece carecer de algún tipo de permiso:
[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)
¿Qué comando debo emitir al servidor de base de datos para que root
(u otros usuarios) vean todas las bases de datos y todas las tablas que contienen?
Respuesta1
Solución que obtuve en el #maria
canal de 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;
Tenga en cuenta la diferencia: es un grant all on ...
en lugar de un grant all PRIVILEGES on...
.