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