Пожалуйста, примите ответы на некоторые из ваших предыдущих вопросов, поскольку некоторые из этих ответов были правильными решениями - нажмите на отмеченную галочку слева от ответа.
Шейн Мэдден
Ответы:
15
Создайте файл с именем .my.cnfв вашем домашнем каталоге, который выглядит следующим образом. Убедитесь, что права доступа к файловой системе установлены так, что только пользователь-владелец может читать их (0600).
[client]
host = localhost
user = username.
password = thepassword
socket = /var/run/mysqld/mysqld.sock
#database = mysql
Поскольку вы также пометили свой вопрос mysqldump, вы должны посмотреть на этот вопрос.
Обновление (2016-06-29) Если вы работаете с mysql 5.6.6 или более поздней версии, обратите внимание на инструмент mysql_config_editor , который позволяет хранить учетные данные в зашифрованном файле. Спасибо Джованни за упоминание об этом мне.
Если ответ решил вашу проблему, нажмите на флажок, чтобы принять его.
Зоредаче
1
Это будет хранить пароль в виде простого текста, что я бы не рекомендовал с точки зрения безопасности.
Джованни
@ Джованни, конечно, хотя mysql_config_editor, который вы упомянули в своем ответе, пока не будет полезен, пока вы не запустите 5.6.6. Сегодня все еще существуют дистрибутивы, которые имеют более старые версии.
Зоредаче
Но как это сделать в Windows?
Wolfpack'08
9
Вы можете использовать эту mysql_config_editorутилиту для хранения учетных данных аутентификации в зашифрованном файле с именем входа .mylogin.cnf.
Чтобы создать новый набор учетных данных, выполните:
mysql_config_editor set --host=db.host.org --user=dbuser --password
и введите свой пароль, когда будет предложено.
Это сохранит ваши учетные данные для аутентификации в clientпути входа по умолчанию .
Вы можете сохранить несколько учетных данных для аутентификации, указав другую --login-pathопцию:
mysql_config_editor set --login-path=db2 --host=db2.host.org --user=dbuser --password
По умолчанию, mysqlклиент читает [client]и [mysql]группы из других файлов опции, поэтому он считывает их из файла Войти пути , а также. При наличии --login-pathопции клиентские программы дополнительно считывают именованный путь входа в систему из файла пути входа в систему. Группы опций, считанные из других файлов опций, остаются прежними. Рассмотрим эту команду:
mysql --login-path=db2
mysqlКлиент читает [client]и [mysql]из других файлов опций, а также [client], [mysql]и [mypath]из файла Логин пути.
Чтобы распечатать всю информацию, хранящуюся в файле конфигурации, выполните:
Мы не должны притворяться, что .mylogin.cnf вообще безопасен, так как я могу использовать my_print_defaults -s [use your login-path]этот пароль в виде простого текста. Вот почему MariaDB не поддерживает такой подход «безопасность по неизвестности».
Есть другой способ, ортогональный вышеупомянутым методам, но он может представлять угрозу безопасности, если кто-то еще наблюдает за вашим монитором, ИЛИ если вы сохраняете свою историю .
Тем не менее, это опция, которая будет препятствовать вашему приглашению, и та, которую я использую в одноразовых образах докеров и прочее ....
mysql -u YOUR_USER --password=YOUR_PASSWORD_HERE your_database -e "your query" etc.
Вам не будет предложено, вы можете установить временный псевдоним в оболочке, если хотите.
Используйте с осторожностью.
mysql Ver 14.14 Distrib 5.5.61-38.13, для debian-linux-gnu (x86_64) с использованием readline 5.1
Ответы:
Создайте файл с именем
.my.cnf
в вашем домашнем каталоге, который выглядит следующим образом. Убедитесь, что права доступа к файловой системе установлены так, что только пользователь-владелец может читать их (0600).Поскольку вы также пометили свой вопрос mysqldump, вы должны посмотреть на этот вопрос.
Использование mysqldump в работе cron без пароля root
Обновление (2016-06-29) Если вы работаете с mysql 5.6.6 или более поздней версии, обратите внимание на инструмент mysql_config_editor , который позволяет хранить учетные данные в зашифрованном файле. Спасибо Джованни за упоминание об этом мне.
источник
Вы можете использовать эту
mysql_config_editor
утилиту для хранения учетных данных аутентификации в зашифрованном файле с именем входа.mylogin.cnf
.Чтобы создать новый набор учетных данных, выполните:
и введите свой пароль, когда будет предложено.
Это сохранит ваши учетные данные для аутентификации в
client
пути входа по умолчанию .Вы можете сохранить несколько учетных данных для аутентификации, указав другую
--login-path
опцию:По умолчанию,
mysql
клиент читает[client]
и[mysql]
группы из других файлов опции, поэтому он считывает их из файла Войти пути , а также. При наличии--login-path
опции клиентские программы дополнительно считывают именованный путь входа в систему из файла пути входа в систему. Группы опций, считанные из других файлов опций, остаются прежними. Рассмотрим эту команду:mysql
Клиент читает[client]
и[mysql]
из других файлов опций, а также[client]
,[mysql]
и[mypath]
из файла Логин пути.Чтобы распечатать всю информацию, хранящуюся в файле конфигурации, выполните:
Дополнительную информацию об утилите можно найти по адресу "mysql_config_editor - MySQL Configuration Utility" .
источник
Мы не должны притворяться, что .mylogin.cnf вообще безопасен, так как я могу использовать
my_print_defaults -s [use your login-path]
этот пароль в виде простого текста. Вот почему MariaDB не поддерживает такой подход «безопасность по неизвестности».источник
Есть другой способ, ортогональный вышеупомянутым методам, но он может представлять угрозу безопасности, если кто-то еще наблюдает за вашим монитором, ИЛИ если вы сохраняете свою историю .
Тем не менее, это опция, которая будет препятствовать вашему приглашению, и та, которую я использую в одноразовых образах докеров и прочее ....
Вам не будет предложено, вы можете установить временный псевдоним в оболочке, если хотите.
Используйте с осторожностью.
mysql Ver 14.14 Distrib 5.5.61-38.13, для debian-linux-gnu (x86_64) с использованием readline 5.1
источник