在Ubuntu上迁移MySQL数据库可以通过多种方式实现,以下是一些常见的方法:
mysqldump
和mysql
命令行工具备份数据库
在源服务器上,使用mysqldump
命令备份数据库:
mysqldump -u [用户名] -p[密码] [数据库名] > backup.sql
注意:-p
后面直接跟密码,不要有空格。
传输备份文件
将生成的backup.sql
文件传输到目标服务器。可以使用scp
命令:
scp backup.sql [目标服务器用户名]@[目标服务器IP]:/path/to/destination
在目标服务器上恢复数据库
在目标服务器上,使用mysql
命令导入备份文件:
mysql -u [用户名] -p[密码] [数据库名] < /path/to/destination/backup.sql
xtrabackup
进行热备份xtrabackup
是一个用于MySQL和MariaDB的热备份工具,可以在不中断服务的情况下进行备份。
安装xtrabackup
在源服务器和目标服务器上安装xtrabackup
:
sudo apt-get update
sudo apt-get install percona-xtrabackup-24
执行热备份 在源服务器上执行热备份:
xtrabackup --backup --user=[用户名] --password=[密码] --target-dir=/path/to/backup
准备备份 在目标服务器上准备备份:
xtrabackup --prepare --target-dir=/path/to/backup
恢复备份 将备份文件复制到目标服务器的数据目录,并启动MySQL服务:
xtrabackup --copy-back --target-dir=/path/to/backup --datadir=/var/lib/mysql
systemctl start mysql
mysqlpump
进行并行备份mysqlpump
是MySQL 5.7及以上版本提供的并行备份工具。
备份数据库
在源服务器上使用mysqlpump
备份数据库:
mysqlpump -u [用户名] -p[密码] [数据库名] > backup.sql
传输备份文件
将生成的backup.sql
文件传输到目标服务器:
scp backup.sql [目标服务器用户名]@[目标服务器IP]:/path/to/destination
在目标服务器上恢复数据库
在目标服务器上使用mysql
命令导入备份文件:
mysql -u [用户名] -p[密码] [数据库名] < /path/to/destination/backup.sql
通过以上方法,您可以在Ubuntu系统上安全地迁移MySQL数据库。