with password identified ejemplo create all mysql database-connection database-permissions

password - mysql privileges



Conexión abierta sql en modo de solo lectura (3)

Esta pregunta sale por curiosidad. Busqué en Google para esto, pero no obtuve una pista.

Supongamos que un usuario tiene acceso completo de lectura / escritura a la base de datos MySQL. Me pregunto, ¿hay alguna forma (algún parámetro en la cadena de conexión) de conectarse a la base de datos con el mismo nombre de usuario y contraseña en modo de solo lectura?

Quiero esto sin cambiar los permisos de este usuario porque el mismo usuario puede requerir permiso de escritura también en otro momento. Esto sería útil (si es posible) para evitar la modificación accidental de la base de datos.


Dependiendo de su caso de uso y del control que tenga, puede hacer que el código de llamada "establezca solo la transacción" inmediatamente después de la conexión, o utilizar el parámetro --init-command en connect. Esto funcionó para un caso de uso de prueba que tenemos,

Aquí está el documento de transacción establecido: https://dev.mysql.com/doc/refman/5.7/en/set-transaction.html , de manera similar, también puede configurarlo como una variable de sesión si eso hace una diferencia https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_transaction_read_only .


La mejor solución aquí es crear otra cuenta en el servidor mysql con permisos de solo lectura y conectarse utilizando eso.