在Ubuntu上进行MySQL数据迁移与同步,可以采用多种方法。以下是一些常用的方法:
mysqldump
和mysql
命令行工具导出数据:
使用mysqldump
命令导出源数据库的数据到一个SQL文件。
mysqldump -u username -p --databases source_db > source_db.sql
或者导出整个MySQL服务器的数据:
mysqldump -u username -p --all-databases > all_databases.sql
导入数据: 将导出的SQL文件导入到目标数据库。
mysql -u username -p target_db < source_db.sql
或者导入整个MySQL服务器的数据:
mysql -u username -p < all_databases.sql
mysqlpump
工具mysqlpump
是MySQL 5.7及以上版本提供的一个并行版本的mysqldump
,可以更快地进行数据导出。
导出数据:
mysqlpump -u username -p --databases source_db > source_db.sql
导入数据:
mysql -u username -p target_db < source_db.sql
xtrabackup
进行热备份和恢复xtrabackup
是一个用于MySQL和MariaDB的热备份工具,可以在不停机的情况下进行数据备份和恢复。
安装xtrabackup
:
sudo apt-get install percona-xtrabackup-24
备份数据:
xtrabackup --backup --target-dir=/path/to/backup --user=username --password=password --databases=source_db
准备备份:
xtrabackup --prepare --target-dir=/path/to/backup
恢复数据:
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/var/lib/mysql
rsync
进行文件级同步如果MySQL数据目录在本地文件系统上,可以使用rsync
进行文件级同步。
停止MySQL服务:
sudo systemctl stop mysql
使用rsync
同步数据目录:
sudo rsync -av /var/lib/mysql/source_db/ /var/lib/mysql/target_db/
启动MySQL服务:
sudo systemctl start mysql
还有一些第三方工具可以帮助进行MySQL数据迁移和同步,例如:
选择适合你需求的方法进行数据迁移和同步。在进行任何操作之前,建议先备份所有重要数据,以防万一。