Mysql 在Mac命令行上,如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中?
在Mac命令行上Mysql 在Mac命令行上,如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中?,mysql,sql,file,Mysql,Sql,File,在Mac命令行上 $ sql -u foo -pbar db -B -e "SELECT * FROM t" > output.txt 需要内联输入命令 如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中 编辑 当我这样做的时候 mysql -h localhost -u foo -pbar db -B -e "SELECT * FROM t WHERE x='{}' LIMIT 2 INTO OUTFILE '../o.tsv';" 我出错了 ER
$ sql -u foo -pbar db -B -e "SELECT * FROM t" > output.txt
需要内联输入命令
如何在foo.SQL文件中执行SQL语句,并将结果以制表符分隔的形式导出到另一个文件中 编辑 当我这样做的时候
mysql -h localhost -u foo -pbar db -B -e "SELECT * FROM t WHERE x='{}' LIMIT 2 INTO OUTFILE '../o.tsv';"
我出错了
ERROR 1045 (28000) at line 1: Access denied for user 'foo'@'localhost' (using password: YES)
但奇怪的是
mysql -h localhost -u foo -pbar db
给我mysql命令提示很好。使用OUTFILE
是否需要用户foo
具有特殊权限
mysql> SELECT * FROM user WHERE User='foo'\G
*************************** 1. row ***************************
Host: localhost
User: foo
Password: *A5DB2D927D6DF94DA5E1CE4B2AEAAB4D8304EA
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
1 row in set (0.01 sec)
使用
将[text of query]选择到输出文件[filename]
。给你。如果格式不完全符合您的要求,请参阅可在文件名后指定的格式化命令语法。执行以下操作:
sql -u foo -pbar db -B -e `cat foo.sql` > output.txt
工作?将
File\u priv
设置为true后,它工作。如何从命令行执行存储在文件中的SQL语句?mysql
应该工作。有关更多信息,请参阅。这可能意味着您需要在运行mysql
时指定用户名和密码(可能还有数据库)。完整的命令看起来像mysql-uyourusername-pdatabasename
。输入命令后,它应询问您的密码。出现错误1045(28000)。见OP。