Las bases de datos MySQL juegan un papel integral en muchos sistemas informáticos, especialmente cuando se trata de alojamiento web y servicios de Internet. Con todos esos datos valiosos confiados a la base de datos, es esencial hacer copias de seguridad y es importante saber cómo administrar el servidor de la base de datos. MySQL incluye dos poderosas herramientas para estas tareas: “mysqldump” y “mysqladmin”. Como su nombre indica, el primero es para copias de seguridad y el otro para administración. Dominar estos dos comandos es fundamental si desea convertirse en un administrador de MySQL competente.
copias de seguridad
los mysqldump
El comando crea un archivo de instrucciones SQL que, cuando se ejecuta, recreará las mismas tablas y datos que están en la base de datos. Se puede utilizar como método de copia de seguridad o como una forma sencilla de copiar una base de datos de un servidor a otro. También puede crear resultados como valores separados por comas (CSV), o incluso en XML. Dado que la salida resultante es un archivo de texto de instrucciones SQL, los administradores tienen la flexibilidad de ver y modificar el archivo de volcado.
Para volcar una sola tabla en una base de datos, use mysqldump de la siguiente manera:
mysqldump -u root -p testdb tablename
Donde «testdb» es el nombre de la base de datos y «tablename» es el nombre de la tabla que desea volcar. La opción «-u» especifica qué usuario de MySQL usar durante el volcado y «-p» le dice a mysqldump que obtenga la contraseña de forma interactiva (es decir, deberá escribir la contraseña cuando se le solicite). El usuario necesita tener acceso de lectura a la base de datos que se está volcando (técnicamente, el usuario necesita los privilegios SELECT, SHOW VIEW, TRIGGER y LOCK TABLES). El usuario «raíz» normalmente se configura (junto con una contraseña) durante la instalación del servidor MySQL.
La salida se enviará directamente a la consola. Para enviar la salida a un archivo y especificar la contraseña en la línea de comando (útil para los scripts de copia de seguridad), utilice:
mysqldump -u root --password='secret' testdb tablename > testdb_table_backup.sql
Donde «secreto» es la contraseña para el usuario root y tablename es el nombre de la tabla que desea respaldar. Debe reemplazar «_table_» en el nombre del archivo con el nombre real de la tabla. El archivo resultante «testdb_table_backup.sql» contendrá todas las instrucciones SQL necesarias para recrear la tabla.
Puede proporcionar más de un parámetro de tabla para hacer una copia de seguridad de varias tablas o, si lo omite por completo, se volcará toda la base de datos. Por ejemplo:
mysqldump -u root --password='secret' testdb > testdb_backup.sql
El archivo resultante «testdb_backup.sql» contendrá un volcado de todas las tablas en la base de datos.
Para volcar más de una base de datos, debe usar el --databases
opción. Por ejemplo:
mysqldump -u root --password='secret' --databases testdb testdb2 > testbd_testdb2_backup.sql
Para hacer una copia de seguridad de todas las tablas de todas las bases de datos en el servidor MySQL, use el «--all-databases
» opción:
mysqldump -u root --password='secret' --all-databases > all_dbs.sql
Administración
La herramienta mysqladmin se usa para realizar tareas administrativas, incluida la verificación de la configuración y el estado actual del servidor, y para crear y eliminar bases de datos, etc. Para crear una base de datos llamada «testdb», use:
mysqladmin -u root -p create testdb
Las opciones “-u” y “-p” funcionan igual que con el comando mysqldump.
Para eliminar una base de datos junto con todas sus tablas, use el subcomando «soltar»:
mysqladmin -u root -p drop testdb
Después de confirmar la eliminación de la base de datos, esta, junto con todas sus tablas, se eliminará del servidor.
El comando mysqadmin también puede recuperar varias estadísticas del servidor MySQL. Pruebe los subcomandos «status» y «extended-status». La solicitud de estado más simple es el comando «ping» que verifica si el servidor está activo. Aquí hay un ejemplo de cómo usarlo:
mysqladmin -u root --password='secret' ping
Puede obtener información detallada sobre el comando mysqldump en la página de documentación de MySQL Un programa de respaldo de base de datosy lo mismo para el comando mysqladmin desde el Cliente para administrar un servidor MySQL página.
Si tiene alguna pregunta con respecto a los ejemplos dados anteriormente, pregunte en la sección de comentarios a continuación.