Red de conocimientos sobre prescripción popular - Como perder peso - Eliminar mysql. ibd,. Antes de descartar la tabla, elimine los archivos ibdata1, ib_logfile0 e ib_logfile1. Luego reconstruya la mesa. ¿Alguna pregunta?

Eliminar mysql. ibd,. Antes de descartar la tabla, elimine los archivos ibdata1, ib_logfile0 e ib_logfile1. Luego reconstruya la mesa. ¿Alguna pregunta?

Cómo reconstruir la tabla sin datos.

. desde y. ibd se puede utilizar para restaurar tablas InnoDB en lotes.

Crear una estructura de tabla perdida

Primero debes instalar mysql-utilities.

// RedHatyum -y install MySQL-server mysql-utilities//debian apt install MySQL-utilities

Usa mysqlfrm desde. archivo frm.

//Analiza un archivo .frm para generar la declaración de creación de tabla MySQL frm-diagnostic/var/lib/MySQL/test/t 1. frm//Todos los análisis. El archivo frm en un directorio genera una declaración de creación de tabla root @ nombre de usuario: ~ # MySQL frm-diagnostic/var/lib/MySQL/my _ createtb SQL root @ nombre de usuario: ~ # grep "^create table" createtb.sql |wc. - l124

Puedes ver que a * * * generó 124 declaraciones de creación de tablas.

Muchas veces, las declaraciones de creación de tablas se pueden generar desde otras bibliotecas, como otras bases de datos para la aplicación o diferentes entornos de prueba. El siguiente mysqldump se utiliza para generar declaraciones de creación de tablas:

mysqldump. -no-data-compact my_db gt;createtb.sql

Inicie sesión en MySQL para generar la tabla.

mysql gt crea la base de datos my_dbmysql gt usando my_dbDatabase modificadamysql gtsource createtb.sqlLa consulta es normal, 0 filas se ven afectadas (0,07 segundos)...

Importar archivo de datos antiguo

Descartar los recién creados. Archivo ibd sin datos.

root @ nombre de usuario:/var/lib/MySQL/my _ db # ll *IBD | WC 12411167941 root @ nombre de usuario:/var/lib/MySQL/my _ db # MySQL-e " mostrar tablas de mi_db"\|grep-v? tabla en mi base de datos? \|Al leer a; haga mysql -e "ALTER TABLE my_db. $a descartar el espacio de tabla"; hecho root @ nombre de usuario:/var/lib/MySQL/my_db #ll *. ibd|wcls: No se puede acceder a '*'. 'ibd': No existe tal archivo o directorio 000

Puedes verlos todos. El archivo idb ha sido descartado. Luego copia el anterior. ibd y no olvides cambiar el propietario: chown mysql. *, y luego importe estos archivos de datos a la base de datos.

root @ nombre de usuario:/var/lib/MySQL/my_db # MySQL -e " mostrar tablas de mi _ db " \ | grep -v? tabla en mi base de datos? \|Al leer un;\do mysql -e "Modificar tabla my_db.

$a import tablespace"; completado

Lista después de completar la importación

Utilice mysqlcheck para verificar todas las tablas en la base de datos my_db:

root@nombredeusuario:/ var/lib/MySQL/my _ db # MySQL check-c my _ dbmy _ db . CDP _ backup _ point OK......

Todas las tablas se han importado correctamente

.