Установка MySQL и админки phpMyAdmin на FreeBSD 8.x

Мускул, или Муська, как его ласково называют в народе, MySQL является довольно производительным, очень надежным, простым в настройке и пользовании сервером баз данных.
Даже тем, кто не хочет и не разбирается в запросах, можно просто прикрутить MyPHPAdmin с удобным WEB интерфейсом и все действия с базами данных производить через него…
Установку MySQL будем производить из портов. Ставим версию 5.0.х Версию 5.5.х у меня заставить работать не получилось почему-то.
Сначала ищем его в портах, затем чешем, по адресу и инсталлим

# whereis mysql50-server
mysql50-server: /usr/ports/databases/mysql50-server
#cd /usr/ports/databases/mysql50-server
#make install clean

В FreeBSD 8 нельзя запустить приложение стартовым скриптом, не засунув предварительно его в автозапуск системы.
Если есть непреодолимое желание все же это сделать, нужно заместо «start» написать «onestart». Итак пропишем в автозапуск MySQL в главный стартовый скрипт системы

# ee /etc/rc.conf
mysql_enable="YES"

Запустим MySQL.

#/usr/local/etc/rc.d/mysql-server start

Установим пароль для пользователя root, это суперпользователь и удалим безымяных левых пользователей.

#mysql -u root mysql
UPDATE user SET Password=PASSWORD('mysql_root_password') WHERE User='root';
DELETE FROM user WHERE User='';
FLUSH PRIVILEGES;
quit;

Теперь нужно наваять конфигурационный файл my.cnf для Муськи. Ничего сами придумывать не будем, копирнем его из примеров конфигов. Причем сам мускул будет искать, по умолчанию, свой конфиг в нескольких местах, вот два из них: /etc/my.cnf и /var/db/mysql/my.cnf

#cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

Отредактируем файл

/var/db/mysql/my.cnf

:

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

В содержимом конфига нужно найти и доредактить до такого вида:

...
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 10M
table_cache = 64
sort_buffer_size = 512K
...

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql/
innodb_log_arch_dir = /var/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
...

Для принятия изменений презапустите MySQL.

#/usr/local/etc/rc.d/mysql-server restart

Проверим все ли работает как надо создался ли сокет

# sockstat -4l | grep mysql
mysql    mysqld     992   10 tcp4   *:3306                *:*

Если все как тут, поздравляю у Вас получилось.
Дальше для удобства руления базами данных прикрутим phpMyAdmin

# whereis phpmyadmin
phpmyadmin: /usr/ports/databases/phpmyadmin
# cd /usr/ports/databases/phpmyadmin
# make install clean

При установке, потянется много исходного кода и установится много разных зависимостей.
В том числе, естественно установится и php5. С него и начнем.
В /usr/local/etc/ ищем php.ini-development и переименовываем его в php.ini , правим:

# cd /usr/local/etc/
# cp ./php.ini-development ./php.ini
# ee ./php.ini

Здесь находим и корректируем до следующего вида:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
include_path = "."

Теперь php живет и сможет работать, но ему нужен механизм, который смог бы его представлять в виде http. Очевидно, что это httpd (проект Apache).


Описывать установку самого Apache22 я не буду, предлагаю для этого дела порыть статью, где-то тут была http://rudkovskij.com/articles/?p=10 или яндекс погуглить.

Впихнем в Apache22 админку phpMyAdmin алиасом, для этого сделаем соответствующий phpmyadmin.conf в /usr/local/etc/apache22/Includes/

# cd /usr/local/etc/apache22/Includes/
# ee ./phpmyadmin.conf

Врисовываем простейшее содержимое в конфиг, обратите внимание РеГиСтР буковок очень важен:

Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
Options Indexes
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

Сохраняем, перезапускаем Apache22

# apachectl restart

Пробуем лезть на Ваш алиас. Применительно к настоящему конфигу, выглядеть это будет примерно так: http://host.local/phpmyadmin/
Если все получилось, хорошо, если нет смотрите что сделали не так, проверяйте себя по синтаксису и правам доступа к файлам и папкам.
Как только увидели окошко с приглашением залогониться, пытаемся попасть в админку с именем «root» и паролем, который установили вначале «mysql_root_password»
Если пароль на root не ставили, самое время его поставить:

# mysqladmin -u root password 'NEW_PASSWORD_HERE'

Самое главное: получить удовлетворение от того, что это работает (с) Petrushkin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA изображение

*