Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #28, МАРТ 2003 г.

ДВИЖОК, РАБОТАЮЩИЙ С БД - ставим и настраиваем MySQL

fenix (f3x@land.ru)

Спецвыпуск Xakep, номер #028, стр. 028-048-3


Итак, входим в монитор и получаем его приглашение (подразумевается, что по дефолту учетная запись рута не содержит пароля):

mysql>

посмотрим, какие базы сейчас установлены:

Каждый запрос к базе данных должен завершаться "точкой с запятой". Перейдем в базу mysql и посмотрим список ее таблиц:

mysql> \u mysql

Database changed

(аналогичным образом можно войти в любую другую базу, введя ее имя с ключом \u)

Просмотрим список таблиц, которые содержатся в данной базе данных:

Каждая таблица содержит набор полей, которые предназначены для данных определенного типа, соответствующих типу поля.

Для того чтобы получить значения полей и содержащиеся в них данные используют структурированных запрос select; другими словами, нам нужно сделать выборку из определенной таблицы, определенных полей, активной базы данных, так как таблица user является наиболее важной (в ней прописаны аккаунты пользователей и их права). Просмотрим ее содержимое:

mysql> select * from user;

(данный запрос читается как "сделать выборку из таблицы user и вывести все записи в данной таблице")

На экран будут выведены все записи из таблицы user для того чтобы просмотреть какую-то определенную запись, например, запись пользователя root; необходимо задать критерий выборки:

mysql> select * from user where user='root';

(данный запрос читается как "сделать выборку из таблицы user и вывести все записи в данной таблице, которым соответствует значение root поле user таблицы user")

Используя данные запросы, ты сможешь просмотреть записи в любых других базах, к которым имеешь доступ.

НАСТРОЙКА УЧЕТНЫХ ЗАПИСЕЙ В MYSQL

Как было замечено выше, самый главный пользователь это root, который имеет полный доступ к базам данных; вначале необходимо задать для него пароль, так как по умолчанию он не установлен (в Unix инсталляции):

altair# mysql -u root mysql

данная команда, означает запуск mysql-клиента по имени mysql от имени пользователя root (-u root) и выбор базы данных mysql. Далее откроется консоль программы mysql.

Делаем обычный sql-запрос для обновления записи рута:

mysql>update user SET password=PASSWORD('new_password') where user='root';

Этот запрос обновит поля password для таблицы user, в которой поля user='root'. Другими словами, для пользователя root будет установлен пароль new_password, закриптованный по методу PASSWORD().

Теперь необходимо заставить mysql принять изменения:

mysql>flush privileges;

Есть еще один способ (только для версий mysql, бOльших 3.22):

mysql>set password for root=PASSWORD('new_password');

или еще так с помощью программы mysqladmin:

altair# mysqladmin -u root password new_password

Теперь пользователь root не сможет просто так войти в программу mysql. Набираем:

mysql>exit

и убеждаемся в этом:

Назад на стр. 028-048-2  Содержание  Вперед на стр. 028-048-4