Skip to content

(debian) Установка и настройка MySQL

Max Kalyabin edited this page Dec 3, 2015 · 1 revision

1. Установка MySQL-сервера и MySQL-клиента

apt-get install mysql-server

Во время установки указать пароль для пользователя root.

2. Конфигурация MySQL

В файле /etc/mysql/my.cnf

Устранить предупреждения об устаревших параметрах, заменить имена:

key_buffer на key_buffer_size

myisam-recover на myisam-recover-options

Задать параметры в зависимости от наличия оперативной памяти:

tmp_table_size          = 256M
max_heap_table_size     = 256M

Настройки для InnoDB, производить в зависимости от наличия необходимых ресурсов:

# * InnoDB
innodb_data_file_path = ibdata1:100M:autoextend
# хранить данные InnoDB в разных файлах
# ВНИМАНИЕ! На работающей БД этого делать нельзя - вызовет крах всей БД. 
# Для работающей БД сдампить ее, а потом развернуть как отдельную БД, после чего можно выполнять эту настройку
innodb_file_per_table = 1

# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 2G

innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 512M

innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 120

3. Перезапустить сервер mysql, предварительно удалив данные innodb логов

rm -f /var/lib/mysql/ibdata1
rm -f /var/lib/mysql/ib_logfile*
service mysql restart

В случае ошибки запуска - перезапустить ещё раз. Эта ошибка может быть следствием отсутствия файлов InnoDB логов. Эти файлы создаются автоматически при запуске. Можно перезагрузиться, чтобы избавиться от зависших процессов mysql.

4. Создать базу данных и пользователя MySQL

mysql -uroot -p<пароль>
mysql> CREATE DATABASE <db_name> DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> USE <db_name>;
mysql> SET storage_engine=innodb;
mysql> GRANT ALL PRIVILEGES ON <db_name>.* TO '<user_name>'@'localhost' IDENTIFIED BY '<пароль>' WITH GRANT OPTION;