#!/usr/bin/env bash if [ $(ls /var/lib/mysql | wc -l) -eq 0 ]; then DB_DATA_PATH="/var/lib/mysql" DB_ROOT_PASS="password" DB_USER="user" DB_PASS="password" DB_NAME="dbname" # 1. Инициализация с созданием системных таблиц mysqld --user=mysql --datadir=${DB_DATA_PATH} --initialize-insecure \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci # 2. Временный запуск для настройки mysqld --user=mysql --datadir=${DB_DATA_PATH} --skip-grant-tables & sleep 15 # 3. Настройка root пароля и базовых привилегий mysql -u root -e "FLUSH PRIVILEGES;" mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${DB_ROOT_PASS}';" mysql -u root -p"${DB_ROOT_PASS}" -e "CREATE DATABASE ${DB_NAME};" mysql -u root -p"${DB_ROOT_PASS}" -e "CREATE USER '${DB_USER}'@'%' IDENTIFIED BY '${DB_PASS}';" mysql -u root -p"${DB_ROOT_PASS}" -e "GRANT ALL ON ${DB_NAME}.* TO '${DB_USER}'@'%';" mysql -u root -p"${DB_ROOT_PASS}" -e "FLUSH PRIVILEGES;" # 4. Остановка временного сервера mysqladmin -u root -p"${DB_ROOT_PASS}" shutdown sleep 5 # 5. Нормальный запуск # mysqld --user=mysql --datadir=${DB_DATA_PATH} & # sleep 5 fi