想要将 MySQL 数据库迁移至新的服务器或者系统,这是一个比较常见的需求。下面介绍一些常用的迁移方式和相应的操作步骤。
1. 备份和恢复方式
$ mysqldump -u username -p old_db_name >old_db_name.sql
这里的 username 是数据库的用户名,old_db_name 是要备份的数据库名。执行该命令会生成一个 .sql 的备份文件。接下来将备份文件传输到新的服务器或者系统,可以使用 scp 或者其他工具进行拷贝。在新的系统或者服务器上使用如下命令进行恢复:
$ mysql -u username -p new_db_name< old_db_name.sql
这里的 new_db_name 是新数据库的名称。
2. 在线迁移方式
如果数据库数据较大,备份和恢复会比较耗费时间和资源。另一种可选的方式是使用在线迁移,也称为数据库迁移。该方式可以在不停止MySQL服务的情况下将所有数据复制到新数据库中。下面是步骤:
下载 Percona XtraBackup在旧服务器上安装 Percona XtraBackup在新服务器上安装 Percona XtraBackup在新服务器上为新的 MySQL 实例创建目录使用 Percona XtraBackup 在旧服务器上创建备份在新服务器上将备份拷贝到新服务器上在新服务器上使用 Percona XtraBackup 恢复备份$ innobackupex --user=user --password=pass /path/to/backup$ scp -r /path/to/backup new_server:/path/to$ innobackupex --copy-back /path/to/backup$ chown -R mysql:mysql /path/to/mysql/
其中,user 和 pass 是数据库的用户名和密码,/path/to/mysql/ 是新服务器上的mysql的根目录。
总而言之,MySQL 数据库的迁移方式有多种。在选择合适的方式之前,需要考虑数据大小以及是否需要停止 MySQL 服务。