Red de conocimiento informático - Aprendizaje de programación - ¿Qué debo hacer si aparece el error 28 del motor de almacenamiento?

¿Qué debo hacer si aparece el error 28 del motor de almacenamiento?

Revisé la base de datos de forma rutinaria por la mañana y encontré el error 28 del motor de almacenamiento. Dios mío, mis datos. Mi corazón se siente frío. . . .

El momento de la copia de seguridad fue todavía hace mucho tiempo. Ha habido muchas actualizaciones recientemente y está causando muchos problemas.

Afortunadamente, encontré una solución:

La partición está llena de archivos de registro, lo que hace que MySQL muera Cómo borrar el archivo de registro de MySQL

2011-. 06-07 21 :33

Entorno: mysql5.1.50

La opción log-bin=mysql-bin en el archivo de configuración está activada

La de un amigo El sitio web de repente solicitó index.php para la conexión de la base de datos. Falla y llámame.

Pensé que podría ser que mysql estuviera muerto, así que lo reinicié con el comando, pero apareció el mismo mensaje de error. Luego hice un df y descubrí que la partición /usr estaba llena. Pensé que debía ser el motivo del archivo de registro. Busqué en el directorio de archivos de la base de datos y encontré varios gigabytes y más de 10 archivos de registro mysql-bin.000015. Quería eliminarlos, pero no lo hice. Por el bien de la seguridad de los datos, será mejor que los busque. una solución segura en línea.

La solución es la siguiente:

1. Limpié el software tar en /usr/local y lo moví a otra ubicación.

2. Con más de 180 M de espacio restante, puede iniciar mysql

reinicio del servicio mysqld

3. Ingrese la ejecución de mysql:

mysql> show master logs; //Ver registros

mysql> reset master; //Eliminar todos los registros binarios enumerados en el archivo de índice, restablecer el archivo de índice de registro binario a vacío y crear un nuevo binario. archivo de registro

4. Cerrar sesión en /etc/my.cnf

# log-bin=mysql-bin se utiliza para generar archivos de registro binarios

Si no hay un servidor esclavo, cierre sesión #server-id = 1 también

5 Simplemente reinicie el servicio mysql

===Extensión===== ====. =============================================== ==== ==============

Nota: Para eliminar registros, también puede utilizar PURGAR REGISTROS MAESTROS

PURGAR REGISTROS {MASTER | BINARIO} A ' log_name'

PURGAR REGISTROS {MASTER | BINARY} ANTES de 'fecha'

Se utiliza para eliminar todos los registros binarios enumerados en el índice de registros antes del registro o fecha especificados. Estos registros también se eliminan de la lista registrada en el archivo de índice de registros para que el registro proporcionado sea el primero.

Por ejemplo:

PURGAR REGISTROS MAESTROS A 'mysql-bin.010′;

PURGAR REGISTROS MAESTROS ANTES de '2003-04-02 22:46: 26 ′;

El argumento de fecha de la variable ANTES puede tener el formato 'AAAA-MM-DD hh:mm:ss'. MAESTRO y BINARIO son sinónimos.

Si tiene un servidor esclavo activo que actualmente está leyendo uno de los registros que está intentando eliminar, esta declaración no funcionará y generará un error. Sin embargo, si el esclavo está inactivo y usted borra uno de los registros que desea leer, el esclavo no podrá replicarse después de iniciarse. Esta declaración se puede ejecutar de forma segura mientras el servidor esclavo se está replicando. No es necesario que los detengas.

Para borrar los registros, siga estos pasos:

1. En cada servidor esclavo, utilice MOSTRAR ESTADO DEL ESCLAVO para verificar qué registro está leyendo.

2. Utilice MOSTRAR REGISTROS MAESTROS para obtener una serie de registros en el servidor maestro.

3. Determine el registro más antiguo entre todos los servidores esclavos. Este es el registro de destino. Si todos los servidores esclavos están actualizados, este es el último registro de la lista.

4. Haga una copia de seguridad de todos los registros que eliminará. (Este paso es opcional, pero se recomienda).

5. Limpie todos los registros, pero no el registro de destino.

13.6.1.2. Sintaxis de RESET MASTER

RESET MASTER

Puede eliminar todos los registros binarios enumerados en el archivo de índice y restablecer el archivo de índice de registro binario a Vacío. y cree un nuevo archivo de registro binario.

de: /?p=1155

El proyecto está a punto de ponerse en línea y la base de datos MySQL utilizada hoy de repente arrojó una excepción:

2011-12 -24_14 :06:47.524 ADVERTENCIA o.h.util.JDBCExceptionReporter - Error de SQL: 1030, SQLState: HY000

2011-12-24_14:06:47.524 ERROR o.h.util.JDBCExceptionReporter - Obtuve el error 28 del motor de almacenamiento

Después de buscar en línea, algunos dijeron que el tmp de mysql está lleno. ¡Espera, lo verifiqué y no está lleno! Algunas personas quieren cambiar la configuración de MySQL... Busqué en varios lugares y encontré el mismo artículo una y otra vez. ¡Ay, estoy decepcionado!

Pero sentí que la idea debería ser correcta, así que revisé el espacio en disco y descubrí que el directorio raíz estaba lleno

[root@twap /]#

[root@twap /]# df -h

Capacidad del sistema de archivos utilizada disponible % punto de montaje usado

/dev/sda5 9.5G 5.2G 0 100% /

/dev/sda3 48G 3.3G 42G 8% /var

/dev/sda2 73G 44G 26G 64% /data0

/dev/sda1 965M 25M 891M 3% /boot

tmpfs 1.8G 0 1.8G 0% /dev/shm

ninguno 1.8G 104K 1.8G 1% /var/lib/xenstored

[ root@twap /]#

Después de la limpieza:

[root@twap /]#

[root@twap /]# df -h

Capacidad del sistema de archivos utilizada, disponible, % de punto de montaje utilizado

/dev/sda5 9.5G 5.2G 3.9G 57% /

/dev/sda3 48G 3.3G 42G 8% /var

/dev/sda2 73G 44G 26G 64% /data0

/dev/sda1 965M 25M 891M 3% /arranque

tmpfs 1.8G 0 1.8G 0% /dev/shm

ninguno 1.8G 104K 1.8G 1% /var/lib/xenstored

[root@twap /]#

ok, el problema está solucionado!

de: /s/blog_7d31bbee0100yjw3.html

Estadísticas sobre el tamaño de una carpeta en Linux

du -sh ./