Назад | Перейти на главную страницу

Автоматическое обновление mysql на серверах Linux

У нас работает пара Linux-серверов с общим хостом и один частный. Под ними мы запускаем лицензии cPanel / WHM.

Проблема, с которой я столкнулся:

Как я могу запустить следующую команду автоматически?

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

Проблема в том, что мне предлагается ввести пароль root, но я хотел бы запускать эту команду автоматически, и запрос пароля прерывает этот процесс.

Пожалуйста, помогите мне.

Вы можете ввести требуемый пароль либо в [client] раздел вашего ~ / .my.cnf или дополнительный файл конфигурации, который вы указываете с помощью --defaults-extra-file=path/to/yourconfig.cnf

Для получения более подробной информации, пожалуйста, обратитесь к файлы опций сегмент документации MySQL.

Сохраните свои учетные данные root в файле, доступ к которому имеет только пользователь root. Затем просто передайте имя файла учетных данных.

mysqlcheck --defaults-file=/etc/mysql/root.cnf  --auto-repair --check --optimize --all-databases

/etc/mysql/root.cnf

[client]
host     = servername.domain.tld
user     = backup
password = strongpassword

Это не создает серьезной уязвимости в системе безопасности, пока /etc/mysql/root.cnf может быть прочитан только пользователем root, поскольку пользователь root может легко сбросить пароли mysql, вообще не требуя никаких учетных данных mysql.

Вы можете просто ввести пароль в командной строке. Конечно, это имеет некоторые проблемы с конфиденциальностью / безопасностью.

mysqlcheck -uroot -pPASSWORD --auto-repair --check --optimize --all-databases