Автоматизация mysql_secure_installation через shell-скрипт

У меня ubuntu 22.04 и mysql 8.

Необходимо настроить mysql.

Устанавливаем mysql

apt install mysql-server

После этого надо настроить mysql с помощью команды sudo mysql_secure_installation, но вылезет ошибка «Error: SET PASSWORD has no significance for user ‘root’@’localhost’ as the authentication method used doesn’t store authentication data in the MySQ L server. Please consider using ALTER USER instead if you want to change authentication parameters.»

Ошибка исправляется так

sudo mysql

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

А вот теперь запускаете

sudo mysql_secure_installation

Автоматизация

Скачайте файл

Запустить скрипт можете командой

sh ./mysql_secure.sh GLOBALDBPWD

где GLOBALDBPWD — пароль к mysql, надо придумать

Весь код автоматизации выглядит так

echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'GLOBALDBPWD';" | sudo mysql -u root -pROOTPWD

sh ./mysql_secure.sh GLOBALDBPWD

где GLOBALDBPWD — пароль к mysql, надо придумать; ROOTPWD — пароль root

Успехов!