MySQL Workbench:表备份与恢复实战及my.ini配置

需积分: 0 0 下载量 116 浏览量 更新于2024-08-04 收藏 1.2MB DOCX 举报
本篇实验报告详细介绍了在MySQL环境下进行数据库表备份和恢复的过程,主要针对教学管理系统(jxgl)中的sc、course和student三个表进行操作。实验使用的工具是MySQL命令行结合MySQLWorkbench 8.0CE。 首先,实验内容分为两部分:表备份和表恢复。 **1. 表备份** 在这个阶段,实验者使用MySQLWorkbench中的SQL命令进行表数据备份。具体步骤如下: - 使用`use jxgl;`切换到jxgl数据库。 - 为了防止在备份过程中其他用户对表的修改,使用`locktables`锁定表以便只读访问。 - 对每个表(student、sc和course)分别执行`select * into outfile 'table_name.bak' from table_name;`语句,将数据导出到相应的bak文件中。 - 解锁表后继续下一个表的操作。 然而,实验过程中遇到了错误,由于MySQL服务器配置了`--secure-file-priv`选项,不允许直接通过SQL执行文件导入。解决方法是: - 找到并定位到`my.ini`文件,通常位于`C:\ProgramData\MySQL\MySQLServer5.7`。 - 修改`my.ini`文件中的`secure-file-priv`值,将其设置为空或取消对文件操作的限制。 - 重启MySQL服务以应用更改,并通过`SHOW VARIABLES LIKE 'secure_file_priv';`确认修改成功。 - 重新运行备份语句,确保备份操作得以顺利进行。 **2. 表恢复** 表恢复是通过将备份的bak文件导入回数据库。在MySQLWorkbench中,首先设置`FOREIGN_KEY_CHECKS`为0,允许忽略外键约束,然后执行`loaddata infile 'table_name.bak' replace into table table_name;`将备份数据加载回对应表中。 - 使用`locktables`锁定表以写入模式。 - 完成恢复后,恢复外键约束,即设置`FOREIGN_KEY_CHECKS`为1,以确保数据一致性。 总结来说,本实验着重于实践数据库操作中的关键环节,包括表备份的权限管理、my.ini文件的配置修改以及表恢复时的事务处理。通过这个过程,学生可以了解数据库安全设置、备份和恢复的重要性和实际操作技巧。