Главная страница
Навигация по странице:

  • Цель работы: знакомство с системой безопасности в MySQL . Система привилегий и безопасность в MySQL

  • База данных mysql и таблицы привилегий.

  • Field Type Null Key Default

  • Insert into user (host, user, password, ssl_cipher

  • отчет. Учебная практика 4ИП. Практическая работа 1 2 Построение er модели. 2 Практическая работа 2. 10 Выборка с использованием условий отбора. 10


    Скачать 1.35 Mb.
    НазваниеПрактическая работа 1 2 Построение er модели. 2 Практическая работа 2. 10 Выборка с использованием условий отбора. 10
    Анкоротчет
    Дата11.04.2021
    Размер1.35 Mb.
    Формат файлаdoc
    Имя файлаУчебная практика 4ИП.doc
    ТипПрактическая работа
    #193658
    страница10 из 12
    1   ...   4   5   6   7   8   9   10   11   12

    Практическая работа №15

    Создание пользователей базы данных, выдача привилегий.


    Цель работы: знакомство с системой безопасности в MySQL.
    Система привилегий и безопасность в MySQL

    • User

    • Db

    • Host

    • Пользовательские привилегии

    База данных mysql и таблицы привилегий.

    Итак, вы успешно вошли в базу данных mysql, которая используется для администрирования сервера. Что же здесь находится? А находятся здесь 5 таблиц, которые ничем не отличаются от других таблиц баз данных, за исключением того, что эти таблицы используются для предоставления доступа к базам данных и таблицам в них пользователям. Рассмотрим каждую из них.

    Введите следующую команду, show tables, которая покажет таблицы в базе данных mysql.

    Кратко рассмотрим функции каждой из таблиц:

    Таблица User

    Определяет, разрешено ли пользователю, пытающемуся подключиться к серверу делать это. Содержит имя пользователя, пароль а также привилегии. Если ввести команду show columns from user; то получим следующее:

    Структура таблицы User

    Field

    Type

    Null

    Key

    Default

    Extra

    Host

    char(60)




    PRI







    User

    char(16)




    PRI







    Password

    char(41)













    Select_priv

    enum('N','Y')







    N




    Insert_priv

    enum('N','Y')







    N




    Update_priv

    enum('N','Y')







    N




    Delete_priv

    enum('N','Y')







    N




    Create_priv

    enum('N','Y')







    N




    Drop_priv

    enum('N','Y')







    N




    Reload_priv

    enum('N','Y')







    N




    Shutdown_priv

    enum('N','Y')







    N




    Process_priv

    enum('N','Y')







    N




    File_priv

    enum('N','Y')







    N




    Grant_priv1

    enum('N','Y')







    N




    References_priv

    enum('N','Y')







    N




    Index_priv

    enum('N','Y')







    N




    Alter_priv

    enum('N','Y')







    N




    Show_db_priv

    enum('N','Y')







    N




    Super_priv

    enum('N','Y')







    N




    Create_tmp_table_priv

    enum('N','Y')







    N




    Lock_tables_priv

    enum('N','Y')







    N




    Execute_priv

    enum('N','Y')







    N




    Repl_slave_priv

    enum('N','Y')







    N




    Repl_client_priv

    enum('N','Y')







    N




    Create_view_priv

    enum('N','Y')







    N




    Show_view_priv

    enum('N','Y')







    N




    Create_routine_priv

    enum('N','Y')







    N




    Alter_routine_priv

    enum('N','Y')







    N




    Create_user_priv

    enum('N','Y')







    N




    Event_priv

    enum('N','Y')







    N




    Trigger_priv

    enum('N','Y')







    N




    ssl_type

    enum('','ANY','X509','SPECIFIED')













    ssl_cipher

    blob







    NULL




    x509_issuer

    blob







    NULL




    x509_subject

    blob







    NULL




    max_questions

    int(11) unsigned







    0




    max_updates

    int(11) unsigned







    0




    max_connections

    int(11) unsigned







    0




    max_user_connections

    int(11) unsigned







    0




    Изначально эта таблица содержит пользователя root без пароля. По умолчанию root может входить с любого хоста, имеет все привилегии и доступ ко всем базам данных.Также в таблице содержится запись для пользователя '%'.

    В БД MYSQL содержатся таблицы, называемых таблицами привилегий. Система привилегий будет подробно рассмотрена в следующих работах, а пока вы можете выполнить команды на добавления своего пользователя:

    Для добавления нового пользователя your_name, можно выполнить следующие операторы языка (Insert):


    Insert into user (host, user, password, ssl_cipher2, x509_issuer, x509_subject ) values ('localhost’, 'your_name', password('your_pass'), ‘’, ‘’, ‘’);
    Выполнением команды

    Select host, user, password from user;

    Мы выводим перечисленные поля в виде таблицы


    Host

    User

    Password

    %

    root

    456g879k34df9




    Если необходимо выделить все столбцы таблицы, то необходимо набрать * в качестве аргумента команды select.

    Чтобы изменения вступили в силу нужно перегрузить сервер, предварительно закончив текущий сеанс работы командой quit.

    mysqladmin -urootreload(эта команда перегружает сервер)

    После установки пароля для пользователя нужно перезагрузить сервер командой mysqladmin reload, чтобы изменения вступили в силу. После этого можно попробовать войти снова:


    Mysql/bin/mysql -u your_name -p mysql

    Enter password:*******

    Если же после этой операции вы не получите приглашение ко входу, то необходимо будет повторить вход в сервер под учетной записью ROOT и назначить необходимые права. Т.о., недостаточно добавить сведения о пользователе в системную БД, дополнительно необходимо назначить права пользователю, после чего можно начинать настраивать таблицы привилегий, вводить новых пользователей, создавать базы данных и таблицы, то есть делать все то, что называется администрированием. Назначить права можно указанием инструкцией INSERT для заполнения соответствующие привилегии

    Mysql/bin/mysql -uroot

    И выполнить следующий запрос к БД:
    Mysql>USE MYSQL;

    Mysql>GRANT ALL PRIVILEGES ON *.* TO 'your_name'@'localhost3' IDENTIFIED BY 'your_pass' WITH GRANT OPTION;

    Mysql>FLUSH PRIVILEGES;

    1   ...   4   5   6   7   8   9   10   11   12


    написать администратору сайта