Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment transférer toutes les bases de données MySQL de l'ancien vers le nouveau serveur

Transférer ou migrer un MySQL/MariaDB La base de données entre les serveurs ne prend généralement que quelques étapes simples, mais le transfert de données peut prendre un certain temps en fonction du volume de données que vous souhaitez transférer.

Dans cet article, vous apprendrez comment transférer ou migrer tous vos MySQL/MariaDB bases de données de l'ancien serveur Linux vers un nouveau serveur, importez-le avec succès et confirmez que les données sont là.

Remarques importantes

  • Assurez-vous d'avoir la même version de MySQL installée sur les deux serveurs avec la même distribution.
  • Assurez-vous d'avoir suffisamment d'espace libre sur les deux serveurs pour contenir le fichier de vidage de la base de données et la base de données importée.
  • N'envisagez jamais de déplacer les data répertoire de la base de données vers un autre serveur. Ne touchez jamais à la structure interne de la base de données, si vous le faites, vous rencontrerez des problèmes à l'avenir.

Exporter une base de données MySQL vers un fichier de vidage

Commencez par vous connecter à votre ancien serveur et arrêtez le service mysql/mariadb en utilisant le systemctl commande comme indiqué.

# systemctl stop mariadb
OR
# systemctl stop mysql

Videz ensuite tout votre MySQL bases de données dans un seul fichier à l'aide de la commande mysqldump.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Une fois le vidage terminé, vous êtes prêt à transférer les bases de données.

Si vous souhaitez vider une seule base de données, vous pouvez utiliser :

# mysqldump -u root -p --opt [database name] > database_name.sql

Transférer le fichier de vidage des bases de données MySQL vers un nouveau serveur

Utilisez maintenant la commande scp pour transférer le fichier de vidage de votre base de données vers le nouveau serveur sous le répertoire personnel, comme indiqué.

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

Une fois connecté, la base de données sera transférée sur le nouveau serveur.

Importer le fichier de vidage des bases de données MySQL vers un nouveau serveur

Une fois le fichier de vidage MySQL transféré sur le nouveau serveur, vous pouvez utiliser la commande suivante pour importer toutes vos bases de données dans MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Une fois l'importation terminée, vous pouvez vérifier les bases de données sur les deux serveurs à l'aide de la commande suivante sur le shell mysql.

# mysql -u user -p
# show databases;

Transférer les bases de données MySQL et les utilisateurs vers un nouveau serveur

Si vous souhaitez déplacer toutes vos bases de données MySQL, vos utilisateurs, vos autorisations et votre ancienne structure de données vers un nouveau serveur, vous pouvez utiliser la commande rsync pour copier tout le contenu du répertoire de données mysql/mariadb vers le nouveau serveur, comme indiqué.

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

Une fois le transfert terminé, vous pouvez définir la propriété du répertoire de données mysql/mariadb sur l'utilisateur et le groupe mysql, puis faire une liste de répertoires pour vérifier que tous les fichiers ont été transférés.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

C'est tout! Dans cet article, vous avez appris comment migrer facilement toutes les bases de données MySQL/MariaDB d'un serveur à un autre. Comment trouvez-vous cette méthode par rapport aux autres méthodes ? Nous aimerions avoir de vos nouvelles via le formulaire de commentaire ci-dessous pour nous contacter.