He visto el deseo de un archivo más pequeño ibdata llegar últimamente en elforums.mysql.com
La base de datos innodb utiliza el archivo de ibdata (s) para almacenar los datos de la base de datos en el disco. Cómo configurar el sistema correctamente es clave y se puede obtener más información sobre estas opciones aquí:http://dev.mysql.com/doc/refman/5.6/en/innodb-configuration.html
InnoDB proporciona un motor compatible con ACID y almacenamiento seguro de transacciones, es muy productiva, pero si va a eliminar y / o sustitución de datos, a menudo, tendrá que recuperar el espacio perdido en el tiempo. ¿Cuánto tiempo depende de su sistema y su uso. No se puede ejecutar un solo comando y recuperar espacio en un archivo ibdata.Tomará unos pasos y no es un trabajo detrás de la escena, a menos que hacer en el servidor esclavo. Si usted tiene un esclavo que lo mejor es hacer este trabajo sobre la base de datos esclavo primero y luego planificar para girar el servidor de base de datos para convertirse en la base de datos master.
Así que en dos situaciones diferentes, éstas no son las únicas soluciones, pero algunas soluciones:
- Usted quiere mantener la ibdata presentar el mismo tamaño, pero sólo quiere limpiar el espacio perdido
- Copia de seguridad de la base de datos
mysqldump --user=<username> --password=<> --add-drop-database --master-data=2 --triggers --routines --events --databases (list database names and do not add mysql to this list) > /Just_AN_example/mysqldump_<DATEHERE>_.sql
- Esto le da una copia ASCII en caso de corrupción binario.
- También dispone de datos maestros a través de un comentario si es necesario.
- Esto mantendrá su autenticación mysql en el tacto también.
- Me gustaría guardar la base de datos mysql como vertedero separado.
- También puede crear una copia de seguridad con MySQL Enterprise Backup oPercona XtraBackup , si el sistema era un db más grande y necesitaba copias de seguridad en línea éstas son buenas opciones. Hasta que el que se utiliza por varias razones.
- Suma de comprobación a su base de datos.
- Reúna algunos números de lo que tiene para que pueda compararlo cuando se carga de nuevo.
- Esto se puede hacer con el Kit de herramientas de Percona
# ./pt-table-checksum --password=<Password> > checksum_before_dump.txt
- Una consulta puede escribir usted mismo.
- Tengo un blog sobre esto, así
- Stop / Start de la base de datos y aprovechar este tiempo de inactividad para las variables de sólo lectura que desea ajustar
- Cargar la base de datos back
- ¿Quieres ir a innodb_file_per_table y reducir el tamaño del archivo de ibdata
- Siga los pasos 1 a 2 en el proceso mencionado anteriormente.
- En el paso 4 del procedimiento anterior tendrá que agregar lo siguiente al archivo my.cnf.
- Elimine el archivo ibdata y registros.
- No volver a este punto
- Inicie la base de datos
- Confirme que está en marcha
- Cargar la base de datos de copia de seguridad.
Esto, por supuesto, sería mejor hacerlo en un servidor que no sea de producción / esclavo para que pueda confirmar todos los pasos y se consigue a una situación viable y gire el esclavo a ser el nuevo maestro.