MySQL Utilities - ~/.my.cnf option file

家住魔仙堡 提交于 2019-12-17 15:23:20

问题


I am trying to use 2 of the mysql utilities, mysqldiff and mysqldbcompare and want to avoid putting my password on the command line

Is it possible to use an option file to specify the password for my DB connection to prevent me having to specify the password?

This is the sort of command that I currently have...

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

I also have a file at ~/.my.cnf that has "600" permissions and contains the following..

[client]
user=root
password=mypassword

When I connect via the command line to MySQL it picks up the details in my option file but the mysql utilities don't :-/


回答1:


Try this -

[client]
user=root
password="pass"

[mysql]
user=root
password="pass"

[mysqldump]
user=root
password="pass"

[mysqldiff]
user=root
password="pass"

Location for .my.cnf: ~/.my.cnf

Please refer to the manual page entitled Using Option Files




回答2:


To enhance on @Retraut's answer get your passwords in quotes. The accepted answer wouldn't work if you have special characters in your password, which by the way, is good security practice.

[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

Search for "Here is a typical user option file:" and see the example they state in there. Good luck, and I hope to save someone else some time.



来源:https://stackoverflow.com/questions/16299603/mysql-utilities-my-cnf-option-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!