太疯狂了。我已经尝试了所有的方法,但它仍然会引发同样的错误。
我有一个数据库,希望它在MySQL-Server
上运行。在数据库的开头:
DROP SCHEMA IF EXISTS someDB;
CREATE SCHEMA someDB;
USE someDB;
当我尝试SHOW DATABASES LIKE 'someDB';
时,它确认了它的存在。
我试过了:
chmod
获取其完整路径/var/lib/mysql/someDB/someDB.sql
MySQL-Server
,删除someDB
文件夹并重新启动服务器。MySQL-Server
并重新安装了它。经过几个小时的尝试,我真的需要你的帮助。
修改:
回答Y. Collin Comment,当我运行sudo ls -la ./someDB
时,它会返回:
total 20
drwxrwxr-x 2 ubuntu ubuntu 4096 Nov 14 16:53 .
drwxrwxrwx 5 mysql mysql 4096 Nov 14 16:53 ..
-rwxrwxrwx 1 ubuntu ubuntu 12243 Nov 14 16:53 someDB.sql
答案 0 :(得分:0)
答案 1 :(得分:0)
原来我犯了一个逻辑错误。
在someDB.sql
文件中,我正在使用USE
语句。但是,我试图使用此命令运行数据库:
mysql -u root -p someDB < someDB.sql
这是绝对错误的,因为上述语句会提示USE
与sql
文件中的第一行冲突(即DROP SCHEMA...
)。
正确的做法是:
mysql -u root -p < someDB.sql
因为USE
语句已经放在文件中了!