ДВИЖОК, РАБОТАЮЩИЙ С БД - ставим и настраиваем MySQL fenix (f3x@land.ru) Спецвыпуск Xakep, номер #028, стр. 028-048-4 #altair>mysql -u root ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) Вход с паролем осуществляется с ключом -p: Altair#>mysql -u root -p Enter password: ******* Вот и все. Если пароль был случайно забыт, чтобы его задать по новой, тебе придется стереть файлы mysql.frm mysql.MYI и mysql.MYD из папки с базами данных, затем запустить скрипт mysql_install_db и повторить все по новой. Хорошо было бы добавить пользователей базы данных вместе с их правами и паролями. Для этого будем использовать выражение grant. Можно опять вносить прямые поправки в таблицы mysql, но это будет слишком неудобно. Итак: mysql>grant all privileges on *.* to admin@localhost identified by 'some_password' with grant option; Это создаст пользователя admin, который сможет делать все что захочет со всеми базами данных и вообще mysql-ем, подключаясь только с localhost и указывая пароль some_password. Чтобы admin мог подключаться с других хостов, необходимо набрать следующее: mysql>grant all privileges on *.* to admin@"%" identified by ' some_password' with grant option; *.* означает, к каким базам данных и таблицам имеет доступ admin. Обозначения делаются следующим образом: "база.таблица". Для создания продвинутого пользователя, ограниченного определенными запросами, необходимо использовать такое выражение: mysql>grant select,insert,update,delete,index,create,drop on *.* to poweruser@localhost identified by 'user_password'; Такой пользователь сможет использовать все основные запросы для данных в таблицах, а также создавать и удалять базы данных. Однако он не сможет выключать, перезапускать демон mysql (серверную часть), смотреть на список процессов, не будет иметь доступ к файлам сервера, а также сможет подключаться к базе данных только с localhost'а и указывая свой пароль. Вот все возможные опции для прав: select, insert, update, delete - одноименные запросы операций с данными и записями; create, drop - создание и удаление баз данных и таблиц; grant, alter - совершение операций с привилегиями; index - операции с индексами в таблицах; references - работа со ссылками в базах данных и таблицах; reload, shutdown, process - управление сервером mysql. Перезапустить, убить и посмотреть все подключения соответственно; file - позволяет загонять в базу данных любой читабельный файл с сервера. Для многопользовательского сервера можно посоветовать делать пользователей, способных только изменять данные одной базы данных, так сказать, из соображений безопасности. ВСПОМОГАТЕЛЬНЫЕ ИНСТРУМЕНТЫ Ты, наверное, думаешь сейчас, как же это все неудобно и старомодно без графического интерфейса - ведь на дворе XXI век. Не переживай, такие средства есть, и мы рассмотрим два самых распространенных. Для Win32 я настоятельно рекомендую mysqlfront, данную софтину можно слить здесь: http://www.aiut.com.pl/pub/mysqlfront/. Очень удобный клиент для работы с mysql, прост в установке и использовании, куча настраиваемых параметров, возможно сохранение выполняемых запросов, экспорт/импорт и т. д. Самое главное в этой тулзе - это минимум ручной работы. Под *nix (KDE, Gnome) наверняка также существуют аналогичные клиенты, но я их не встречал, а если честно - и не пытался искать, привык все делать ручками. Пользователями всякого рода юнихов нет необходимости впадать в панику, так как существует web-панель для работы с mysql - phpMyAdmin, то есть данное решение платформонезависимое и может использоваться на любой операционке с корректно установленным веб-серваком, на любом хостинге и т. д. |