我是 MySql 的新手。在 postgres 中,我们可以使用 .pgpass 并保存用户密码,以便数据库可以在您访问或执行您的 sql 脚本时自动验证您的密码。我不必输入密码。
那么有没有办法在 linux 上为 mysql 做同样的事情呢?
谢谢
我是 MySql 的新手。在 postgres 中,我们可以使用 .pgpass 并保存用户密码,以便数据库可以在您访问或执行您的 sql 脚本时自动验证您的密码。我不必输入密码。
那么有没有办法在 linux 上为 mysql 做同样的事情呢?
谢谢
是的,您可以将默认凭据和其他选项存储在您的主目录中的一个名为$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
您可以在快速 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
当然,请确保将此脚本安全地存储在其他用户无法访问的位置,例如您的主文件夹,并相应地设置权限。