【发布时间】:2018-07-05 20:26:28
【问题描述】:
我使用的是 Ubuntu 16.04,我可以从命令行很好地使用 MySql。我可以创建数据库、添加表、向表中添加行、获取查询等。
我不能做的是编写一个 sql 文件并运行它。
我从常规终端切换到包含我的脚本的目录test.sql
然后我运行mysql -u root -p > test.mysql,它要求我输入密码。如果我输入了错误的密码,我会收到一个错误,如果我输入了正确的密码,则没有任何反应,终端的行为就像它期待进一步的输入一样。
如果我启动了 MySql 并且我会这样做
mysql>SOURCE /home/ryan/MYSQL_Scripts/test.sql
我收到Failed to open file '/home/ryan/MYSQL Scripts/test.sql', error: 2
我知道这意味着无法从我的资源管理器中找到该文件或据推测该文件不存在我右键单击该文件以获取有关其路径的信息,因此我认为该路径没问题。
我认为我的脚本没有任何问题,因为我可以从 mysql 提示符单独运行命令。这是我的脚本:
USE first_db;
CREATE TABLE Department(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL);
CREATE TABLE Employees(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
department_id INT(6) NOT NULL);
INSERT INTO Department (name) VALUES ("Fire");
SELECT * FROM Department;
我当然已经创建了一个 db,first_db,并且能够从 mysql 提示符与它进行交互,我只需要使用 mysql 脚本的帮助。
一些建议将不胜感激。谢谢!
`
【问题讨论】:
-
您的路径有问题。找出原因并解决您的问题。
-
翻转你的
>:mysql -u root -p < test.mysql否则你会将你的标准输出从 mysql 重定向到那个文件(这样做时会把它的内容吹走)。
标签: mysql ubuntu ubuntu-16.04