我对.bash\u profile、terminal、mamp和mysql workbench有些混淆。
我的目标是将.sql数据文件从终端加载到数据库中。正在编写pauldubois的mysql教程。附录a说要向.bash\u配置文件添加路径设置:
PATH=/usr/local/mysql/bin:/bin:/usr/bin:/usr/local/bin
我将上述路径添加到.bash\u配置文件中。尽管在第一章中提到了一个名为(sampdb)的sample.sql文件文件夹可以位于任何地方。所以我试着:
export PATH="/Users/trevorpan/Documents/MySQL/sampdb:$PATH"
添加此路径未找到使用以下命令的文件:
mysql> sampdb < create_grade_event.sql;
它给了我这个错误。而且我觉得一定和路径有关,因为到处都是堆栈溢出,书中,还有在线mysql手册上面说的是正确的语法。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sampdb < create_grade_event.sql' at line 1
我也试过:
mysql> source create_grade_event.sql;
ERROR:
Failed to open file 'create_grade_event.sql', error: 2
这也没用。
现在,我想这些文件应该放在垃圾箱文件夹里。但我不确定他们是否应该留在文件夹(sampdb)或什么。
以下是.bash\u配置文件:
export PATH=/Applications/MAMP/bin/php/php7.1.12/bin:/usr/local/opt/gnu-tar/lib$
export MAMP_PHP=/Applications/MAMP/bin/php/php7.1.12/bin
export PATH="$MAMP_PHP:$PATH"
ICU_DIR=/usr/local/Cellar/icu4c/60.2/
EXT_DIR=/Applications/MAMP/bin/php/php7.1.12/lib/php/extensions/no-debug-non-zt$
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
export PATH="/usr/local/opt/m4/bin:$PATH"
PATH=/usr/local/mysql/bin:/bin:/usr/bin:/usr/local/bin
谢谢您。
编辑:
我试着把一个文件拖到终端,结果成功了。
mysql> source /Applications/MAMP/bin/sampdb/insert_member.sql
Query OK, 0 rows affected (0.05 sec)
Query OK, 1 row affected (0.02 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.04 sec)
Query OK, 1 row affected (0.01 sec) etc. etc.
编辑#2
啊哈。迈克尔,
我尝试更改目录并收到此错误。在终端中加载mysql时,cd无法指向目录,因此我不确定从当前目录加载它的方法:
mysql> cd /Applications/MAMP/bin/sampdb;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cd /Applications/MAMP/bin/sampdb' at line 1
我的目标是指向一个文件夹位置,并且能够上传.sql数据文件,而不必每次都输入路径。下面的帖子也有类似的问题,但似乎从来没有解决过简单的导入命令:
mysql> source create_grade_event.sql
如何在mysql中使用命令行导入sql文件?
我原来的发帖人就是想达到这个目的。.sql数据文件应该放在bin中吗?如果是这样的话,我该如何引导mysql使用上面的查询来加载它们?有没有更好的地方可以用来存储project.sql文件?
谢谢您。
1条答案
按热度按时间nsc4cvqm1#
将.sql文件加载到现有数据库的操作如下:
与此完全不同:
……这的确是错误的。
此问题与您的路径无关。
……本应有效,但你没有说明你是这样做的,还是这样做的:
…这也是不正确的。无论如何,“没用”还不够详细。
在这里,就像在mysql文档中一样,
shell>
指系统shell提示符,通常以$
.