Чтение онлайн

на главную - закладки

Жанры

MySQL 5.0. Библиотека программиста

Гольцман Виктор

Шрифт:

и

SET PASSWORD FOR \'anna\'@\'%\' = \'*006B99DE1BDA1BE6E1FFF714E764A8FAB0E614DF\

устанавливают пароль newannapassword для пользователя anna, подключающегося с любого компьютера. Эти команды никак не влияют на другие учетные записи, например пароль учетной записи с идентификатором \'anna\'@\'localhost\' не изменится.

Если вы забыли пароль пользователя root и не можете подключиться к серверу для выполнения команды SET PASSWORD, выполните более сложную последовательность действий.

1. Остановите сервер MySQL. Если он был сконфигурирован как сервис Windows, это можно сделать с помощью панели управления (об этом говорилось в подразделе «Запуск и остановка сервера MySQL с панели управления»). Если сервер не был сконфигурирован как сервис Windows, нажмите комбинацию клавиш Ctrl+Alt+Del, в появившемся окне Диспетчер задач Windows перейдите на вкладку Процессы, затем

щелкните на названии процесса mysqld-nt.exe и нажмите кнопку Завершить процесс.

2. Создайте init-файл. Для этого запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот). В окне программы Блокнот введите следующие SQL-команды (рис. 5.1).

Рис. 5.1. Init-файл

UPDATE mysql.user SET Password=PASSWORD(\'<Новый пароль root>\') WHERE

User=\'root\

FLUSH PRIVILEGES;

...

Внимание!

Важно, чтобы каждая из команд располагалась в одной строке текстового файла, как показано на рис. 5.1.

Для сохранения init-файла нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как выберите папку, в которую нужно поместить файл (например, C:\). Введите имя файла (например, mysql.init) и нажмите кнопку Сохранить.

3. Откройте окно командной строки Windows. Для этого нажмите кнопку Пуск, в меню выберите пункт Выполнить, в появившемся окне Запуск программы в поле Открыть введите команду cmd и нажмите кнопку OK. На экране возникнет окно командной строки, в которой выполните следующую команду (рис. 5.2):

mysqld-nt –defaults-file=<Путь к файлу my.ini> –init-file=<Путь к init-файлу>

Например,

mysqld-nt –defaults-file=”C:\Program Files\MySQL\MySQL Server 5.0\my.ini” –init-file=C:\mysql.init

(конфигурационный файл my.ini располагается в каталоге, в котором установлена программа MySQL).

Рис. 5.2. Запуск сервера MySQL с параметром – init-file

4. Остановите сервер MySQL с помощью диспетчера задач, как описано в п. 1, а затем удалите init-файл.

5. Запустите сервер MySQL в обычном режиме. Теперь вы можете использовать новый пароль пользователя root, который был указан в init-файле.

Итак, вы научились работать с паролями пользователей. Теперь рассмотрим операцию удаления пользователя.

Удаление пользователя

Удалить учетную запись вы можете с помощью команды

DROP USER <Идентификатор пользователя>;

После удаления пользователь лишается возможности подключаться к серверу MySQL. Однако если на момент удаления пользователь был подключен к серверу, то соединение не прерывается. Вместе с учетной записью удаляются все привилегии доступа для этой записи. Наконец, рассмотрим поиск информации о пользователях, зарегистрированных в системе.

Просмотр учетных записей

Для получения информации о зарегистрированных пользователях выполним запрос к таблице user (Пользователь) системной базы данных mysql, например

SELECT * FROM mysql.user;

Первые три столбца таблицы user нам уже знакомы – это Host, User и Password. Далее следуют столбцы глобальных привилегий, которые мы рассмотрим в разделе «Система привилегий доступа», и, наконец, столбцы, в которых содержатся параметры безопасности соединения и сведения о ресурсах, предоставляемых соединению (эти столбцы остаются за рамками нашего обсуждения).

В следующем подразделе вы узнаете, как оперировать учетными записями пользователей в наглядном интерфейсе графической утилиты MySQL Administrator.

Управление учетными записями в MySQL Administrator

В отличие от сервера MySQL, утилита MySQL Administrator рассматривает пользователей с одинаковыми именами как одного и того же пользователя. Например, учетные записи с идентификаторами \'anna\'@\'localhost\' и \'anna\'@ % представляют для MySQL Administrator одного и того же пользователя anna и им нельзя присвоить разные пароли. Несмотря на это, пользователь может иметь разные привилегии доступа при подключении с разных компьютеров, тем самым совместимость с системой привилегий доступа MySQL в целом сохраняется. Далее вы увидите, как этот принцип работает на практике.

Запустите

программу MySQL Administrator (Пуск → Все программы → MySQL → MySQL

Administrator) и в окне соединения с сервером (см. рис. 1.26 в подразделе «Запуск и остановка сервера MySQL с помощью MySQL Administrator») введите параметры соединения. На экране возникнет главное окно MySQL Administrator. В левой области этого окна щелкните пункт User Administration (Управление пользователями).

В левом нижнем углу окна появится область User Accounts (Учетные записи), в которой представлен список зарегистрированных пользователей (рис. 5.3).

Рис. 5.3. Просмотр учетных записей

Элементы первого уровня в этом списке соответствуют учетным записям вида \'<Имя пользователя>\'@\'%\'. Вложенные элементы соответствуют записям с тем же именем пользователя, но другим хостом. Дважды щелкнув кнопкой мыши на имени пользователя, вы можете открыть или скрыть вложенные элементы.

Например, если для пользователя anna имеются учетные записи с идентификаторами \'anna\'@\'localhost\' и \'anna\'@\'%\', то после щелчка кнопкой мыши на корневом элементе anna вы увидите в правой области окна информацию для учетной записи (см. рис. 5.3), а после щелчка на вложенном элементе localhost – информацию для записи \'anna\'@\'localhost\'. На вкладке User Information (Информация о пользователе) в обоих случаях будут отображены одинаковые сведения, но на остальных вкладках, в частности на вкладке Schema Privileges (Привилегии доступа к базам данных), сведения могут отличаться. Если же для пользователя anna учетная запись \'anna\'@\'%\' не существует, то после щелчка на корневом элементе anna вкладки в правой области станут неактивными.

Помимо просмотра информации о пользователях и хостах, с которых пользователям разрешено подключаться, вы можете выполнить в MySQL Administrator следующие операции:

• Создание нового пользователя.

В правой области главного окна нажмите кнопку Add new user (Добавить нового пользователя). На вкладке User Information (Информация о пользователе) введите имя и пароль нового пользователя. Нажмите кнопку Apply Changes (Сохранить изменения).

Для нового пользователя автоматически создается элемент первого уровня, то есть учетная запись вида \'<Имя пользователя>\'@\'%\'. В дальнейшем вы можете добавить для пользователя другие учетные записи, а эту удалить.

• Добавление новой учетной записи для пользователя.

В области User Accounts (Учетные записи) щелкните правой кнопкой мыши на имени пользователя и выберите в контекстном меню пункт Add host from which the user can connect (Добавить хост, с которого будет разрешено подключаться пользователю). В окне Add Host (Добавление хоста) введите нужное значение (о том, как задать хост или маску хоста для учетной записи, вы узнали из подраздела «Общие сведения об учетных записях»). Нажмите сначала кнопку OK, а затем в главном окне MySQL Administrator кнопку Apply Changes (Сохранить изменения).

• Удаление учетной записи для пользователя.

...

Внимание!

Если для пользователя создана единственная учетная запись, то ее удаление приведет к удалению пользователя.

В области User Accounts (Учетные записи) щелкните правой кнопкой мыши на элементе, который соответствует удаляемой учетной записи, и выберите в контекстном меню пункт Remove host from which the user can connect (Удалить хост, с которого разрешено подключаться пользователю). В правой области главного окна нажмите кнопку Apply Changes (Сохранить изменения).

• Установка пароля пользователя.

В области User Accounts (Учетные записи) щелкните на имени пользователя. В правой области окна на вкладке User Information (Информация о пользователе) введите новый пароль в поля Password (Пароль) и Confirm Password (Подтверждение пароля). Нажмите кнопку Apply Changes (Сохранить изменения). Новый пароль будет установлен для всех учетных записей с данным именем пользователя.

• Удаление пользователя.

В области User Accounts (Учетные записи) щелкните правой кнопкой мыши на имени пользователя и выберите в контекстном меню пункт Delete user (Удалить пользователя). На экране возникнет диалоговая панель, в которой нужно подтвердить удаление, нажав кнопку Yes (Да).

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

5.2. Система привилегий доступа

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

Вы узнаете, какие привилегии предусмотрены в MySQL и как предоставить их пользователям.

Поделиться:
Популярные книги

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

Законы Рода. Том 13

Андрей Мельник
13. Граф Берестьев
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 13

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Цвет сверхдержавы - красный. Трилогия

Симонов Сергей
Цвет сверхдержавы - красный
Фантастика:
попаданцы
альтернативная история
8.06
рейтинг книги
Цвет сверхдержавы - красный. Трилогия

Болтливый мертвец

Фрай Макс
7. Лабиринты Ехо
Фантастика:
фэнтези
9.41
рейтинг книги
Болтливый мертвец

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь