Similar presentations:
Администрирование БД. Обзор задач администрирования
1.
Администрирование БД2.
Обзор задачадминистрирования
3.
Аспекты работы MySQL1. Сервер MySQL. Сервер mysqld выполняет все операции с
базами данных и таблицами. Для запуска сервера,
мониторинга его работы и перезапуска в случае сбоя
применяется программа safe_mysqld (демон)
2. Клиентские программы и утилиты MySQL. Для
взаимодействия с сервером и выполнения ряда
административных задач используются различные
программы MySQL, наиболее важными среди которых
являются следующие:
4.
• mysql. Интерактивная программа, позволяющая отправлятьSQL-запросы на сервер и просматривать результаты их
выполнения.
• mysqladmin. Административная программа, позволяющая
выполнять такие операции, как завершение работы
сервера, создание и удаление баз данных. Эту же
программу можно применять для проверки состояния
сервера, если что-то в его работе не так.
• isamchk или myisamchk. Утилиты, предназначенные для
анализа и оптимизации таблиц, а также восстановления их
в случае повреждения.
• mysqldump. Средство резервирования баз данных или их
копирования на другой сервер.
5.
3. SQL - язык сервера. Некоторые задачиадминистрирования можно выполнить только с
помощью утилиты командной строки mysqladmin.
Иногда гораздо эффективней справиться с
задачей может администратор, который может
"общаться" с сервером на его языке.
Предположим, что необходимо проверить, почему
привилегии пользователя работают вовсе не так,
как ожидается. Напрямую "поговорить" с сервером
на человеческом языке, к сожалению, нельзя. Зато
можно воспользоваться программойклиентом mysql и послать SQL-запрос для
анализа таблиц разрешений.
6.
4. Каталог данных MySQL. Каталог данныхиспользуется сервером для хранения баз данных и
файлов состояния. Важно понимать структуру и
содержимое каталога данных, чтобы знать, как
сервер представляет свои базы данных и таблицы в
файловой системе, где хранятся различные файлы
(например, регистрационные) и что в них
содержится. Необходимо также уметь управлять
распределением дискового пространства, чтобы
избежать переполнения раздела с каталогом
данных.
7.
Общееадминистрирование
8.
Общее администрирование включаетв себя в основном работу с
демоном mysqld, сервером MySQL и
обеспечение доступа пользователей. К
наиболее важным задачам общего
администрирования относятся
следующие.
9.
•Запуск и остановка сервера.Администратор должен уметь
запускать и останавливать сервер
вручную из командной строки и
настраивать автоматический запуск и
завершение работы. Важно также
знать, как восстановить работу
сервера в случае сбоя или
некорректного функционирования.
10.
• Поддержка учетных записейпользователей. Администратор должен отчетливо
понимать разницу между пользователями MySQL и
пользователями UNIX и Windows, а также уметь
настраивать учетные записи пользователей MySQL. Такая
настройка зачастую заключается в определении, какие
пользователи и с какого компьютера смогут подключаться к
серверу. Новым пользователям необходимо, кроме всего
прочего, сообщить свои параметры подключения, чтобы
успешно настроить обмен данными с сервером. Настройка
учетных записей — это задача администратора, а не
пользователей!
11.
• Поддержка регистрационных файлов.Администратор должен знать,
регистрационные файлы каких типов
необходимо проверять и поддерживать, а
также каким образом и когда выполнять
эти операции. Последовательный
просмотр и замена регистрационных
журналов позволит избежать
переполнения ими используемых дисков.
12.
• Резервирование и копирование баз данных. Резервированиебаз данных — исключительно важная операция, позволяющая в
случае необходимости восстановить работу системы после
сбоя. Желательно, конечно, чтобы имелась возможность
восстановить базы данных до того состояния, в котором они
находились перед сбоем. В этом случае потеря данных будет
минимальной. Заметьте, однако, что резервирование баз данных
отличается от резервирования информации всей системы,
выполняемой, например, с помощью UNIX-программы dump. В
процессе активной работы сервера файлы таблиц базы данных,
как правило, подвергаются изменениям. Восстановление
файлов, зарезервированных в какой-то определенный момент
времени, не позволит в полной мере восстановить базу данных,
т.е. потеря определенной части данных неизбежна. Более
полезными для восстановления базы данных являются файлы,
сгенерированные программой mysqldump. С ее помощью можно
выполнять резервирование без предварительного завершения
работы сервера.
13.
• Настройка сервера. Пользователи всегда хотят, чтобысервер работал максимально быстро. Самый быстрый и
неэкономный метод повышения производительности
сервера — приобретение и установка большего объема
памяти и более быстрых дисков. Разбираться в работе
сервера при применении подобных методов вовсе
необязательно. Администратору необходимо знать, какие
параметры применяются для настройки работы сервера и
как их значения повлияют на ситуацию. Одни клиенты
пользуются запросами в основном для выборки
необходимой информации из баз данных, другие — в
основном для добавления и обновления информации.
Поэтому решение об изменении значений тех или иных
параметров зачастую определяется типом запросов,
отправляемых к узлу.
14.
• Установка нескольких серверов. В некоторыхслучаях возникает необходимость в запуске сразу
нескольких серверов. Она может определяться
желанием протестировать работу новой версии
MySQL перед полным переходом на нее или
обеспечить более высокий уровень защиты для
отдельных групп и пользователей. (Последний
вариант, в частности, относится к провайдерам
интернет-услуг.) В таких ситуациях администратор
должен знать, как установить и настроить несколько
одновременно работающих инсталляций.
15.
• Обновление MySQL. Новые версии MySQLпоявляются достаточно часто. Администратор
должен знать, как обновить старую версию
для устранения найденных ошибок
программного кода и добавления новых
возможностей. Следует также понимать, что
иногда имеет смысл воздержаться от
обновления, а также уметь выбирать между
официальными (стабильными) и тестовыми
версиями этого программного продукта.
16.
Безопасность17.
В процессе инсталляции MySQL важнотакже обеспечить надежную защиту
хранимых
данных. Администратор MySQL
полностью отвечает за предоставление
доступа к каталогам данных и серверу и
должен разбираться в следующих
вопросах.
18.
• Защита файловой системы. В ОС UNIX могутподдерживаться несколько учетных записей пользователей,
не обладающих полномочиями администратора MySQL.
Необходимо проверить, чтобы эти пользователи не имели
доступа к каталогам данных. Это позволит защититься от
несанкционированного копирования или удаления таблиц
баз данных либо чтения регистрационных файлов с
критически важной информацией. Администратор должен
знать, как настроить учетные записи пользователей UNIX
для сервера MySQL, как сделать каталог данных доступным
только для владельца и как определить привилегии
пользователей сервера.
19.
• Защита сервера. Знание принципов работысистемы безопасности MySQL поможет
правильно настроить пользовательские
учетные записи и полномочия доступа.
Подключающиеся через сеть к серверу
пользователи должны обладать правами
доступа только к самой необходимой
информации. Полное игнорирование
системы безопасности может обернуться
предоставлением прав администратора
анонимному пользователю.
20.
Отладка и поддержка базданных
21.
В душе каждый администраторMySQL надеется избежать
повреждения или полного разрушения
таблиц баз данных. Однако одних
надежд мало. Выполнение
определенных процедур позволит
минимизировать риск сбоя и оказаться
более подготовленным к негативному
развитию событий.
22.
• Восстановление после сбоя. Сбой может разрушитьрезультаты даже самых успешных действий, поэтому
администратор должен обязательно знать, как отладить и
восстановить таблицы баз данных. Восстановление после
сбоя — это процесс, выполняемый весьма редко. Однако он
очень неприятен и, как правило, сопровождается
пребыванием администратора в стрессовом состоянии
(которое может еще более усугубляться постоянными
звонками и стуком в дверь.) Для восстановления
применяются средства проверки и восстановления isamchk и myisamchk. Необходимо обязательно научиться
восстанавливать информацию из резервных файлов и
использовать записи регистрационных журналов для
восстановления всех изменений, внесенных с момента
последнего резервирования.
23.
•Превентивная поддержка. Дляснижения вероятности повреждения или
разрушения баз данных следует
постоянно применять программы
превентивной поддержки. Необходимо
также выполнять и резервирование,
хотя, конечно, выполнение мер
превентивной поддержки снижает
возможность их использования.
24.
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ MYSQL•Следующая команда создает
пользователя newuser с
паролем password:
CREATE USER 'newuser'@'localhost'
IDENTIFIED BY 'password';
25.
•Созданный пользователь имеетдоступ к MySQL только с локалхоста.
Чтобы пользователь мог
подключаться с любого IP адреса,
команда будет такая:
CREATE USER 'newuser'@'%' IDENTIFIED BY
'password';
26.
• На данном этапе созданныйпользователь newuser не имеет прав делать
что-либо с базами данных. Он даже не сможет
зайти в консоль MySQL со своим
логином/паролем. Значит нужно предоставить
пользователю доступ к информации, которая
ему потребуется.
GRANT ALL PRIVILEGES ON * . * TO
'newuser'@'localhost';
27.
• Звездочки в этой команде задают базу и таблицу,соответственно, к которым у пользователя будет
доступ. Конкретно эта команда позволяет
пользователю читать, редактировать, выполнять
любые действия над всеми базами данных и
таблицами.
• После завершения настройки прав доступа новых
пользователей необходимо обновить все права
доступа такой командой:
FLUSH PRIVILEGES;
• Теперь ваши изменения вступят в силу.
28.
Как настроить различные правадоступа
Список некоторых возможных вариантов прав доступа, которые могут
получить пользователи:
• ALL PRIVILEGES – даст пользователю MySQL полный доступ к
заданной базе данных (если база данных не указана, то ко всем).
• CREATE – позволяет создавать новые таблицы или базы данных.
• DROP – позволяет удалять таблицы или базы данных.
• DELETE – позволяет удалять строки из таблиц.
• INSERT – позволяет добавлять строки в таблицу.
• SELECT – позволит использовать команду Select для чтения из баз
данных.
• UPDATE – позволит редактировать строки таблиц.
• GRANT OPTION – позволит назначать или удалять права доступа для
других пользователей.
29.
• Для назначения прав конкретному пользователюможно использовать следующую схему:
GRANT [тип прав] ON [название базы данных].[название
таблицы] TO ‘[имя
пользователя]’@'localhost’;Используйте звездочку (*)
вместо названия базы данных или таблицы, если вы
хотите дать доступ к любой базе данных или к
любой таблице.
• После любого изменения прав доступа нужно
выполнять команду:
FLUSH PRIVILEGES;
30.
•Лишение прав доступа похоже на ихназначение:
REVOKE [тип прав] ON [название базы
данных].[название таблицы] FROM ‘[имя
пользователя]’@‘localhost’;
•Команда DROP удаляет
пользователя:
DROP USER ‘demo’@‘localhost’;