我面临着从MySQL脚本连接DB的问题。请找到下面我为连接MySQL数据库而编写的代码片段。请对此提出建议。
我的外壳脚本:
#!bin/bash
Query="select * from Main"
MySQL -u root -p '!!root!!' -e kpi << EOF
$Query;
EOF请检查以上代码,并建议我如何连接数据库。
发布于 2014-02-13 06:55:50
我觉得应该是
-pThePassword
因此,您应该删除-p和pass之间的空间。此外,您不应该使用撇号(除非它是传递本身的一部分)。使用反斜杠来转义特殊字符。
第二:*nix系统区分大小写,请尝试mysql而不是MySQL
更新
您还可以尝试在文件中键入密码并使用脚本读取密码。
mysql -u root -p`cat /tmp/pass` -e "SHOW DATABASES"文件/tmp/pass应该包含您的密码,末尾不需要任何换行符。
更新2
你的剧本错了。
mysql ... -e SELECT * FROM TABLE或mysql ... << EOF (没有-e)。你不应该把它们混在一起。use databasename;)传递。;。方法一:
mysql -u root -ppassword databasename -e "SELECT * FROM main"方法二:
mysql -u root -ppassword databasename << EOF
SELECT * FROM main
EOF方法三:
mysql -u root -ppassword << EOF
USE databasename;
SELECT * FROM main;
EOF发布于 2014-02-13 07:06:58
mysql --user=root --password=xxxxxx -e "source dbscript.sql"这应该适用于Windows和Linux。
如果密码内容包含一个! (感叹号),您应该在它前面添加一个\ (反斜杠)。
https://stackoverflow.com/questions/21747209
复制相似问题