copia de seguridad de la base de datos mysql (mysqldump)

comando mysqldump para hacer una copia de seguridad de los datos

mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql

Ejemplos de operaciones comunes de Mysqldump

1. Haga una copia de seguridad de todos los datos y estructuras de la base de datos.

mysqldump -uroot -p123456 -A > /data/mysqlbackup/mydb.sql

2. Haga una copia de seguridad de la estructura de todas las bases de datos (agregue el parámetro -d)

mysqldump -uroot -p123456 -A -d > /data/mysqlbackup/mydb.sql

3. Haga una copia de seguridad de todos los datos de la base de datos (agregue el parámetro -t)

mysqldump -uroot -p123456 -A -t > /data/mysqlbackup/mydb.sql

4. Haga una copia de seguridad de los datos y la estructura de una única base de datos (nombre de la base de datos mydb)

mysqldump -uroot-p123456 mydb > /data/mysqlbackup/mydb.sql

5. Haga una copia de seguridad de la estructura de una única base de datos.

mysqldump -uroot -p123456 mydb -d > /data/mysqlbackup/mydb.sql

6. Haga una copia de seguridad de los datos de una única base de datos.

mysqldump -uroot -p123456 mydb -t > /data/mysqlbackup/mydb.sql

7. Haga una copia de seguridad de los datos y estructuras de varias tablas (los métodos de copia de seguridad separados para datos y estructuras son los mismos que los anteriores)

mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlbackup/mydb.sql

8. Haga una copia de seguridad de varias bases de datos a la vez

mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlbackup/mydb.sql

Restaurar el contenido de la copia de seguridad de MySQL

1. En la línea de comando del sistema, ingrese lo siguiente para restaurar:

mysql -uroot -p123456 < /data/mysqlbackup/mydb.sql

2. Después de iniciar sesión en el sistema mysql, use el comando fuente para buscar el archivo en el sistema correspondiente y restaurarlo:

mysql> source /data/mysqlbackup/mydb.sql

Tareas programadas para realizar copias de seguridad

En Linux, los scripts BASH se suelen utilizar para escribir el contenido que debe ejecutarse y el comando crontab se ejecuta periódicamente para realizar la generación automática de registros.
La función del siguiente código es hacer una copia de seguridad de mysql. Junto con crontab, el contenido de la copia de seguridad son los registros diarios de la base de datos mysql del último mes (31 días).
Escriba BASH para mantener una cantidad fija de archivos de respaldo

En Linux, use vi o vim para escribir el contenido del script y asígnele el nombre: mysql_dump_script.sh

#!/bin/bash
#保存备份个数,备份31天数据
number=31
#备份保存路径
backup_dir=/root/mysqlbackup
#日期
dd=`date +%Y%m%d_%H%M%S`
#备份工具
tool=mysqldump
#用户名
username=root
#密码
password=TankB214
#将要备份的数据库
database_name=edoctor
#如果文件夹不存在则创建
if [ ! -d $backup_dir ];
then     mkdir -p $backup_dir;
fi
#简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql
$tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql
#写创建备份日志
echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt
#找出最早生成的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
#判断现在的备份数量是否大于$number
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`if [ $count -gt $number ]
then
#删除最早生成的备份,只保留number数量的备份
rm $delfile
#写删除文件日志
echo "delete $delfile" >> $backup_dir/log.txt
fi

El significado principal del código anterior es el siguiente:

1. Primero configure varios parámetros, como el número, el número máximo del que se realizará la copia de seguridad, la ruta de la copia de seguridad, el nombre de usuario, la contraseña, etc.

2. Ejecute el comando mysqldump para guardar el archivo de respaldo e imprima la operación en log.txt en el mismo directorio para marcar el registro de operaciones.

3. Defina los archivos que deben eliminarse: use el comando ls para obtener la novena columna, que es la columna del nombre del archivo, y luego defina el archivo que debe eliminarse con la última hora de operación.

4. Defina la cantidad de copias de seguridad: use el comando ls más wc -l para contar la cantidad de líneas en archivos que terminan en sql.

5. Si el archivo excede el tamaño límite, elimine el archivo SQL creado más antiguamente.

Utilice crontab para ejecutar scripts de respaldo con regularidad

En Linux, las tareas ejecutadas periódicamente generalmente son manejadas por el demonio cron [ps -ef|grep cron]. cron lee uno o más archivos de configuración, que contienen líneas de comando y sus tiempos de llamada. El archivo de configuración cron se llama "crontab", que es la abreviatura de "tabla cron".

servicio cron

Cron es una herramienta de ejecución programada en Liunx que puede ejecutar trabajos sin intervención manual.

# 启动服务
service crond start
# 关闭服务
service crond stop
# 重启服务
service crond restart
# 重新载入配置
service crond reload
# 查看服务状态 
service crond status

sintaxis de crontab

El comando crontab se utiliza para instalar, eliminar o enumerar las tablas utilizadas para controlar el proceso cron en segundo plano. El usuario coloca la secuencia de comandos que deben ejecutarse en el archivo crontab para su ejecución. Cada usuario puede tener su propio archivo crontab. El archivo crontab en /var/spool/cron no se puede crear ni modificar directamente. El archivo crontab se crea mediante el comando crontab.

Cómo ingresar el comando y la hora a ejecutar en el archivo crontab. Cada línea de este archivo incluye seis campos, los primeros cinco campos especifican la hora en que se ejecuta el comando y el último campo es el comando que se ejecutará. Utilice espacios o tabulaciones para separar cada campo.

El formato es el siguiente:

minute hour day-of-month month-of-year day-of-week commands 

Valores legales 00-59 00-23 01-31 01-12 0-6 (0 es domingo) Además de los números, hay varios símbolos especiales: "*", "/" y "-", "," , * Representa todos los números dentro del rango de valores, "/" significa cada, "/5" significa cada 5 unidades, "-" significa de un número determinado a un número determinado, "," separa varios números discretos. -l muestra el crontab actual en la salida estándar.
-r elimina el archivo crontab actual.
-e Edite el archivo crontab actual usando el editor al que apunta la variable de entorno VISUAL o EDITOR. Cuando termine de editar y salga, los archivos editados se instalarán automáticamente.

Crear secuencia de comandos cron

Paso 1: escriba un archivo de secuencia de comandos cron y asígnele el nombre mysqlRollBack.cron. 15,30,45,59 * * * * echo “xgmtest…” >> xgmtest.txt significa ejecutar el comando de impresión cada 15 minutos

Paso 2: agregue una tarea programada. Ejecute el comando "crontab crontest.cron". Hecho

Paso 3: "crontab -l" para comprobar si la tarea programada se realizó correctamente o si el script cron correspondiente se genera en /var/spool/cron

Nota: Esta operación reemplaza directamente el crontab del usuario, en lugar de agregar uno nuevo.

Ejecute periódicamente el script de la tarea programada escrita (recuerde otorgar permiso de ejecución al script de shell primero)

0 2 * * * /root/mysql_backup_script.sh

Luego use el comando crontab para especificar el script de sincronización escrito.

crontab mysqlRollback.cron

Luego verifique si la tarea programada se ha creado mediante el comando:

Adjunto se muestra un ejemplo del uso de crontab:

1. Todas las mañanas a las 6 en punto

0 6 * * * echo "Good morning." >> /tmp/test.txt
# 注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

2. Cada dos horas

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

3. Cada dos horas entre las 23:00 y las 8:00 horas

0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt

4. Los días 4 de cada mes y todos los lunes a miércoles a las 11 horas.

0 11 4 * 1-3 command line

5. 1 de enero, 4 a.m.

0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root
# 如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/

6. Ejecute el script en /etc/cron.hourly cada hora

01 * * * * root run-parts /etc/cron.hourly

7. Ejecute el script en /etc/cron.daily todos los días.

02 4 * * * root run-parts /etc/cron.daily

8. Ejecute el script en /etc/cron.weekly cada semana.

22 4 * * 0 root run-parts /etc/cron.weekly

9. Ejecute el script en /etc/cron.monthly cada mes.

42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts" 这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。

10. Ejecute el comando a los 5 minutos, 15 minutos, 25 minutos, 35 minutos, 45 minutos y 55 minutos a las 4 p. m., 5 p. m. y 6 p. m. todos los días.

5,15,25,35,45,55 16,17,18 * * * command

11. El sistema entra en estado de mantenimiento a las 3:00 p. m. todos los lunes, miércoles y viernes y el sistema se reinicia.

00 15 * * 1,3,5 shutdown -r +5

12. A los 10 minutos y 40 minutos cada hora, ejecute el comando innd/bbslin en el directorio de usuarios:

10,40 * * * * innd/bbslink

13. Ejecute el comando bin/account en el directorio de usuarios 1 minuto cada hora:

1 * * * * bin/account

Supongo que te gusta

Origin blog.csdn.net/ZHAI_KE/article/details/132875297
Recomendado
Clasificación