迁移 MySQL 数据(如数据表、数据库、配置等)通常涉及数据备份、迁移工具使用或直接使用SQL语句。以下是几种常见的迁移方式,适用于大多数Linux发行版:
✅ 1. 使用 mysqldump 进行备份和迁移
命令示例:
mysqldump -u username -p database_name > backup.sql
迁移:
mysql -u username -p database_name < backup.sql
说明:
-u:指定用户名-p:提示输入密码database_name:目标数据库名backup.sql:备份文件路径
适用场景:备份数据库并迁移到其他服务器或恢复。
✅ 2. 使用 mysql 命令行工具迁移数据
传输数据文件(如CSV、JSON、文本):
mysql -u username -p database_name < data.csv
传输数据库结构(如表结构):
mysql -u username -p database_name < schema.sql
适用场景:迁移表结构或简单数据。
✅ 3. 使用 mysqlimport 迁移数据文件
适用于 CSV、TXT 等格式的文件:
mysqlimport -u username -p database_name --fields-terminated-by=',' --skip-header=1 data.csv
说明:
--fields-terminated-by=',':指定字段分隔符--skip-header=1:跳过第一行作为标题
适用场景:从本地文件迁移到MySQL。
✅ 4. 使用 pg_dump(如果迁移的是PostgreSQL)
如果你的数据库是 PostgreSQL,可以使用:
pg_dump -U username -h hostname -d database_name > backup.sql
然后使用:
psql -U username -h hostname -d database_name < backup.sql
✅ 5. 使用 rsync 进行数据迁移
rsync -avz -e ssh user@remote_host:/path/to/data/ /path/to/local/mysql/
说明:
-a:归档模式(保留文件属性)-v:详细输出-z:压缩数据-e ssh:通过SSH传输
适用场景:跨服务器迁移数据。
✅ 6. 使用 docker 迁移(如果使用容器)
docker cp /path/to/data container_id:/path/to/mysql/
适用场景:在容器中迁移数据。
✅ 7. 使用 kubectl 迁移(如果使用 Kubernetes)
kubectl cp pod_name:/path/to/data /path/to/local/mysql/
适用场景:在Kubernetes集群中迁移数据。
✅ 8. 使用 SQL Server 或 Oracle 的迁移工具(如果迁移的是非MySQL数据库)
✅ 9. 使用 mysqldump + mysql 迁移数据库(如迁移整个数据库)
mysqldump -u username -p database_name > backup.sql
mysql -u username -p database_name < backup.sql
✅ 10. 使用 tar 进行打包迁移
tar -czvf database_backup.tar.gz /path/to/mysql/
然后在目标服务器上解压:
tar -xzvf database_backup.tar.gz
✅ 总结
| 方式 | 适用场景 | 优点 |
|---|---|---|
mysqldump |
数据库备份与迁移 | 简单、通用 |
mysqlimport |
CSV/JSON 文件迁移 | 适用于文本数据 |
rsync |
跨服务器迁移 | 快速、高效 |
docker |
容器内迁移 | 简单、轻量 |
如需更具体的操作(如迁移某个表、迁移配置、迁移日志等),请提供详细需求,我可以进一步帮你定制方案。


