Используйте команду в файле для входа в mysql или другую оболочку, похожую на окружение

228
RuslanN

Допустим, у нас есть пароль, хранящийся в /root/mysql-password. Есть ли способ подключиться к MySQL без ручного копирования пароля из этого файла и ввода в mysql -u root -p?

Например что-то вроде этого:

mysql -u root -p | /root/mysql-password 
1

2 ответа на вопрос

1
Bryan

Самый простой способ - создать /root/.my.cnfфайл (не забудьте chmod 0600) в следующем формате:

[client] user=root password=rootpass 

Если вы что-то делаете и у вас нет файла /root/.my.cnf, вы можете создать его как, filename.cnfа затем вызвать MySQL --defaults-fileследующим образом:

mysql --defaults-file=/root/squirrellyfiles/filename.cnf 
Спасибо за ответ. Так это единственный способ? И не существует общего "Linux-способа", чтобы делать такие вещи? RuslanN 8 лет назад 0
Извините, я не уверен, что точно понимаю, о чем вы спрашиваете. В Linux у вас обычно есть учетные данные в плоском конфигурационном файле (например, .my.cnf), хешированный или зашифрованный файл, переменные окружения с помощью ключей ssh ​​или запрос пароля. Передача пароля через команду напрямую очень небезопасна. Вы делаете что-то, где файл по умолчанию или .my.cnf не работает для вас? Bryan 8 лет назад 0
Мой пароль находится в файле, и всякий раз, когда я хотел подключиться к mysql, мне приходилось «cat file / with / password» копировать его и «mysql -u user -ppassword». Я думал, что можно автоматизировать ручное копирование. RuslanN 8 лет назад 0
0
Andrew Palmer

Это может не быть предпочтительным способом решения конкретной проблемы, но так называемый «способ Linux» будет заключаться в использовании обратных галочек:

mysql -u root -p `cat /root/mysql-password` 

Похожие вопросы