MySQL es un sistema de gestión de bases de datos relacionales de código abierto multiplataforma. Es la base de datos más económica y asequible que utilizamos habitualmente. Debido a su pequeño tamaño, alta velocidad y bajo costo total de propiedad, permite a los usuarios. Para obtener los resultados más prácticos, es cierto que muchos usuarios no saben mucho sobre los principios de autorización en las aplicaciones. Analicémoslo para todos. MySQL es un sistema de gestión de bases de datos relacionales de código abierto multiplataforma. Es la base de datos más económica y asequible que utilizamos habitualmente. Debido a su pequeño tamaño, alta velocidad y bajo costo total de propiedad, permite a los usuarios. Para obtener los resultados más prácticos, es cierto que muchos usuarios no saben mucho sobre los principios de autorización en las aplicaciones. Analicémoslo para todos.
Situación de reinicio del servidor
Cuando se inicia mysqld, todo el contenido de la tabla de concesiones se lee en la memoria y se vuelve efectivo a partir de ese momento.
Cuando el servidor lo aplica inmediatamente
El servidor notará inmediatamente las modificaciones a la tabla de autorización usando GRANT, REVOKE o SET PASSWORD.
Modificación directa del formulario de autorización
Si modifica las tablas de concesión manualmente (usando INSERT, UPDATE, etc.), debe ejecutar una instrucción FLUSH PRIVILEGES o ejecutar mysqladmin Flush-privileges para indicarle al servidor que vuelva a cargar las tablas de concesión; de lo contrario, los cambios no tendrán efecto a menos que reinicie. el servidor.
Impacto en las conexiones de clientes existentes
Cuando el servidor nota que se ha cambiado la tabla de autorización, las conexiones de cliente existentes tienen los siguientes efectos:
·Los permisos de tablas y columnas entran en vigor en la siguiente solicitud del cliente.
·Los cambios en los permisos de la base de datos entrarán en vigor en el siguiente comando USE db_name.
·Los cambios de permisos globales y de contraseña entran en vigor la próxima vez que el cliente se conecte.
Principio de delegación
No importa cuán cuidadoso sea, inevitablemente dejará lagunas al autorizar a los usuarios. Espero que el siguiente contenido pueda brindarle ayuda. En general, debe cumplir con estas reglas.
Sólo el usuario root tiene derecho a reescribir la tabla de autorización.
No otorgue el derecho de reescribir la tabla de autorización a otros usuarios excepto al usuario raíz (por supuesto, si puede usar otro usuario para reemplazar al usuario raíz para la administración, para aumentar la seguridad). Debido a esto, los usuarios pueden anular los permisos existentes sobrescribiendo la tabla de autorización. Crea agujeros de seguridad.
Normalmente no puedes cometer este error, pero después de instalar una nueva distribución, tabla de autorización inicial. Esta vulnerabilidad existe y usted puede cometer errores si no comprende el contenido del formulario de autorización en este momento.
En Unix (Linux), después de instalar MySQL según las instrucciones del manual, debe ejecutar el script mysql_install_db para establecer la base de datos mysql, incluida la tabla de autorización y los permisos iniciales. En Windows, ejecute el programa de instalación en la distribución para inicializar el directorio de datos y la base de datos MySQL. Se supone que el servidor también se está ejecutando.
Cuando instala MySQL por primera vez en su máquina, las tablas de autorización en la base de datos MySQL se inicializan de esta manera:
·Puedes conectarte como root desde localhost sin especificar una contraseña. El usuario root tiene todos los derechos (incluidos los derechos administrativos) y puede hacer cualquier cosa. (Por cierto, el superusuario de MySQL y el superusuario de Unix tienen el mismo nombre y no tienen nada que ver entre sí).
·Se concede acceso anónimo a los usuarios que pueden conectarse localmente a la base de datos denominada prueba y a cualquier nombre de base de datos que comience con prueba_. Los usuarios anónimos pueden hacer cualquier cosa con la base de datos pero no tienen derechos administrativos.
Generalmente, se recomienda eliminar registros de usuarios anónimos:
mysql> BORRAR DEL usuario DONDE Usuario="";
Yendo un paso más allá, elimine también los usuarios anónimos en otras tablas de autorización, las tablas con columnas de Usuario son db, table_priv y columns_priv.
También establezca una contraseña para el usuario root.
Acerca de la configuración de usuario, contraseña y host
·Utilice contraseñas para todos los usuarios de MySQL.
Recuerde, si otro_usuario no tiene una contraseña, cualquiera puede iniciar sesión como cualquier otra persona simplemente con mysql -u otro_usuario db_name. Para aplicaciones cliente/servidor, es una práctica común que el cliente especifique cualquier nombre de usuario. Antes de ejecutarlo, puede cambiar las contraseñas de todos los usuarios, o solo la contraseña raíz de MySQL, editando el script mysql_install_db, de esta manera:
shell> mysql -u raíz mysql
mysql> ACTUALIZAR usuario SET Contraseña=CONTRASEÑA('nueva_contraseña')
-> DONDE usuario='raíz';
mysql> VACIAR PRIVILEGIOS;