Утилиты MySQL - ~/.my.cnf
Я пытаюсь использовать 2 утилит mysql, mysqldiff и mysqldbcompare и хочу, чтобы не помещать мой пароль в командной строке
Можно ли использовать файл опций для указания пароля для моего подключения к БД, чтобы я не мог указать пароль?
Это команда, которую я в настоящее время имею...
/usr/share/mysql-workbench/python/mysqldiff [email protected] [email protected] --difftype=sql db1:db2
У меня также есть файл ~/.my.cnf, который имеет разрешения "600" и содержит следующее.
[client]
user=root
password=mypassword
Когда я подключаюсь через командную строку к MySQL, он выбирает детали в моем файле параметров, но утилиты mysql не выполняют: -/
Ответы
Ответ 1
Попробуйте это -
[client]
user=root
password="pass"
[mysql]
user=root
password="pass"
[mysqldump]
user=root
password="pass"
[mysqldiff]
user=root
password="pass"
Расположение .my.cnf: ~/.my.cnf
См. страницу руководства Использование файлов параметров
Ответ 2
Чтобы усилить ответ @Retraut, получите свои пароли в кавычках. Принятый ответ не будет работать, если у вас есть специальные символы в вашем пароле, который, кстати, является хорошей практикой безопасности.
[client]
user=root
password="[email protected]$$"
[mysql]
user=root
password="[email protected]$$"
[mysqldump]
user=root
password="[email protected]$$"
[mysqldiff]
user=root
password="[email protected]$$"
http://dev.mysql.com/doc/refman/5.7/en/option-files.html
Найдите "Вот типичный файл пользовательских параметров:" и посмотрите пример, который они там укажут. Удачи, и я надеюсь немного сэкономить время.