-
Notifications
You must be signed in to change notification settings - Fork 3
(debian) Установка и настройка MySQL
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;