在Linux系统中,MySQL数据库的数据迁移可以通过多种方式进行。以下是一些常见的方法:
mysqldump 和 mysql 命令行工具这是最常用的方法之一,适用于大多数情况。
mysqldump -u username -p database_name > backup.sql
输入密码后,这个命令会将整个数据库导出到一个SQL文件中。
mysql -u username -p new_database_name < backup.sql
输入密码后,这个命令会将SQL文件中的数据导入到新的数据库中。
xtrabackup 工具xtrabackup 是一个用于MySQL热备份的工具,适用于InnoDB存储引擎。
xtrabackupsudo apt-get install percona-xtrabackup-24 # Debian/Ubuntu
sudo yum install percona-xtrabackup-24 # CentOS/RHEL
xtrabackup --backup --target-dir=/path/to/backup --user=username --password=password
xtrabackup --prepare --target-dir=/path/to/backup
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/var/lib/mysql
恢复完成后,需要重启MySQL服务:
sudo systemctl restart mysql
mysqlpump 工具mysqlpump 是MySQL 5.7及以上版本提供的一个并行备份工具,类似于 mysqldump,但性能更好。
mysqlpump -u username -p --databases database_name > backup.sql
mysql -u username -p new_database_name < backup.sql
rsync 进行文件级备份如果你只需要备份数据库文件(例如,InnoDB表空间文件),可以使用 rsync。
sudo rsync -avz /var/lib/mysql/ /path/to/backup/
sudo rsync -avz /path/to/backup/mysql/ /var/lib/mysql/
恢复完成后,需要重启MySQL服务:
sudo systemctl restart mysql
通过以上方法,你可以根据具体需求选择合适的数据迁移方式。