2009-05-20 29 views

Respuesta

0

usted tiene un par de opciones, como yo lo veo:

  • apagado mysqld, el demonio que las conexiones que se establezcan las bases de datos. Esto tiene la desventaja de evitar el acceso a todas las bases de datos de MySQL en esa computadora.

  • Mueva el archivo o cambie los permisos de acceso a él, para que solo su usuario pueda trabajar con él. (No tengo idea de si esto funcionará.) Los archivos de la base de datos se encuentran en algún lugar como /var/lib/mysql. ¡No olvide que cuando termine de cambiarlos, vuelva a utilizar algo con lo que mysqld podrá trabajar!

¡Buena suerte!

11

Al parecer, se puede utilizar el comando FLUSH para este como tal:

> FLUSH TABLES WITH READ LOCK;

y luego TABLAS

> UNLOCK;

para desbloquear la base de datos de nuevo. No está seguro de si alguna configuración debe establecerse en las tablas para permitir un readlock. Puede probar esto tratando de hacer una inserción manual después de que la base de datos esté bloqueada y si recibe un mensaje de error acerca de la tabla que está siendo bloqueada, usted sabe que funcionó.

More information on FLUSH command

+1

Esta es la respuesta correcta. Usamos esto para crear instantáneas de bases de datos completas para crear nuevos esclavos de replicación. – Evert

+0

Tuve que arreglar el enlace (la línea MySQL 6.0 se eliminó a favor de un ciclo de publicación diferente, como se explica en http://lists.mysql.com/packagers/418). He hecho que el enlace apunte a los documentos para 5.7, que es actualmente la versión más reciente disponible. Aparte de eso, un gran +1: Esto es lo que (la mayoría) de las respuestas de SO deberían ser: concisas, precisas e incluyendo un puntero a recursos confiables para aquellos que quieran profundizar en el tema. –

0

Si se lo puede permitir detener el servidor durante el tiempo de mantenimiento, detener el demonio y reconfigurarlo para no escuchar las conexiones de red. Solo permite conexiones a través de un socket UNIX local.

Luego, inicie sesión localmente en la misma máquina, ya sea físicamente o mediante SSH. Mientras nadie más tenga acceso a la máquina, esto garantizará que estés solo. Cuando termine, restaure el archivo de configuración original y reinicie el daemon.

Un enfoque diferente sería desactivar temporalmente todas las cuentas de usuario pero "raíz" (o lo que sea que use para hacer su mantenimiento) para la base de datos particular. Sin embargo, esto tiene el inconveniente de interferir realmente con los datos de la cuenta, lo cual es un poco más arriesgado que solo prevenir conexiones de red.

Cuestiones relacionadas