在mysql中自动验证密码

时间:2013-10-03 23:56:45

标签: mysql linux postgresql

我是MySql的新手。在postgres中,我们可以使用.pgpass并保存用户密码,以便数据库可以在您访问或执行sql脚本时自动验证您的密码。我没有输入密码。

那么有没有办法在linux上为mysql做同样的事情?

由于

2 个答案:

答案 0 :(得分:14)

是的,您可以在主目录中将默认凭据和其他选项存储在名为 $ HOME / .my.cnf

的文件中
$ cat > $HOME/.my.cnf
[client]
user = scott
password = tiger
host = mydbserver
^D

在MySQL 5.6中,您还可以在 $ HOME / .mylogin.cnf 中存储此文件的加密版本,请参阅http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html

$ mysql_config_editor set --user=scott --host=mydbserver --password
Enter password: ********
WARNING : 'client' path already exists and will be overwritten. 
 Continue? (Press y|Y for Yes, any other key for No) : y

$ mysql_config_editor print --all
[client]
user = scott
password = *****
host = mydbserver

答案 1 :(得分:1)

您可以在快速Bash脚本中使用MySQL可执行文件可用的命令行参数来完成此操作。请参阅http://dev.mysql.com/doc/refman/5.6/en/mysql.html 细节。基本上,以下行会将您登录到MySQL

$>mysql --user=root --password=toor my_database

上面的命令会使用密码“toor”以root身份登录mysql数据库“my_database”

现在但这是一个快速的Bash脚本(run_mysql.sh):

#!/bin/bash
/usr/bin/mysql --user=root --password=toor my_database

确保脚本可执行:

chmod +x ./run_mysql.sh

当然要确保此脚本安全地存储在其他用户无法访问的位置,例如您的主文件夹,并相应地设置权限。