2009-06-03 31 views

Respuesta

25

ver http://dev.mysql.com/doc/refman/5.0/en/external-locking.html

cita:

Si ejecuta varios servidores que utilizan el mismo directorio de base de datos (no se recomienda), cada servidor debe tener habilitado el bloqueo externo.

Realmente solo tiene que ver con los peligros que presentan los múltiples procesos que acceden a los mismos datos. En muchas situaciones DBMS, desea bloquear la tabla/fila antes de realizar una operación, y luego desbloquearla. Esto es para evitar posibles daños a los datos.

Editar: ver http://dev.mysql.com/doc/refman/4.1/en/news-4-0-3.html Cita

Renombrado --skip-bloqueo a --skip-external-locking.

+0

Gracias - pero eso es skip_external_locking - Me gustaría saber si 'skip-locking' es lo mismo, y si es necesario en el archivo de configuración porque ya es un valor predeterminado? – Richard

+0

editado. solo fue un cambio de nombre –

+2

Gracias de nuevo, así que para resumir, la fila 'saltar-bloquear' del archivo de configuración se puede eliminar porque a) está desactualizada, la variable ha cambiado de nombre. b) ese comportamiento es el predeterminado de todos modos – Richard

0

Una nota adicional para cualquier persona que no sigue el enlace proporcionado por @ Jonathan Fingland:
8.7.4. External Locking

Esta opción sólo se aplica a las tablas MyISAM.

Como indicó Richard, el bloqueo externo está deshabilitado por defecto. Debe habilitar el bloqueo externo si usa myisamchk para operaciones de escritura o si usa myisampack para empaquetar tablas.

A partir de los documentos:

Si utiliza myisamchk para realizar las operaciones de mantenimiento de tablas de MyISAM tablas, debe asegurarse de que el servidor no está en ejecución, o que el servidor ha permitido bloqueo externo para que bloquea los archivos de tabla según sea necesario para coordinar con myisamchk el acceso a las tablas. Lo mismo es cierto para el uso de myisampack para empaquetar tablas MyISAM.

Si utiliza myisamchk para operaciones de escritura como la reparación o tablas de optimización, o si utiliza myisampack para empacar tablas, se debe siempre garantizar que el servidor mysqld no se está utilizando la tabla. Si no se detiene mysqld, al menos debe hacer una mysqladmin flush-tables antes de ejecutar myisamchk. Sus tablas pueden dañarse si el servidor y myisamchk acceden a las tablas simultáneamente.