迁移MySQL数据库到新服务器,核心是数据导出、传输和导入。只要保证版本兼容、权限设置正确,整个过程并不复杂。
1. 备份原服务器数据库
使用 mysqldump 工具备份数据是最常见的方式。它可以导出结构和数据,生成SQL文件。
基本命令如下:
mysqldump -u 用户名 -p 数据库名 > backup.sql
如果要备份所有数据库,加上
--all-databases参数:
mysqldump -u root -p --all-databases > full_backup.sql
建议同时加上
--single-transaction(用于InnoDB,避免锁表)和
--routines(包含存储过程):
mysqldump -u root -p --all-databases --single-transaction --routines > full_backup.sql
2. 将备份文件传送到新服务器
使用 scp 或 sftp 把SQL文件安全地复制到新服务器。
scp backup.sql user@新服务器IP:/home/user/
确保目标目录有足够空间,并且MySQL服务有读取权限。
3. 在新服务器恢复数据库
先登录MySQL,创建对应的数据库(如使用
--all-databases则无需手动建库):
mysql -u root -p
CREATE DATABASE if not exists 数据库名;
退出后,导入数据:
mysql -u root -p 数据库名
如果是全库备份,直接用:
mysql -u root -p
4. 配置新服务器环境
迁移完成后,检查以下几点:
MySQL版本是否兼容(建议主版本号一致) 字符集和排序规则是否匹配(查看my.cnf配置) 用户账号和权限是否重建(可从原服务器导出
mysql.user表或手动添加) 防火墙是否开放3306端口(如需远程访问) 应用连接配置是否更新为新数据库地址
基本上就这些。只要备份完整、导入无错,数据库就能正常运行。建议在迁移前先在测试环境演练一次。
