Directorio de artículos
prefacio
Encontré operaciones de migración de bases de datos en el trabajo, pero el uso de la herramienta de conexión de datos de navegación tradicional puede causar una serie de problemas, como la pérdida de datos, por lo que uso los comandos mysql y pgsql para realizar la migración en combinación con mi situación personal. Mysql o pgsql deben organizarse antes de su uso.
1. ¿Cómo hace mysql una copia de seguridad?
1.1, copia de seguridad de una base de datos
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
例如:
mysqldump -hhostname -uroot -ppwd dataname >dataname.sql
1.2, copia de seguridad de todas las bases de datos
mysqldump -h *.*.*.* -p -u username -p password --all-databases > /data/backup/mysql_db.sql
1.3, copia de seguridad de una tabla
Por ejemplo:
mysqldump -hhostname -uroot -ppwd dataname specific_tabname1 specific_tabname2> dataname_specific_tabname.sql
1.4, copia de seguridad de múltiples bases de datos
mysqldump -hhostname -uusername -ppwd --databases dbname1 dbname2 dbname3 > multibackupfile.sql
1.5 Exportar una estructura de base de datos
mysqldump -hhostname -uroot -ppwd -–add-drop-table --no-data dataname > dataname_nodata.sql
--no-data: sin datos
--add-drop-table Agregue un comando de tabla de eliminación antes de cada declaración de creación
1.6 Compresión de copia de seguridad
2. Compresión de copia de seguridad
Formato: mysqldump -h host IP -P puerto -u nombre de usuario -p contraseña --database nombre de base de datos | gzip > nombre de archivo
.compresión
mysqldump -h *.*.*.* -p -u username -p password --database mysql | gzip > /data/backup/mysql.sql.gz
Dos, copia de seguridad de restauración mysql
2.1 Comando para restaurar la base de datos MySQL
#database es el nombre de la base de datos
mysql-h . . . -u nombre de usuario -p base de datos de contraseñas < archivo de copia de seguridad.sql
2.2 Restaurar la base de datos MySQL comprimida
base de datos es el nombre de la base de datos
gunzip < backupfile.sql.gz | mysql -u username -p password database
2.3 Transferir la base de datos al nuevo servidor
base de datos es el nombre de la base de datos
mysqldump -u username -p password database | mysql –host=*.*.*.* -C database
2.4 Importar base de datos
El comando fuente se usa comúnmente, use use para ingresar a una determinada base de datos, mysql>source d:\test.sql, y los siguientes parámetros son archivos de script.
3. Cómo hacer una copia de seguridad de pgsql
Copia de seguridad en el sistema Linux (aquí se presenta el trabajo de migrar una sola base de datos a otro servidor)
-h conectarse a la dirección IP de la base de datos
-p puerto de la base de datos
-U usuario de la base de datos
-c borrar los objetos de la base de datos antes de volver a crearlos
-d especificar la base de datos
-f especificar la copia de seguridad en la ruta del archivo local
pg_dump -h 120.55.163.126 -p 5432 -U postgres -c -d homestead_pengze_prod -f
/ws/db-bak/homestead_pengze_prod.bak
提示:window安装的话进入pgsql的bin目录使用cmd目录执行命令
Migración:
copie el archivo de respaldo en el directorio del servidor de destino (como /ws), cree una base de datos con el mismo nombre en otro servidor, use docker para instalar pgsql en el servidor de destino y primero copie el script de respaldo en el
contenedor
docker cp homestead_pengze_prod.bak postgresql:/
Ingrese al contenedor y ejecute el siguiente script de copia de seguridad de restauración
docker exec -it postgresql /bin/sh
Cuatro, pgsql restaurar copia de seguridad
Script de restauración:
-d base de datos para restaurar
-f archivo de copia de seguridad
psql -h 127.0.0.1 -p 5432 -U postgres -d homestead_pengze_prod -f
homestead_pengze_prod.bak