При необходимости перезагрузки таблиц разрешения, для восстановления первоначальных настроек выполните следующее:
1. Если сервер запущен, остановите его:
[rootohost] $ /usr/local/mysql/support-files/mysql.server stop
2. Перейдите в каталог инсталляции MySQL и удалите папку mysql/. Поскольку базы данных в MySQL представлены в виде каталогов файловой системы, при этом будут удалены таблицы разрешений:
[rootohost] $ rm - rf /usr/local/mysql/data/mysql
3. В системе UNIX переинсталлируйте таблицы разрешения с помощью сценария инициализации mysql_install_db:
[rootohost]# /usr/local/mysql/scripts/mysql_install_db
А поскольку этот сценарий не является частью двоичного дистрибутива в ОС Windows, для того что бы восстановить таблицы разрешений, вам придется переинсталлировать этот пакет в тот же самый каталог.
4. Если у вас ОС UNIX, вернитесь в каталог данных инсталляционного каталога MySQL, а также измените владельца вновь созданного каталога MySQL, чтобы он принадлежал пользователю mysql:
[rootohost] # chown -R mysql.mysql /usr/local/mysql/data/mysql
5. Перезагрузите сервер:
[rootohost] $ /usr/local/mysql/support-files/mysql.server stop
Таблицы MySQL будут перезагружены и возвращены в первоначальное состояние. Теперь можно зарегистрировать суперпользователя и внести изменения, применяя команды REVOKE и GRANT.
Изменение пароля пользователя
При добавлении пользователя в таблицу user командой GRANT, MySQL позволяет задать пароль этого пользователя параметром IDENTIFIED BY. Этот пароль должен вводиться каждый раз, когда пользователь заходит в систему для получения доступа к базе данных. Если вы используете программу mysql, пароль и имя пользователя можно задавать в командной строке после аргументов -u и -p.
Листинг 14.53.
[userohost] $ mysql -h localhost -u logger -p
Enter password: ****** Welcome to the MySQL monitor ...
Если же вы не хотите вводить пароль по подсказке (т.е. при использовании неинтерактивной связи по сценарию), пароль можно задать в командной строке после аргумента -p.
Листинг 14.54.
[userohost] $ mysql -h localhost -u logger -ptimber
Welcome to the MySQL monitor ...
Пароль хранится в поле Password в таблице user базы данных MySQL, и он должен быть зашифрован функцией MySQL PASSWORD(), как в следующем примере.
Листинг 14.55.
mysql> INSERT INTO user (Host, User, Password) VALUES ('melonfire.net', 'timothy', PASSWORD ('1r0ck'));
mysql> UPDATE user SET Password = PASSWORD ('1r0ck') WHERE Host = 'melonfire.net' AND User = 'timothy';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.05 sec)
Кроме того, пароль может быть задан командой MySQL SET PASSWORD. Рассмотрим новый пример, который во всем аналогичен предыдущему.
Листинг 14.56.
mysql> SET PASSWORD FOR timothy@melonfire.net = PASSWORD ('1r0ck');
При назначении пароля командой GRANT с использованием предложения IDENTIFIED BY или посредством утилиты mysqladmin, вам не надо зашифровывать пароль. Команда GRANT и утилита mysqladmin автоматически сделают это за вас.
Листинг 14.57.
mysql> GRANT USAGE ON *.* TO timothy@melonfire.net IDENTIFIED BY '1r0ck';
Первый описанный нами метод предполагает наличие привилегии FLUSH, но вообще его применять не рекомендуется.
Использование предложения IDENTIFIED BY в команде GRANT намного предпочтительнее. Создание нового пользователя с помощью команды GRANT без применения этого предложения, приведет к отправке ему пустого пароля. В результате возникнет брешь в системе защиты, поэтому администраторы должны очень хорошо помнить о необходимости создания паролей для новых пользователей.
Безопасность превыше всего!
В инструкции MySQL рекомендуется не вводить пароль в командной строке, после опции -p, а вводить его по подсказке, тогда он будет маскироваться при вводе. Это существенно уменьшает риск использования пароля другими пользователями.
Избавляемся от старого!
Функция PASSWORD() в версии MySQL 4.1 и более поздних, генерирует 41-битовое значение, которое не совместимо со старыми версиями (в которых используются 16-битовые значения). Поэтому после обновления сервера MySQL до версии 4.1 и более поздних вам придется запустить сценарий fix_priviledge_table из инсталляционного каталога scripts/, что позволит в дальнейшем оперировать длинными значениями паролей.
Когда пользователь, заходя на сервер, вводит пароль, то первое, что делает система MySQL, - это кодировка его пароля с использованием функции PASSWORD. А потом она сопоставляет значение ввода со значением в поле Password, в соответствующей записи таблицы user. Если все правильно, доступ к базе данных разрешается. Иначе в доступе будет отказано.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Перезагрузка таблиц разрешений
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Использование команд insert, update и delete | Все о MySQL. Назначение пароля пользователю root |