Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornyy_praktikum_chast_2.docx
Скачиваний:
98
Добавлен:
25.02.2016
Размер:
968.87 Кб
Скачать

1.2 Создание пользователей и задание им прав

Создание (добавление) и удаление учетных записей пользователей производится командой CREATE USER. Синтаксис команды CREATE USER следующий:

CREATE USER <имя пользователя> [IDENTIFIED BY <пароль>];

Удаление учетной записи пользователя производится с помощью команды DROP USER:

DROP USER <имя пользователя>;

Создание (добавление) и удаление учетных записей пользователей, а также назначение им привилегий осуществляется командами GRANT и REVOKE соответственно.

Основные привилегии СУБД MySQL

Название привилегии

Допустимое действие

SELECT

Считывание данных из таблиц

INSERT

Вставка данных в таблицы

UPDATE

Изменение записей в таблицах

DELETE

Удаление записей из таблиц

INDEX

Создание или уничтожение индексов

ALTER

Модификация структуры таблиц

CREATE

Создание таблиц и баз данных

GRANT

Предоставление другим пользователям привилегий, которые имеет пользователь

DROP

FILE

Удаление баз данных или таблиц

Чтение и запись файлов на сервере с помощью команд LOAD INFILE и SELECT OUTFILE

      1. Синтаксис команд GRANT и REVOKE:

GRANT <тип привилегии> [(<столбцы>)] ОN <таблица>

TO <имя пользователя> [IDENTIFIED BY <пароль>];

REVOKE <тип привилегии> [(<столбцы>)] ON <таблица> FROM <имя пользователя>;

Название таблицы при назначении привилегий пользователю может задаваться в формате <название базы данных>.<таблица>. Если указать в качестве названия БД или таблицы символ *, то это будет означать, что привилегия относится ко всем БД или таблицам.

Имена новых пользователей можно добавить, применяя команду GRANT. Учетная запись пользователя admin с паролем somepass, имеющего полный набор привилегий, с правом локального подключения к серверу создается командой:

GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'somepass';

Учетная запись пользователя user с паролем userpass, имеющего привилегии выборки, модификации и вставки данных во всех БД, с правом локального подключения к серверу создается командой:

mysql> GRANT SELECT, UPDATE, INSERT ON *.* TO user@localhost IDENTIFIED BY 'userpass';

Чтобы обновить настройки привилегий сервера без перезагрузки применяется команда:

FLUSH PRIVILEGES;

Для проверки работы системы привилегий необходимо подключиться к СУБД под именем созданного пользователя:

c:\>mysql –u admin –p

Параметр –p означает необходимость ввода пароля при подключении к серверу.

1.3 Копирование и восстановление бд

Утилита mysqldump позволяет получить дамп содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.

Так же mysqldump имеет возможность развертывания баз данных из созданного sql-файла.

Пример использования mysqldump для создания дампа базы данных «database» при помощи перенаправления потока в файл «database.sql»:

mysqldump -uroot -hlocalhost -p database > database.sql

-u или --user=... — имя пользователя

-h или --host=... — удаленный хост (для локального хоста можно опустить этот параметр)

-p или --password — запросить пароль

database — имя базы данных

database.sql — файл для дампа

Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр --databases (или сокращенно -B), пример:

mysqldump -uroot -hlocalhost -p -B database1 database2 database3 > databases.sql

А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр --all-databases (или сокращенно -A), пример:

mysqldump -uroot -hlocalhost -p -A > all-databases.sql

Для того, чтобы развернуть дамп, перенаправляем поток в обратную сторону и развертываем базу данных:

mysql -uroot -hlocalhost -p database < database.sql

Или через mysql-console:

mysql> use database;

mysql> source database.sql

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]