Собираем три mysql-пакета - client, server, tests: # cd /usr/ports/databases/mysql # make package Для проверки работоспособности можно выполнить набор прилагаемых тестов: # make do-regress Устанавливаем прекомпилированный пакет клиентской части MySQL: # pkg_add /usr/ports/packages/i386/all/mysql-client-4.0.24.tgz Устанавливаем зависимости для mysql-server: # cd /usr/ports/databases/p5-DBD-mysql # make install clean CLEANDEPENDS=Yes Устанавливаем прекомпилированный пакет серверной части MySQL: # pkg_add /usr/ports/packages/i386/all/mysql-server-4.0.24p1.tgz При необходимости создаем директорию /var/mysql: # mkdir -p /var/mysql # chown _mysql:_mysql /var/mysql Запускаем скрипт для создания типовых баз mysql и test: # /usr/local/bin/mysql_install_db Воспользуемся рекомендованной разработчиками версией my.cnf: # cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf Выставляем корректные права доступа для /etc/my.cnf: # chmod 644 /etc/my.cnf Производим конфигурирование: # vi /etc/my.cnf [client] port = 3306 socket = /var/run/mysql/mysql.sock [mysqld] bind-address = 127.0.0.1 port = 3306 socket = /var/run/mysql/mysql.sock skip-locking key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K myisam_sort_buffer_size = 8M log-bin server-id = 1 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout С помощью специального враппера запускаем mysqld: # /usr/local/bin/mysqld_safe & Проверяем, готов ли mysqld принимать входящие подключения: # netstat -na -f inet | grep 3306 tcp 0 0 127.0.0.1.3306 *.* LISTEN Задаем пароль суперпользователя БД: # /usr/local/bin/mysqladmin -u root password 'noidea' Подключаемся к серверу MySQL: % /usr/local/bin/mysql -u root -p Enter password: noidea Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 4.0.24-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> В качестве дополнительной меры защиты можно удалить вспомогательную базу данных test, созданную скриптом mysql_install_db, все SQL'ые учетные записи, кроме root, а затем изменить имя главной учетной записи: % /usr/local/bin/mysql -u root -p mysql> drop database test; mysql> use mysql; mysql> delete from db; mysql> delete from user where not (host="localhost" and user="root"); mysql> flush privileges; mysql> update user set user="andrey" where user="root"; mysql> flush privileges; mysql> quit Пример запуска mysqld из стартового rc-скрипта: # vi /etc/rc.local if [ -x /usr/local/bin/mysqld_safe ]; then echo -n ' mysqld'; /usr/local/bin/mysqld_safe > /dev/null 2>&1 & fi |