tengo que seleccionar todos los usuarios con privilegios a la base de datos (por ejemplo, la base de datos 'mysql'). ¿Alguna sugerencia? Gracias.Mostrar usuarios con privilegios a la base de datos. MySQL
Respuesta
Busque en la base de datos mysql
(una base de datos real llamada mysql
dentro del servidor mysql, solo para que quede claro). Hay tres tablas (db
, tables_priv
y columns_priv
) donde se almacena la tabla/db/privs columna:
SELECT 'db', User, Host
FROM db
WHERE Db='mydatabase'
UNION
SELECT 'table', User, Host
FROM tables_priv
WHERE Db='mydatabase'
UNION
SELECT 'col', User, Host
FROM columns_priv
WHERE Db='mydatabase'
que debe mostrar lo que necesita.
Una buena vista de todos los usuarios y sus privilegios aproximados. Si hay una contraseña, lo hará mediante una cadena encriptada; si no, este campo está en blanco. Select es un privilegio muy general; insert permite la manipulación de la tabla dentro de una base de datos; el apagado permite cambios importantes en el sistema, y solo debería ser utilizable por root; la capacidad de otorgar permisos está separada de las demás.
SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv
FROM mysql.user
Ver los permisos de las bases de datos individuales.
SELECT user, host, db, select_priv, insert_priv, grant_priv FROM mysql.db
database privileges se almacenan en
mysql.db
table privileges se almacenan en
mysql.tables_priv
column privileges se almacenan en
mysql.columns_priv
routine privileges se almacenan en 012.
Se puede definir un procedimiento almacenado para enumerar los privilegios:
delimiter //
CREATE PROCEDURE list_privileges (IN db_name CHAR(50))
BEGIN
SELECT concat(Db,'.', '*') as 'what', User, Host, '...' as 'perms'
FROM mysql.db
WHERE Db=db_name
UNION
SELECT concat(Db,'.', Table_name), User, Host, table_priv
FROM mysql.tables_priv
WHERE Db=db_name and table_priv != ''
UNION
SELECT concat(Db,'.', Table_name, '(', Column_name,')'), User, Host, Column_priv
FROM mysql.columns_priv
WHERE Db=db_name
UNION
SELECT concat(Db,'.', Routine_name, '()'), User, Host, Proc_priv
FROM mysql.procs_priv
WHERE Db=db_name;
END//
delimiter ;
ejemplo:
mysql> call list_privileges("testlink2");
+-----------------------------+-----------+-----------+---------+
| what | User | Host | perms |
+-----------------------------+-----------+-----------+---------+
| testlink2.* | testlink2 | % | ... |
| testlink2.* | testlink2 | localhost | ... |
| testlink2.executions | testlink2 | % | Select |
| testlink2.users(id) | testlink2 | % | Select |
| testlink2.list_privileges() | testlink2 | % | Execute |
+-----------------------------+-----------+-----------+---------+
5 rows in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
- 1. cómo agregar súper privilegios a la base de datos mysql?
- 2. ¿SELECCIONAR usuarios de la base de datos MySQL por privilegios bitmask?
- 3. usuarios/privilegios de exportación de phpMyAdmin/MySQL para importación posterior
- 4. Revocar todos los privilegios para todos los usuarios en una base de datos MySQL
- 5. Optimizar esta consulta, recuperar a los usuarios de una base de datos MySQL con 500.000 usuarios y uno condicional
- 6. Uso de mysqldump y usuarios de la base de datos
- 7. Conectarse a la base de datos MySQL con RMySQL
- 8. establece permisos en los usuarios mysql con comodín?
- 9. Base de datos de creación de usuarios de Postgres
- 10. Cómo copiar una tabla de una base de datos mysql a otra base de datos mysql
- 11. Error al tirar de la base de datos mysql en la base de datos mysql local
- 12. Cómo tratar con una base de datos de múltiples usuarios
- 13. base de datos con respecto a automóviles - para mysql
- 14. MySQL conceder privilegios a todas las bases de datos, excepto una mesa de
- 15. Cómo otorgar todos los privilegios en vistas a usuarios arbitrarios
- 16. Restauración de una tabla MySQL a la base de datos
- 17. MySQL, descarga, la base de datos a restaurar
- 18. ¿Utiliza la base de datos mysql para autenticar usuarios en Spring security?
- 19. Exportación selectiva de base de datos MySQL
- 20. cómo conectar F # a la base de datos MySQL?
- 21. Conexión a la base de datos MySQL en el servidor
- 22. Crear usuario y base de datos MySQL desde PHP
- 23. IMDB a MySQL: inserte datos de IMDB en la base de datos MySQL
- 24. registro aleatorio de la base de datos MySQL con CodeIgniter
- 25. Cómo conectar la base de datos MySQL con Dart?
- 26. consulta mySQL para contar el número de usuarios únicos que publican en la base de datos
- 27. Mostrar datos de la base de datos SQL en Gridview
- 28. Privacidad y seguridad en la base de datos de usuarios
- 29. Clonar base de datos MySQL
- 30. Rieles, cómo migrar datos de la base de datos de desarrollo sqlite3 a la base de datos de producción MySQL?