34 lines
1.4 KiB
Bash
Executable File
34 lines
1.4 KiB
Bash
Executable File
#!/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 |