Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
mysqldump guía practica



mysqldump es parte de los "MySQL Client Programs" programas de cliente de MySQL, que puede ser utilizado para generar respaldos de bases de datos y ser usados o incluso para ser transferidos a otro servidor de base datos SQL (No estrictamente tiene que ser un servidor MySQL).
En este guía práctica de LinuxTotal aprenderás (por ejemplos) los usos y opciones más comunes de este potente comando de MySQL.

Uso básico

Tres formas básicas de invocar mysqldump son posibles:
1) mysqldump [opciones] nombre_bd [nombre_tabla1 nombre_tabla2 ...] > respaldo.sql
2) mysqldump [opciones] --databases nombre_bd1 nombre_bd2 > respaldo.sql
3) mysqldump [opciones] --all-databases > respaldo.sql
1) respalda una sola base de datos, indicando su nombre, y opcionalmente una o más tablas de la misma base de datos. Si no se indican tablas, se respaldan todas.
2) respalda una o más bases de datos de forma completa, no se pueden indicar tablas individuales de esta manera.
3) respalda de forma completa todas las bases de datos del servidor MySQL de forma completa, no se pueden indicar tablas individuales de esta manera.
En todos los casos se indica que la salida del comando, es decir, el vaciado del respaldo se guarde en el archivo llamado "respaldo.sql", este archivo es el resultado final, lo que puede utilizarse después para restaurar una base de datos (véase ejemplos más adelante).

Opciones más comunes

mysqldump es un comando con decenas de opciones, para verlas todas utiliza la ayuda en línea que se proporciona a través de --help
mysqldump --help
Lo anterior muestra las posibles opciones específicas de la versión de MySQL que utilices asi que pueden variar con respecto a la siguiente lista:
mysqldump OPCIONES MÁS COMUNES
OpciónCortoDescripción
--add-drop-database Añade la sentencia 'DROP DATABASE' antes de cada sentencia 'CREATE DATABASE'
--add-drop-table Añade la sentencia 'DROP TABLE' antes de cada sentencia 'CREATE TABLE'
--all-databases -A Respalda todas las tablas de todas las bases de datos.
--comments -i Añade comentarios en el archivo de respaldo. Esta opción está por defecto activada, para desactivar los comentarios utiliza --skip-comments.
--compatible=nombre Produce una salida más compatible con otros sistemas de bases de datos o versiones anteriores de MySQL. nombre puede tomar estos valores: ansi, mysql323, mysql40, postgresql, mssql, oracle, db2, maxdb.
--complete-insert -c Usa sentencias INSERT completas que incluyen nombres de columnas.
--create-options Incluye todas las opciones específicas de MySQL para la creación de tablas que se usan con la sentencia 'CREATE TABLE'.
--databases -B Permite respaldar una o más bases de datos. Después de la opción se indica(n) el(los) nombre(s) de la(s) base de datos a respaldar. Se respalda cada base de datos completa. En la salida se incluye con esta opción las sentencias 'CREATE DATABASE' y 'USE' antes de cada nueva base de datos.
--extended-insert -e Usa la sentencia 'INSERT' con el formato de múltiples registros con varias listas de 'VALUES'. Esto produce una salida más reducida y acelera el proceso de INSERTS cuando el archivo es restaurado. Ideal para bases de datos con tablas que contienen miles de registros.
--force -f Si se tienen views o vistas en la base de datos a respaldar y la vista hace referencia a una tabla que ya no existe, el vaciado del respaldo terminará con un error sin completarse. Con esta opción se podrá continuar.
--host=nombre -h nom Se realiza el respaldo de el servidor MySQL indicado por nombre, puede ser una dirección IP o un nombre de servidor válido. Si no se especifica el default es localhost.
--ignore-table=bd.tabla Si no se desea respaldar una tabla en específico se utiliza esta opción, es obligario indicar la base de datos un punto y después nombre de la tabla. Si son varias tablas las que se han de ignorar se usa esta opción múltiples veces. También puede usarse para ignorar vistas.
--master-data Si el respaldo viene de un servidor MySQL que actua como maestro en una esquema de replicación, el uso de esta opción es muy importante ya que incluira sentencias del tipo "CHANGE MASTER TO" que indican la posición en los archivos de bitácora binarios necesarios para que los servidores esclavos se sincronicen adecuadamente.
--no-create-db -n Esta opción suprime las sentencias "CREATE DATABASE" que por defecto se incluyen en el respaldo.
--no-data -d No escribe o respalda registro alguno solo el esquema de la base de datos.
--opt Esta opción esta por defecto activada, produce un vaciado rápido y totalmente compatible con otros servidores MySQL. Es un alias que activa las opciones --add-drop-table, --create-options, --extended-insert, entre otras.
--password[=pass] -p[pass] La contraseña para conectarse al servidor indicado en la opción --host. Si usas la opción corta p no debe haber un espacio. Es posible no indicar la contraseña y después de presionar la tecla intro se preguntará por esta.
--port=num -P num Si servidor indicado en la opción --host utiliza un puerto diferente al default del servicio mysql (3306) debe de indicarse con esta opción.
--quick -q Va de la mano con la opción --single-transaction ya que aplica principalmente para tablas grandes y del tipo transaccional. Permite agilizar la escritura al archivo de respaldo al leer registro por registro sin mandarlo a un buffer previo.
--quote-names -Q Opción por defecto activada. Pone entre comilla grave "`" a los nombres de los objetos como base de datos, tablas, columnas. Es recomendable dejarla siempre para evitar problemas de compatibilidad, pero si se desea desactivar utiliza la opción --skip-quote-names
--routines -R Incluye en el respaldo rutinas almacenadas (procedimientos y funciones). Con esta función se incluyen las sentencias "CREATE PROCEDURE" Y "CREATE FUNCTION" que permiten re-crear completamente procedimientos almacenados y funciones. Esta opción NO esta por defecto en mysqldump asi que es motivo de sorpresa para DBA's nuevos enterarse que el respaldo en el que tanto confiaban no está completo al momento de necesitarlo, sino utilizaron esta opción.
--single-transaction Opción útil solo con tablas transaccionales como las del tipo InnoDB, ya que garantiza la integridad y la consistencia sin bloquear las tablas. Esto lo logra al emitir una sentencia "START TRANSACTION" antes de vaciar los datos al respaldo.
--skip-opt Desactiva la opción por defecto --opt, con lo que se tienen que indicar individualmente las opciones a las que --opt hace referencia.
--triggers Incluye triggers creados en el respaldo. Esta opción es automática, esta por defecto, sino se quiere utilizar el respaldo de triggers utiliza --skip-triggers
--user=nombre -u nom El nombre de usuario de MySQL para conectarse al servidor indicado en la opción --host.
--verbose -v Modo verboso. Imprime información de lo que está haciendo el respaldo, usa doble -v -v para modo aun más verboso.
--xml -X En vez de un respaldo por defecto formateado con sentencias SQL, esta opción ofrece una salida en un formato XML bien formado.

Ejemplos de uso de mysqldump

Respaldo de una sola base de datos completa
mysqldump clientes > clientes.sql   

Respaldo de una sola base de datos con dos tablas
mysqldump clientes saldos facturas  > clientes.sql   

Respaldo completo de base de datos clientes y ventas
mysqldump --databases clientes ventas > respaldo_cli_ven_sep_2011.sql   

Respaldamos la base de datos clientes pero ignoramos las tablas 'temporal' y 'basura' (Obligatorio indicar base.tabla)
mysqldump clientes --ignore-table=clientes.temporal --ignore-table=clientes.basura > respaldo_clientes_2011.sql   

Respaldo completo de todas las bases de datos
mysqldump --all-databases > respaldo_full_sep_2011.sql   

Si se tiene contraseña (como debe ser) se indica usuario y que pregunte por el password
mysqldump -u root -p --all-databases  > respaldo_full_sep_2011.sql   

No muy buena idea, pero se puede indicar el password directamente, además nos aseguramos que se indiquen las opciones por defecto más comunes
mysqldump -u root -psecreto --all-databases --opt  > respaldo_full_sep_2011.sql   

Respaldo de una base de datos transaccional tipo InnoDB o BDB asegurando su consistencia
mysqldump -u root -p --single-transaction --quick ventas  > respaldo_ventas_2011.sql   

Todas las bases de datos del host 192.168.0.100 y agregamos los procedemientos almacenados que sean respaldados también.
mysqldump -h 192.168.1.100 -u root -p --routines --all-databases  > respaldo_ventas_2011.sql   

Respaldo de las bases de datos clientes y pedidos, con todas las opciones específicas para re-crear las tablas, además añadimos 'drop database' para asegurarnos que en la restauración se creé desde cero el respaldo, además ignoramos errores..

mysqldump -u root -p --create-options --add-drop-database --force --databases clientes pedidos  > respaldo_ven_ped_2011.sql   

Respaldo completo de un servidor MySQL maestro en replicación, indicando en el respaldo la posición para sincronización con servidores esclavos, además añadimos insertar completos que incluyen los nombres de columnas en sentencias INSERT

mysqldump -u root --password=secreto --all-databases --master-data  --complete-insert  > respaldo_2011.sql   

Respaldamos solo el esquema de clientes sin registros

mysqldump --no-data clientes > respaldo_esquema_clientes_2011.sql   

Se produce una salida compatible para restaurar la base de datos en Oracle

mysqldump --compatible=oracle --databases clientes > respaldo_clientes_oracle_2011.sql 
 

mysqldump con gzip

Al mismo tiempo que realizamos el respaldo podemos comprimirlo para ahorrar espacio en nuestros respaldos.
mysqldump -u root -p --all-databases | gzip > respaldo_2011.sql.gz
Para descomprimir lo anterior y dejar el archivo listo para la restauración en si utiliza gunzip
gunzip respaldo_2011.sql.gz

Restaurando el respaldo

Hay varias maneras de lograr la restauración del respaldo. Con el comando mysql:
mysql -u root -p < respaldo.sql
Si se utilizó gzip para comprimir el respaldo, se puede descomprimir y restaurar en una sola línea:
gunzip < respaldo.sql.gz | mysql -u root -p
Si el respaldo contiene una sola base de datos y no contiene sentencias 'drop database' y 'create database', se puede entonces indicar la base de datos donde se debe realizar la restauración:
mysql -u root -p clientes < respaldo_clientes.sql
Lo anterior (cuando ya existe la base de datos) también se puede lograr con el comando mysqlimport
mysqlimport -u root -p clientes respaldo_clientes.sql
Es posible también utilizar la opción "-e" (execute) de mysql, que permite ejecutar un archivo con sentencias SQL, y un respaldo es exactamente eso, un largo script con sentencias SQL para recrear esquema y datos:

mysql -u root -p -e "source /ruta/a/respaldo.sql"

.

15dias (4) agenda 2023 (1) Algo que leer (269) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Astro (1) Banner (1) Base de datos (38) Batalla Cultural (5) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (3) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (4) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (10) cosmo (2) Criptomonedas (3) Cultura (1) Cursos (16) Darkweeb (3) Data Mining (1) Debian (18) Deep Learning (2) DeepWeb (7) demografia (9) Deporte y Recreación (9) Deportes (10) desclasificados (8) Desktop (1) developers (1) DevOps (1) Docker (12) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Empleos (1) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Fisica (1) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) Flutter (1) framework (3) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (2) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (22) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (58) java eclipse (4) javaScript (9) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (39) kernel (2) Kotlin (1) Laravel (2) Latin (1) lecturas (2) LIbreOffice (1) Libros (4) Linux (49) Linux VirtualBox (1) Literatura (1) Machine Learning (2) Manuales (42) mariaDB (2) Markdown (4) Marketing (1) Matando ladilla (9) Matematicas (3) Matematricas (1) Math (1) maven (1) metodos https (1) MkUltra (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (22) MySQL Workbench (1) Nagios (2) Naturismo (1) NextJS (2) node (5) Node.js (6) NodeJS (10) NoSQL (1) npm (1) Oracle (11) Oracle sql (10) Php (4) PL/SQL (2) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (5) Política (1) Postgresql (14) PowerShell (1) programacion (88) Psicologia (11) Python (7) React (4) Recomiendo (1) Redes (31) Redis (2) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (18) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (12) SQL (4) SQL en postgreSQL (44) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Tensorflow (4) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by

Moleculax es un blog de ciencia, biología, astronomía, tecnología y reflexiones sobre el futuro de la humanidad. Explora ideas innovadoras, descubrimientos científicos y conocimientos que inspiran la curiosidad y la imaginación. ¿Cómo saber si te han bloqueado en WhatsApp?, ¿COMO PROGRAMAR?, דודו פארוק, ¿QUES ES estructurada,modular, MongoDBSpain CheetSheet, ORIENTADA A OBJETOS?, Bases de datos estáticas, base de datos dinamicas bases de datos nosql, estructuras de base de datos, Bases de datos de texto completo, base de datos gerarquicas HTML, CSS, XML, JavaScript, mysql, oracle, postgresql, C, C#, php, java, python, liderazgo, libros, books, informix, ¿COMO REPARAR PAQUETES ROTOS EN DEBIAN?, REPARAR paquetes ROTOS ubuntu gerencia, COMO APRENDER laravel, ACTIVAR wifi en CANAIMA, exotics, exoticas, COMO APRENDER MONGODB, agapornio, agapomis, seguros, ganar dinero, bitcoin, freeBitcoin invertir en bolsa, marketing online, ofertas de coches Описание Блога Moleculax Moleculax — это цифровое эссе, в котором структурированное мышление встречается с глубокой интроспекцией. Наш блог исследует архитектуру знаний: от технических тонкостей разработки программного обеспечения до этических основ и философии. Ключевые Темы: Разработка и Технологии: Программирование, базы данных (SQL, NoSQL), Big Data, Node.js, Java. Наука и Мышление: Астрономия, биология, научные открытия, а также такие философские направления, как Стоицизм. Этика и Будущее: Размышления о развитии человечества, моральные принципы в технологиях и этические вызовы. Наша миссия: Развивать интеллект, который не только решает проблемы, но и предотвращает их с мудростью. Moleculax 是一个关于科学、生物学、天文学、技术以及人类未来思考的博客。它探索创新的理念、科学发现和能够激发好奇心与想象力的知识。 如何知道你在 WhatsApp 上被拉黑?如何编程? דודו פארוק,什么是结构化、模块化、面向对象?MongoDBSpain 速查表,静态数据库、动态数据库、NoSQL 数据库、数据库结构、全文数据库、层次型数据库。 HTML、CSS、XML、JavaScript、MySQL、Oracle、PostgreSQL、C、C#、PHP、Java、Python,领导力、书籍、Informix。如何修复 Debian 中损坏的软件包?修复 Ubuntu 损坏的软件包,管理,如何学习 Laravel,如何在 Canaima 激活 WiFi,异域、奇异,如何学习 MongoDB,爱情鸟、保险、赚钱、比特币、FreeBitcoin、投资股票市场、网络营销、汽车优惠。 Moleculax 博客描述: Moleculax 是一篇数字随笔,在这里结构化的思维与深刻的自省相遇。我们的博客探索知识的架构:从软件开发的技术细节到伦理基础与哲学。 核心主题: - 开发与技术:编程、数据库(SQL、NoSQL)、大数据、Node.js、Java。 - 科学与思维:天文学、生物学、科学发现,以及诸如斯多葛主义等哲学流派。 - 伦理与未来:关于人类发展的思考、技术中的道德原则与伦理挑战。 我们的使命:培养一种不仅能解决问题,而且能以智慧预防问题的智能。