先备份原服务器数据再导入新服务器完成迁移。1. 使用mysqldump导出所有或指定数据库为SQL文件,并压缩备份;2. 通过scp等工具将备份文件传输至新服务器并解压;3. 在新服务器安装兼容版本MySQL,启动服务并设置开机自启;4. 登录MySQL执行导入命令mysql -u root -p将MySQL数据库迁移到新服务器是运维中常见的需求,可能是由于服务器升级、环境调整或数据备份需要。整个过程并不复杂,只要按步骤操作,基本不会丢失数据。核心思路是:从旧服务器导出数据,在新服务器导入并配置服务。
1. 备份原服务器的MySQL数据
在迁移前,必须对现有数据库进行完整备份。推荐使用mysqldump工具导出SQL文件。
操作命令示例:
- mysqldump -u root -p --all-databases > all_databases.sql —— 导出所有数据库
- 如果只想迁移特定库:mysqldump -u root -p dbname > dbname.sql
执行后会生成一个SQL文本文件,建议将其压缩并复制到安全位置:
tar -czf all_databases.sql.tar.gz all_databases.sql2. 将数据传输到新服务器
使用scp、rsync或FTP等工具将备
份文件传到新服务器。
例如用scp传输:
scp all_databases.sql.tar.gz user@new_server_ip:/home/user/登录新服务器后解压文件:
tar -xzf all_databases.sql.tar.gz3. 在新服务器安装并配置MySQL
确保新服务器已安装与原环境版本兼容的MySQL。可选择MySQL官方源或系统包管理器安装。
- Ubuntu/Debian:sudo apt install mysql-server
- CentOS/RHEL:sudo yum install mysql-server 或 dnf install mysql-server
启动服务并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql4. 导入数据并验证
登录MySQL后,导入之前导出的SQL文件:
mysql -u root -p如果没有报错,说明导入成功。接着检查数据库和表是否完整:
- 进入MySQL:mysql -u root -p
- 查看数据库:SHOW DATABASES;
- 选择某个库查看表:USE dbname; SHOW TABLES;
还可以测试查询几条数据,确认内容一致。
5. 调整配置与权限(可选)
如果新服务器IP变化,需检查以下项:
- MySQL用户权限是否允许远程连接(如root@'%')
- 修改bind-address配置以支持外部访问(位于/etc/mysql/mysql.conf.d/mysqld.cnf或类似路径)
- 防火墙开放3306端口:sudo ufw allow 3306
基本上就这些。只要备份完整、导入无误,MySQL迁移过程很稳定。关键是操作前停写或确保数据一致性,避免迁移过程中产生新数据导致遗漏。完成后建议应用连接测试一次,确认服务正常。不复杂但容易忽略细节。

份文件传到新服务器。






