[СКРИПТ] Создание базы данных, пользователя, удаленный доступ. MySQL

TolikCorp

Участник
Сообщения
874
Реакции
334
PHP:
#!/bin/sh/
   ilf="[---]"
   ila="[--------------------------------------]"
#############################################################
### Сбор данных
#############################################################
   echo "$ila"
   read -p "$ilf Введите пароль суперпользователя MySQL:" mysql_root_password
   echo "$ila"
   echo "$ilf Настройка Базы Данных"
   read -p "$ilf Введите Имя пользователя Базы Данных:" mysql_db_user
   read -p "$ilf Введите Пароль пользователя Базы Данных:" mysql_db_password
   read -p "$ilf Введите Имя Базы Данных:" mysql_db_name
   echo "$ila"
#############################################################
   Q1="CREATE DATABASE IF NOT EXISTS $mysql_db_name ;"
   Q2="CREATE USER '$mysql_db_user'@'localhost' IDENTIFIED BY '$mysql_db_password';"
   Q3="GRANT USAGE ON *.* TO '$mysql_db_user'@'localhost' IDENTIFIED BY '$mysql_db_password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;"
   Q4="GRANT ALL PRIVILEGES ON $mysql_db_name.* TO '$mysql_db_user'@'localhost';"
   Q5="FLUSH PRIVILEGES;"
   SQL="${Q1}${Q2}${Q3}${Q4}${Q5}"
   mysql --verbose --user=root --password=$mysql_root_password --host=localhost -e "$SQL"
   echo "$ila"
   read -p "$ilf Вы хотите разрешить удаленное управление Базой Данных? [Y/n] " response
   case $response in
   [yY][eE][sS]|[yY])
      echo "$ilf Добавление IP-Адресов"
      read -p "$ilf Введите IP-Адреса через пробел (например, 8.8.8.8 8.8.4.4 ):" mysql_hosts
      for i in ${mysql_hosts};do
        echo "$ilf Добавление ${i}"
        Q2="CREATE USER '$mysql_db_user'@'$i' IDENTIFIED BY '$mysql_db_password';"
        Q3="GRANT USAGE ON *.* TO '$mysql_db_user'@'$i' IDENTIFIED BY '$mysql_db_password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;"
        Q4="GRANT ALL PRIVILEGES ON $mysql_db_name.* TO '$mysql_db_user'@'$i';"
        Q5="FLUSH PRIVILEGES;"
        SQL="${Q2}${Q3}${Q4}${Q5}"
        mysql --verbose --user=root --password=$mysql_root_password --host=localhost -e "$SQL"
     done
   ;;
   esac
   echo "$ila"
#############################################################
Скрипт создания базы данных без участия PMA.
Всё просто: запустили скрипт, задали нужные данные, указали IP-Адреса для удаленного доступа (при необходимости) и готово!

Перед запуском файл-скрипта не забудьте про "chmod +x СКРИПТ"
 
Сверху Снизу