12.07.2015 Views

Февраль

Февраль

Февраль

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ХАКЕР.PROГрафические инструменты для работы с СУБДИ MySQL, и PostgreSQL не обделены средствами для более комфортной работы с СУБД. Прежде всего, следует отметитьвездесущий PHP-инструментарий: phpPgAdmin и phpMyAdmin. Также для PostgreSQL нужно выделить утилиту pgAdmin— простой, но в то же время достаточно удобный способ администрировать базу.«diff -u my-large.cnf my-small.cnf». Для небольшойдомашней машины вполнеподойдет шаблон my-small.cnf, которыйследует скопировать в /etc под именемmy.cnf. Для более крупных инсталляцийлучше просмотреть самому один из выбранныхшаблонов и подогнать параметрыпод оптимальные значения в зависимостиот объема имеющейся в наличии памяти.Если ты планируешь использовать таблицытипа InnoDB, то my.cnf нужно будет обязательноподредактировать — по умолчаниювсе, что касается этих таблиц, в немзакомментировано.Отыщи в конфигурационном файле в секции[mysqld] следующие строки, снимикомментарии и приведи в соответствие сосвоими потребностями:# Путь к каталогу, где будут размещеныInnoDB-таблицы:innodb_data_home_dir = /var/db/mysql/innodb/db/# Имя файла хранилища, его первоначальныйразмер (10 Мб)# и разрешение на автоматическоерасширение при необходимости:innodb_data_file_path =ibdata1:10M:autoextend# Каталог хранения журналов иархивов# (если есть возможность, лучшевыносить на отдельный винт):innodb_log_group_home_dir = /var/db/mysql/innodb/log/innodb_log_arch_dir = /var/db/mysql/innodb/log/# Память, отводимая под буферы(если на машине работает что-то,# кроме mysql, лучше не подниматьвыше 30-70% от объема ОЗУ):innodb_buffer_pool_size = 16Minnodb_additional_mem_pool_size= 2M# Размеры журнальных файлов (рекомендуетсядержать на уровне# 20-25% от размера буферов):innodb_log_file_size = 5Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50/ 156xàêåðПриведенные цифры, естественно, можноменять в зависимости от конкретной ситуации— от ресурсопотребления другихпроцессов, работающих на этой жемашине, объема памяти и т.д. Каталоги, указанныев конфигурации, должны существовать(в том смысле, что их придется создатьвручную до того, как сервер будет перезапущенс новыми параметрами) и принадлежатьпользователю mysql:$ sudo -u mysql mkdir -p /var/db/mysql/innodb/{db,log}В опции innodb_data_file_path можно указыватьнесколько файлов. При первом запускесервера после внесения изменений в конфигурациюбудет выполнена инициализацияуказанных хранилищ:$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/var/db/mysqlStarting mysqld daemon withdatabases from /var/db/mysqlСразу замечу, что остановить запущенныйсервер можно такой командой:$ sudo kill `sudo cat /var/db/mysql/toshiba.pid`Для удобства команды запуска и остановаможно оформить в виде стартовогосценария. Еще одна причина воспользоватьсядистрибутивной установкой — там всеэто уже сделано.Таблицы формата MyISAM будут размещатьсяв указанном каталоге «пофайлово», в то времякак таблицы InnoDB размещаются в одномили нескольких файлах-хранилищах, согласноконфигурационному файлу.В PostgreSQL поддерживается один тип хранилищаданных, поэтому все несколько проще— нужно создать каталог, где будет располагатьсяхранилище, сделать его владельцемпольз ов ателя postg res и выполнитьинициализацию:$ sudo mkdir -p /var/db/pgsql/data$ sudo chown postgres /var/db/pgsql/data$ sudo su postgres$ cd /usr/local/pgsql/bin$ ./initdb -D /var/db/pgsql/data$ exitПосле инициализации будет выведенопредупреждение, что для локальных подключенийразрешена так называемая trust-аутентификация(об этом — чуть позже), и показаныдва способа запустить сервер. В первом случае— «postgres -D /var/db/pgsql/data» — серверзапустится в интерактивном режиме, то естьинформация о его работе будет отображатьсяв окне терминала, а при закрытии терминаласервер будет остановлен. Безусловно, работающийпроцесс всегда можно перевести в фоновыйрежим, либо сразу указав символ «&» послекоманды, либо в дальнейшем приостановивего работу комбинацией клавиш и затемвозобновив в фоне с помощью утилиты bg:$ sudo -u postgres ./postgres -D/var/db/pgsql/dataLOG: database system was shutdown at 2006-12-16 13:58:54 MSK...LOG: database system is ready// здесь нажали [1]+ Stopped sudo -u postgres ./postgres -D /var/db/pgsql/data$ bg[1]+ sudo -u postgres ./postgres -D/var/db/pgsql/data &Управление сервером с помощью pg_ctl, намой взгляд, более удобно, и в этом случаесервер будет сразу запущен как фоновыйпроцесс. Только нужно не забывать, чтообе команды должны быть выполнены отимени пользователя postgres. В приведенномвыше примере это выполняется с помощьюутилиты sudo. Если запуск сервера прошел безошибок, значит, для работы все готово.А если возникнут какие-либо проблемы, тоони достаточно подробно будут расписаныв сообщениях, выводимых на экран илив лог. Чаще всего они бывают связаны с правамидоступа: либо не того пользователясделали владельцем хранилища, либо отимени неправильного пользователя запускается02 /98/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!