mysql的登录方式为:

mysql   [数据库名]    -u   用户名   -p  

输入密码

因为shell  脚本是非交互式的,所以不可以在运行脚本的时候去输入密码。        那么怎样来解决 在脚本中连接数据库时要输入密码的情况呢?        其实在 $HOME目录下有一个  .my.cnf 的文件,这个文件就可以帮我们解决这个问题。   在这个文件里面加入

[client]

password=passwd

就行了。      然后 chmod 400 .my.cnf    设置权限成只有用户才能看到。

之后连接数据库的时候就可以    mysql  test  -u root    直接连接进去了,而不需要输入密码。 

mysql=`which mysql`

$mysql test -u root   -e "select * from employees;"

-e     执行语句后退出。

-s     静音模式      (也就是没有边框的)

-N    不输出段名

-H  以HTML形式输出  

 

在脚本中也可以使用重定向的形式

mysql  -u root    << EOF

use   test;

select  * from  employees;

insert into employees values (1,'aa','bbbbbbbbbb',45000.00);

EOF