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

Тема в разделе "Linux", создана пользователем TolikCorp, 30 авг 2013.

  1. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    PHP:
    #!/bin/sh/
       
    ilf="[---]"
       
    ila="[--------------------------------------]"
    #############################################################
    ### Сбор данных
    #############################################################
       
    echo "$ila"
       
    read -"$ilf Введите пароль суперпользователя MySQL:" mysql_root_password
       
    echo "$ila"
       
    echo "$ilf Настройка Базы Данных"
       
    read -"$ilf Введите Имя пользователя Базы Данных:" mysql_db_user
       read 
    -"$ilf Введите Пароль пользователя Базы Данных:" mysql_db_password
       read 
    -"$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 -"$SQL"
       
    echo "$ila"
       
    read -"$ilf Вы хотите разрешить удаленное управление Базой Данных? [Y/n] " response
       
    case $response in
       
    [yY][eE][sS]|[yY])
          echo 
    "$ilf Добавление IP-Адресов"
          
    read -"$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 -"$SQL"
         
    done
       
    ;;
       
    esac
       
    echo "$ila"
    #############################################################
    Скрипт создания базы данных без участия PMA.
    Всё просто: запустили скрипт, задали нужные данные, указали IP-Адреса для удаленного доступа (при необходимости) и готово!

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