导入MySQL官方样本数据库employees的问题
前提 : 本人用的是windows10系统; 安装的是MySQL 8.0版本
实际操作文件是 employees.sql 按官网的步骤 先进入MySQL的执行目录
- Download the repository
- Change directory to the repository
按网上提供的教程是在命令框中执行命令:
mysql -uroot -p < emplopees.sql
对此需要注意的是,我的样例数据库在另一个目录,这意味这需要在employees.sql前加上该文件的绝对路径即
mysql -uroot -p < yourpath\emplopees.sql
------------------------------------------------------------------------------------------------
然后发现执行source部分的时候会出现
unknown command '\'
的错误 这是路径上出现的问题
网上是说 编码格式不一致所致 可以通过指定编码解决 如
Mysql -u root -p --default-character-set=utf8 database <backpath
但是我试了一下发现没有效果,网上又说 把 路径中 所有单斜杠'\' 换成双斜杠进行转义'\\' 即可, 虽然也会报错但也可以解决问题,我就这样解决了;
----------------------------------------------------------------------------------------------------------------
本来以为可以用自带的workbench执行sql文件进行数据录入,没想到sql页面的source会报错,下面出现红曲线有语法错误,我查了一下,在stackoverflow上发现这样一个回答:
The source command is not a MySQL statement, but something only handled by the MySQL client. MySQL Workbench does not handle this (as it is focused on pure MySQL code).
To import the entire set remove the source commands from the main file and then manually import these files like you did with the main dump. A bit tedious, but at least a way to load all files.
google翻译就是:
source命令不是MySQL语句,而是一些只能由MySQL客户端处理的命令。 MySQL Workbench不处理这个问题(因为它专注于纯MySQL代码)。
要导入整个集合,请从主文件中删除源命令,然后像使用主转储一样手动导入这些文件。 有点乏味,但至少可以加载所有文件。
然后我就把employees.sql文件分为两部分,把source部分在CMD手动输入,其他
mysql -uroot -p < yourpath\emplopees.sql自动执行;
------------------------------------------------------------------------------
Failed to open file 'load_departments.dump'
其次遇到找不到源文件的情况load_departments.dump ;需要在每个源文件前加绝对路径即可解决;
------------------------------------------------------------------------------
到此所有数据库建表导入数据的部分工作就完成了;
其他:最后这个语句 source show_elapsed.sql ;无法通过上述方法解决 ,似乎也不是数据相关语句不知到没有执行会有什么影响。