Установка MySQL из портов во FreeBSD

Установка MySQL из портов во FreeBSD

Собирать MySQL буду из портов по этому:

# cd /usr/ports/databases/mysql55-server/
# make && make install & make clean
# rehash

MySQL скомпилировался — после чего сделаем rehash и создадаем его конфиг. Скопируем стандартный конфиг:

# cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf

Нужно будет его подправить, если не устраивает стандартный, мой такой:

# less /etc/my.cnf
[client]
character_set_client=utf8
#password = your_password
port = 3306
socket = /tmp/mysql.sock
[mysqld]
skip-networking
character-set-server=utf8
init-connect="SET NAMES utf8"
long_query_time=5
slow_query_log=1
slow_query_log_file=/var/db/mysql/slow.log
#port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
# Установка MySQL из портов во FreeBSD
query_cache_size=64M
max_allowed_packet = 128M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_flush_log_at_trx_commit=2
skip-innodb_doublewrite
server-id = 1
# binlog if need
#expire_logs_days = 10
#max_binlog_size = 512M
#log-bin=mysql-bin
#binlog_format=mixed
[mysqldump]
quick
max_allowed_packet = 128M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

Запускаем MySQL на FreeBSD

Устанавливаем БД, ставим права и стартуем MySQL:

# /usr/local/bin/mysql_install_db
# chown -R mysql:mysql /var/db/mysql
# echo 'mysql_enable="YES"' >> /etc/rc.conf

Смотрим, что в /etc/newsyslog.conf присутствует
/var/log/mysql.log 600 2 500 * ZC

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

Смотрим что сервер с мускулом страртанул.

# ps ax | grep mysql

Если возникли ошибки, то нужно смотреть ‘Log’:

# tail -f /var/db/mysql/`uname -a | awk '{print $2}'`.err

Устанавливаем пароль для MySQL администратора:

# mysqladmin -u root password 'myrootpassword'
# mysql -uroot -pmyrootpassword mysql

Удаляем всех лишних пользователей:
Для того что бы удалить какого либо пользователя или сразу всех нужно для начала подключиться к самому MYSQL под администратором с использованием нового пароля.

# mysql -uroot -p

Сейчас удаляем всех лишних пользователей:

mysql> delete from user where not (user='root' and host='localhost');

Нужно проверить что мы правильно все сделали и что остался только root:
Если вышли с ‘мускула’, то стоит подключиться под админом (# mysql-uroot -p):

mysql> select user,host from user;

+——+————+
| user | host |
+——+————+
| root | localhost |
+——+————+

Сейчас можно настроить автобэкап (ежедневный бэкап БД):
Для этого нам нужно установить модуль к MySQL- mysqlbackup.

# cd /usr/ports/databases/mysqlbackup
# make install clean
# rehash

Добавить теперь нужно в /etc/periodic.conf:

mysqlbackup_enable="YES"
mysqlbackup_args="-a -u root -l 7 -z bzip2"

С этими настройками будут сохраняться все ваши архивные копий всех БД в папке бэкапов /var/backups. Если не понятно что то стало то более подробная информация — man mysqlbackup в руки.
Чтобы mysql и mysqlbackup не спрашивали root-пароль, создадим файл /root/.my.cnf с таким содержимым:

[mysql]
user=root
password=ROOTS_PASSWORD_HERE
[client]
user=root
password=ROOTS_PASSWORD_HERE

Установим права на файл:

# chmod 600 /root/.my.cnf

Если вдруг кто то забыл пароль администратора от MySQL.

Нужно обновить или заменить уже существующие опции в rc.conf:

mysql_args="--skip-grant-tables --skip-networking"

Перезапустим Mysql.

# /usr/local/etc/rc.d/mysql-server restart
# mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;

Смотрите так же:

Установка apache для FreeBSD из исходников (руководство по установке)
Установка PHP для FreeBSD из исходников (руководство по установке)

Установка MySQL из портов во FreeBSD завершена. За помощью обращайтесь, помогу.


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

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