我是MySql的新手。在postgres中,我们可以使用.pgpass并保存用户密码,以便数据库可以在您访问或执行sql脚本时自动验证您的密码。我没有输入密码。
那么有没有办法在linux上为mysql做同样的事情?
由于
答案 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
当然要确保此脚本安全地存储在其他用户无法访问的位置,例如您的主文件夹,并相应地设置权限。