Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.41 Mб
Скачать

Администрирование сервера.

  1. Резервное копирование и восстановление информации;

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

Способы создания бекапа:

А) Полный бекап.

Используем утилиту командной строки mysqldump. Параметров этой утилиты очень, очень много.

Создание: mysqldump –uroot –proot shop > backup.sql

Восстановление: mysql –uroot –proot shop< backup.sql

(запускать из под админа, в командной строке заходим в папку, где установлен сервер, с помощью команды >cd путь, затем запускаем mysqldump.exe, далее уже команда)

Б) Бекап таблицы.

Создание: mysqldump –uroot –proot shop продажи> C:\Program Files\MySQL\MySQL Server 5.6\bin\backup

  1. Разделение прав пользователей;

Есть две команды создать пользователя и удалить пользователя. У каждого пользователя есть Логин, хост(место подключения, машина, сетевой путь) и пароль. С разных машин можно дать разные права одному и тому же пользователю. Имя пользователя состоит из двух частей его логин @ хост, в качестве хоста может быть имя, сетевой адрес или айпишник. Если не требуется айпишник, то ставим %

Пример: create user ‘fedya’@’%’

Вход: mysql –u fedya

Но ему пока ничего не доступно.

Задать пароль: SET Password FOR ‘fedya’@’%’ = PASSWORD(‘root’);

Сам по себе сервер mysql хранит логины и пароли в отдельной БД mysql.user

Задать пароль можно простым обновлением записи в этой базе данных.

Можно создать пользователя и установить ему пароль сразу же:

create user ‘vasya’@’%’ IDENTIFIED BY ‘root’;

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

GRANT операция_которую_можно_делать

ON Таблица

TO USER

Доступ можно дать к таблице, функции, вьюшке, к колонке.

Например,

GRANT SELECT

ON SHOP.*

TO ‘fedya’@’%’

Или

GRANT SELECT, INSERT

ON SHOP.*

TO ‘fedya’@’%’

Или на конкретную таблицу:

GRANT SELECT, INSERT

ON SHOP.Продажи

TO ‘fedya’@’%’

Забрать права:

REVOKE операция_которую_нужно_забрать

ON Таблица

FROM USER

Запрос тормоз:

SELECT COUNT(*) FROM CITI C1 WHERE EXISTS(SELECT * FROM CITY C2 WHERE C1.NAME = C2.NAME)

Запрос создание таблицы на др движке

CREATE TABLE CITY1 ENGINE=MYISAM SELECT * FROM WORLD.CITY;

CREATE TABLE CITY2 ENGINE=INNODB SELECT * FROM WORLD.CITY;