恢复MySQL数据需确保完整性、可用性与权限一致:先确认逻辑或物理备份类型,逻辑备份用mysql命令导入并执行FLUSH PRIVILEGES;再通过连接测试、行数比对、错误日志检查及关键字段验证确保恢复成功。
在新服务器上恢复 MySQL 数据,核心是确保数据完整性、服务可用性与权限一致性。迁移不是简单拷贝文件,需结合备份方式(逻辑导出或物理拷贝)选择对应恢复路径。
MySQL 常见备份分两类,恢复操作差异大:
mysql 命令导入:mysql -u root -p database_name
跳过这些检查易导致启动失败或数据异常:
systemctl status mysql)my.cnf 的 datadir 一致,目录权限属主为 mysql:mysq
l
innodb_log_file_size 和 innodb_page_size 等关键参数与原环境一致mysql.user 等)是否随备份一并导出;逻辑备份默认不含系统库,需单独处理mysqldump 默认不导出 mysql 库(含用户、权限),恢复后应用无访问权限。安全做法是:
mysqldump --all-databases --skip-lock-tables --single-transaction --routines --triggers 备份时加 --include-databases=mysql(5.7+)或显式导出:mysqldump -u root -p --databases mysql > mysql_system.sql
FLUSH PRIVILEGES; 生效SHOW CREATE USER 'xxx'@'%'; 和 SHOW GRANTS FOR 'xxx'@'%'; 手动生成授权语句不能只看导入命令没报错,要实测:
mysql -u testuser -ptestpass testdb -e "SELECT COUNT(*) FROM t1;"
SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES)tail -20 /var/log/mysql/error.log,确认无 InnoDB 恢复警告或崩溃记录