В дополнение к этому вопросу: Выполнение корневых операций mysql в сценариях bash
Я хотел бы спросить, как ограничить / разрешить это действие (выполнение административных действий root):
mysql --local-path=mypath -e "CREATE..."
для использования только в одном сценарии bash. Может, в этом случае лучше использовать:
mysql -u root -p'mypass'
Я установил отдельного пользователя с привилегиями root (они необходимы для создания / удаления любой базы данных), но таким образом этот пользователь, доступный из любой командной строки без пароля, может что-либо испортить (то же самое, если пользователь видит жестко закодированный пароль).
Может быть, было бы лучше разрешить конкретному пользователю mysql получать доступ только к определенным процедурам / функциям mysql для создания / удаления баз данных и пользователей?
Создайте .my.cnf в безопасном месте и заполните его следующим:
[client]
password = "somepassword"
Затем в вашем задании cron вызовите mysql следующим образом:
mysql --defaults-extra-file = / localtion / to / .my.cnf -e "СОЗДАТЬ ..."