MySQL Utilities - 〜/ .my.cnf选项文件

时间:2013-04-30 12:10:47

标签: mysql passwords utilities

我正在尝试使用2个mysql实用程序mysqldiff和mysqldbcompare,并希望避免将我的密码放在命令行上

是否可以使用选项文件指定数据库连接的密码,以防止我必须指定密码?

这是我目前的那种命令......

/usr/share/mysql-workbench/python/mysqldiff --server1=root@localhost --server2=root@localhost --difftype=sql db1:db2

我在〜/ .my.cnf上也有一个具有“600”权限的文件,其中包含以下内容..

[client]
user=root
password=mypassword

当我通过命令行连接到MySQL时,它会在我的选项文件中获取详细信息,但mysql实用程序不会: - /

2 个答案:

答案 0 :(得分:64)

试试这个 -

[client]
user=root
password="pass"

[mysql]
user=root
password="pass"

[mysqldump]
user=root
password="pass"

[mysqldiff]
user=root
password="pass"

.my.cnf的位置:~/.my.cnf

请参阅标题为Using Option Files

的手册页

答案 1 :(得分:36)

为了增强@ Retraut的答案,请在引号中输入您的密码。如果您的密码中包含特殊字符,那么接受的答案将不起作用,顺便说一下,这是一种很好的安全措施。

[client]
user=root
password="p@$$"

[mysql]
user=root
password="p@$$"

[mysqldump]
user=root
password="p@$$"

[mysqldiff]
user=root
password="p@$$"

http://dev.mysql.com/doc/refman/5.7/en/option-files.html

搜索"这是一个典型的用户选项文件:"并看到他们在那里陈述的例子。祝你好运,我希望能节省一些时间。