Sé que un volcado SQL es una serie de instrucciones SQL insertadas que reflejan todos los registros dentro de la base de datos. Pero, ¿para qué se usa? ¿Por qué deberíamos volcar los registros de la base de datos? ¿Admite cada base de datos una función de dumping?¿Para qué sirve sql-dump?
Respuesta
De forma un tanto extraña, esta es la forma habitual de hacer una copia de seguridad de una base de datos. Copiar los archivos en sí que contienen los datos no es el método habitual de copia de seguridad, por varias razones complicadas.
Todas las bases de datos funcionan de esta manera, o al menos nunca he oído hablar de una que no: todas tienen la posibilidad de exportar un montón de código SQL que, cuando se ejecute, recreará la base de datos en el mismo estado Fue en cuando se inició el vertedero.
Sin embargo, estos diversos formatos son generalmente incompatibles, debido a diferencias sutiles entre los diferentes dialectos de SQL utilizados por los diferentes sistemas de bases de datos. Hay utilidades que pueden convertir algunas de ellas, pero no conozco ninguna 'Rosetta Stone' que maneje todos los casos posibles.
Además de ser el método principal para realizar copias de seguridad de una base de datos, esta técnica también es útil al organizar los datos de las aplicaciones de db entre diferentes servidores, es decir, desde el desarrollo hasta las pruebas de producción.
mysqldump produce una representación SQL de los datos para una o más tablas o bases de datos. Como el formato es SQL, se ejecutará en cualquier otro servidor MySQL, independientemente de la arquitectura o la versión principal/secundaria (obviamente, las vistas no funcionarán en 4.x etc., pero en su mayoría es compatible con versiones anteriores).
Hay otra herramienta, mysqlhotcopy, pero como esta herramienta produce archivos binarios, están vinculados a la máquina en la que se han generado y no se pueden usar en ningún otro lado. SQL tiene la ventaja de ejecutarse en cualquier servidor MySQL y ser independiente del mecanismo subyacente de almacenamiento de archivos de la (s) base (s) de datos.
Los dos casos de uso principales para el vertido de SQL son:
- Copia de seguridad de los datos de base de datos. El SQL se puede leer ("reproducir") en un servidor de base de datos vacío y volverá a crear las tablas y rellenarlas con filas.
- Migrando los datos a otro servidor. Digamos que está actualizando de MySQL 5.0 a 5.1. Tienes dos máquinas. Utiliza mysqldump para producir un volcado de SQL en la máquina 5.0 y alimentarlo en 5.1.
Hay algunos usos menos comunes. Por ejemplo, se puede tomar una instantánea de SQL de la base de datos de su aplicación para probar la unidad con un estado conocido. También es posible transformar el código SQL en otro dialecto, p. PostgeSQL o SQLite, para transferir sus datos a otra base de datos.
Ha preguntado si otras bases de datos proporcionan la funcionalidad de volcado de SQL. La respuesta es sí en casi todos los casos. PostgreSQL proporciona pg_dump, SQLite tiene un comando .dump
, etc.
- 1. ¿Para qué sirve SDKDDKVer.h?
- 2. ¿Para qué sirve PowerShell?
- 3. ¿Para qué sirve UnmanagedMemoryStream?
- 4. ¿Para qué sirve ApplicationDomain.domainMemory?
- 5. Cakephp, ¿para qué sirve?
- 6. ¿Para qué sirve Automapper?
- 7. ¿Para qué sirve memcache.hash_strategy?
- 8. System.Web.Abstractions: ¿para qué sirve?
- 9. ¿Para qué sirve __path__?
- 10. ¿Para qué sirve Clojure?
- 11. ¿Para qué sirve pushState?
- 12. ¿Para qué sirve generator.throw()?
- 13. ¿Para qué sirve Enum?
- 14. ¿Para qué sirve AnyVal.types?
- 15. ¿Para qué sirve cURL?
- 16. ¿Para qué sirve ASP.NET MVC?
- 17. ¿Para qué sirve org.springframework.orm.hibernate3.support.BlobByteArrayType?
- 18. ¿Para qué sirve el operador "==="?
- 19. Oficialmente, ¿para qué sirve typename?
- 20. ¿para qué sirve ~~ en javascript?
- 21. ¿Para qué sirve WS-Addressing?
- 22. ¿Para qué sirve este código?
- 23. ¿Para qué sirve `type_info :: before`?
- 24. Meta Programación, ¿para qué sirve?
- 25. Lucene SpanQuery: ¿para qué sirve?
- 26. ¿Qué es JSR y para qué sirve?
- 27. query_cache_min_res_unit; ¿Qué es y para qué sirve?
- 28. Para qué sirve Page.LoadComplete (en la práctica)
- 29. ¿Para qué sirve la propiedad .NET Control.Margin?
- 30. ¿Para qué sirve la búsqueda exhaustiva?