我正在使用mysql命令行客户端,我不想每次启动客户端时都需要提供密码。 我有什么select?
在主目录中创build一个名为.my.cnf的文件,如下所示。 确保文件系统权限设置为只有拥有的用户才能读取(0600)。
[client] host = localhost user = username. password = thepassword socket = /var/run/mysqld/mysqld.sock #database = mysql
既然你也标记了你的问题mysqldump你应该看看这个问题。
在没有root密码的cron作业中使用mysqldump
更新(2016-06-29)如果您正在运行MySQL 5.6.6或更高版本,您应该查看mysql_config_editor工具,该工具允许您将凭据存储在encryption文件中。 感谢乔瓦尼提到这个给我。
您可以使用mysql_config_editor实用程序将authentication凭证存储在名为.mylogin.cnf的encryptionloginpath文件中。
要创build一组新的凭据,请运行:
mysql_config_editor set --host=db.host.org --user=dbuser --password
并在提示时input密码。
这会将您的身份validation凭据存储在默认的clientloginpath中。
您可以通过指定不同的--login-path选项来存储多个authentication凭证:
mysql_config_editor set --login-path=db2 --host=db2.host.org --user=dbuser --password
默认情况下, mysql客户[client]从其他选项文件中读取[client]和[mysql]组,以便从loginpath文件中读取它们。 使用--login-path选项,客户端程序还会从loginpath文件中读取指定的loginpath。 从其他选项文件读取的选项组保持不变。 考虑这个命令:
mysql --login-path=db2
mysql客户[client]从其他选项文件中读取[client]和[mysql] ,从loginpath文件中读取[client] , [mysql]和[mypath] 。
要打印出存储在configuration文件中的所有信息,请运行:
mysql_config_editor print --all=true
有关该实用程序的更多信息可以在“mysql_config_editor – MySQLconfiguration实用程序”中find 。