Annuaire d'articles
avant-propos
J'ai rencontré des opérations de migration de base de données au travail, mais l'utilisation de l'outil de connexion de données de navigation traditionnel peut entraîner une série de problèmes, tels que la perte de données, j'utilise donc les commandes mysql et pgsql pour effectuer la migration en combinaison avec ma situation personnelle. être arrangé avant utilisation.
1. Comment mysql fait-il la sauvegarde ?
1.1, sauvegarder une base de données
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
例如:
mysqldump -hhostname -uroot -ppwd dataname >dataname.sql
1.2, sauvegardez toutes les bases de données
mysqldump -h *.*.*.* -p -u username -p password --all-databases > /data/backup/mysql_db.sql
1.3, sauvegarder une table
Par exemple:
mysqldump -hhostname -uroot -ppwd dataname specific_tabname1 specific_tabname2> dataname_specific_tabname.sql
1.4, sauvegarde de plusieurs bases de données
mysqldump -hhostname -uusername -ppwd --databases dbname1 dbname2 dbname3 > multibackupfile.sql
1.5. Exporter une structure de base de données
mysqldump -hhostname -uroot -ppwd -–add-drop-table --no-data dataname > dataname_nodata.sql
--no-data : pas de données
--add-drop-table Ajouter une commande de suppression de table avant chaque instruction de création
1.6. Compression de sauvegarde
2. Compression de sauvegarde
Format : mysqldump -h IP de l'hôte -P port -u nom d'utilisateur -p mot de passe --database nom de la base de données | gzip > nom du fichier
. compression
mysqldump -h *.*.*.* -p -u username -p password --database mysql | gzip > /data/backup/mysql.sql.gz
Deux, sauvegarde de restauration mysql
2.1. Commande pour restaurer la base de données MySQL
#database est le nom de la base de données
mysql-h . . . -u nom d'utilisateur -p mot de passe base de données < fichier_sauvegarde.sql
2.2. Restaurer la base de données MySQL compressée
base de données est le nom de la base de données
gunzip < backupfile.sql.gz | mysql -u username -p password database
2.3. Transférer la base de données vers le nouveau serveur
base de données est le nom de la base de données
mysqldump -u username -p password database | mysql –host=*.*.*.* -C database
2.4. Importer la base de données
La commande source est couramment utilisée, utilisez use pour entrer dans une certaine base de données, mysql>source d:\test.sql, et les paramètres suivants sont des fichiers de script.
3. Comment faire une sauvegarde pgsql
Sauvegarde sur système Linux (présente ici le travail de migration d'une seule base de données vers un autre serveur)
-h connecter l'adresse IP de la base de données
-p port de la base de données
-U utilisateur de la base de données
-c effacer l'objet de la base de données avant de recréer
-d spécifier la base de données
-f spécifier la sauvegarde vers le chemin du fichier 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目录执行命令
Migration :
copiez le fichier de sauvegarde dans le répertoire du serveur de destination (tel que /ws), créez une base de données portant le même nom sur un autre serveur, utilisez docker pour installer pgsql sur le serveur de destination et copiez d'abord le script de sauvegarde dans le conteneur
.
docker cp homestead_pengze_prod.bak postgresql:/
Entrez dans le conteneur et exécutez le script de sauvegarde de restauration suivant
docker exec -it postgresql /bin/sh
Quatre, sauvegarde de restauration pgsql
Script de restauration :
-d base de données pour restaurer
-f fichier de sauvegarde
psql -h 127.0.0.1 -p 5432 -U postgres -d homestead_pengze_prod -f
homestead_pengze_prod.bak