Copia de seguridad y recuperación de la base de datos MySQL (5): escriba un script simple de copia de seguridad de la subbase de datos mysqldump

Copia de seguridad y recuperación de la base de datos MySQL (5): escriba un script simple de copia de seguridad de la subbase de datos mysqldump

Escriba un script para hacer una copia de seguridad de todas las bases de datos excepto las bases de datos information_schema y performance_schema, y ​​genere un archivo sql para cada base de datos.

paso1, elimine todos los nombres de bases de datos incluidos en MySQL

[root@Mysql11 tmp]# mysql -uroot -p123456 -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hist               |
| mysql              |
| performance_schema |
| sys                |
| wanggx             |
+--------------------+

paso 2, filtra la base de datos del sistema y la línea de título

[root@Mysql11 tmp]# mysql -uroot -p123456 -e "show databases;"|grep -Evi "database|information|performance"
mysql: [Warning] Using a password on the command line interface can be insecure.
hist
mysql
sys
wanggx

paso 3, escribir guión

vim backup.sh

El contenido del guión es el siguiente:

### 利用for循环取出所有的数据库名称,具体的原理参见step1和step2
for dbname in `mysql -uroot -p123456 -e "show databases;"|grep -Evi "database|infor|perfor"`
do
    ### 针对每个数据库名称生成相应的mysqldump命令
    mysqldump -uroot -p123456 --events -B $dbname|gzip > /tmp/${dbname}_bak.sql.gz
done

paso 4, agregue permisos ejecutables al script

[root@Mysql11 tmp]# pwd
/tmp
[root@Mysql11 tmp]# vim backup.sh
[root@Mysql11 tmp]# chmod +x backup.sh 
[root@Mysql11 tmp]# ll
总用量 4
-rwxr-xr-x. 1 root root 184 7月   2 15:09 backup.sh

paso 5, ejecutar el script, ver el resultado de la ejecución

[root@Mysql11 tmp]# ./backup.sh
mysql: [Warning] Using a password on the command line interface can be insecure.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@Mysql11 tmp]# ls
backup.sh  hist_bak.sql.gz  mysql_bak.sql.gz  sys_bak.sql.gz  wanggx_bak.sql.gz

Supongo que te gusta

Origin blog.csdn.net/weixin_44377973/article/details/107084847
Recomendado
Clasificación