我正在尝试使用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实用程序不会: - /
答案 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
搜索"这是一个典型的用户选项文件:"并看到他们在那里陈述的例子。祝你好运,我希望能节省一些时间。