Probablemente la mayoría de vosotros trabajéis con bases de datos MySQL y tengáis scripts personalizados para hacer copias de seguridad de las mismas. Por ello, y por si os fuera de utilidad os dejo esta línea de comandos que hace un dump de todas las bases de datos de un servidor MySQL separadas en ficheros .sql independientes.
for DB in `mysql -e "show databases" -u USUARIO -pPASSWORD | grep -v Database`; do mysqldump -u USUARIO -pPASSWORD $DB > "$DB.sql"; done
Como podéis ver es bastante sencillo, hacemos un bucle con la salida del comando “show databases” que vuelca por pantalla todas las bases de datos del servidor, eliminamos la única línea que no nos interesa (la que contiene Database) y vamos haciendo una a una la copia de seguridad de cada una de las bases de datos con mysqldump. Únicamente tendréis que modificar el usuario y clave con el que conectar al servicio.
Si dispones de acceso a la shell mysql, una forma sencilla de clonar una tabla de una base de datos, tanto su estructura como contenido es la siguiente:
mysql> CREATE TABLE tabla_destino SELECT * FROM tabla_origen;
A través del fichero de configuración MySQL my.cnf (Linux) my.ini (Windows) podemos establecer ciertas directivas que se aplicarán a los clientes que se conecten al servicio MySQL. Estas directivas han de configurarse dentro de la sección [client].
Antes de nada, hay que asegurarse que el fichero my.cnf solamente tenga lectura y escritura para el propietario:
-rw------- 1 root root 310 may 26 2008 my.cnf
Algo muy interesante y que nos ahorra tiempo es la opción de configurar que cuando nos conectamos como cliente al servidor MySQL no nos pida contraseña, para ello añadimos las siguientes opciones en la sección [client] del my.cnf:
[client]
user = my_user
password = my_password
port = 3306
host = localhost
Simplemente estableced el usuario, la clave, el puerto y el host desde el que queréis conectaros (en mi caso en local), reiniciad el servicio SQL y ya podréis acceder sin escribir la clave al cliente MySQL, ejemplo:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7496
Server version: 5.0.81-community MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Otra forma es creando un fichero en nuestra $HOME con el nombre .my.cnf y que contenga estas directivas:
# cat /root/.my.cnf
[client]
user="xxxx"
pass="xxxx"
Comentarios recientes