mysql中的密码自动认证

mysql中的密码自动认证,mysql,linux,postgresql,Mysql,Linux,Postgresql,我是MySql新手。在postgres中,我们可以使用.pgpass并保存用户密码,以便数据库可以在您访问或执行sql脚本时自动验证您的密码。我不必输入密码 那么,有没有办法在linux上为mysql做同样的事情呢 感谢您,您可以在quick Bash脚本中使用MySQL可执行文件可用的命令行参数来完成此任务。寻找 细节。基本上,下面这行代码会将您登录到MySQL $>mysql --user=root --password=toor my_database 上面的命令将使用密码“too

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

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


感谢您,您可以在quick Bash脚本中使用MySQL可执行文件可用的命令行参数来完成此任务。寻找 细节。基本上,下面这行代码会将您登录到MySQL

$>mysql --user=root --password=toor my_database
上面的命令将使用密码“toor”以root用户身份将您登录到mysql数据库“my_database”

现在,将其转换为一个快速Bash脚本(运行_mysql.sh):

确保脚本是可执行的:

chmod +x ./run_mysql.sh

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

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

$ cat > $HOME/.my.cnf
[client]
user = scott
password = tiger
host = mydbserver
^D
在MySQL 5.6中,您还可以将此文件的加密版本存储在$HOME/.mylogin.cnf中,请参阅


这有用吗?尝试了10次,出现了以下错误“error 1045(28000):拒绝用户'user'@'localhost'(使用密码:NO)的访问”,但当我使用以下命令'mysql-u username-p database'时,它可以工作。之后我必须输入密码。谢谢,但这不是通用技术。如果我想使用其他数据库,我必须更改我的数据库名称。谢谢,非常感谢。你的第一个方法就是找到。然而,我更喜欢第二个。但是,在运行该命令后,“mysql\u config\u editor:command not found”。不知道怎么了。这是我的mysql版本“mysql Ver 14.14 Distrib 5.5.32,适用于使用readline 6.2的debian linux gnu(x86_64)”,运行“mysql--version”。mysql配置编辑器是mysql 5.6的一个新功能。我将对上面的内容进行编辑以使其更加清晰。在MySQL 5.5中,您无法获得加密的.mylogin.cnf功能。您应该小心限制$HOME/.my.cnf上的文件权限。
$ cat > $HOME/.my.cnf
[client]
user = scott
password = tiger
host = mydbserver
^D
$ 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