mysql免密码登录, 及使用-e 参数执行sql脚本

来源:互联网 发布:淘宝达人怎么修改资料 编辑:程序博客网 时间:2024/05/18 02:55

来源:http://www.tuicool.com/articles/7JbmYr

我们在编写shell脚本的时候,经常需要和 mysql 交互.

如果是交互环境,可能使用这样的命令登录到mysql

#mysql –uroot –p

#mysql –uroot –p

然后按提示输入密码, 登录. 如果在脚本中, 我们就不得不把密码写在 –p 参数后面. 这样 很容易暴露密码.

幸好mysql提供的有解决方案. 在 “~/.my.cnf” 文件中保存密码就行了.

MySQL官方文档

文件内容大概如下:

[client]password="MySQL密码"user=MySQL用户名

[ client ]

password = "MySQL密码"

user = MySQL 用户名

其中user 行可以省略, 默认使用当前的用户名填充mysql的登录用户名

再次使用 mysql 命令的时候,就无需输入用户名和密码了,可以自动登录.

还可以给 mysql 命令使用 --defaults-file 参数来指定特定的配置文件路径:

mysql --defaults-file=/folder1/folder2/filename -u 用户名

mysql -- defaults - file = / folder1 / folder2 / filename - u 用户名

实现了免密码登录之后, 在脚本中就可以直接使用 -e 参数来执行sql脚本了, 而不用像交互式一样登录到mysql之后执行了.

mysql -e "CREATE DATABASE test"

mysql - e "CREATE DATABASE test"

到这里, 基本上就可以实现完全的无值守 mysql脚本操作了.

参考: http://yzs.me/2142.html


0 0