======Настройка Mysql[чистовик]====== Данная статья будет посвящена настройке Mysql для обычной работы. Изменять конфигурационный файл my.cnf который находится по разному пути в зависимости от операционной системы. Данные параметры носят рекомендательный характер и подходят большинству начинающих-средних сетей (100-2000) абонентов. В других случаях следует более детально подходить к параметрам оптимизации Базы данных и использовать специализированную литературу по настройке базы данных Mysql. /etc/mysql/my.cnf - в Gentoo /etc/my.cnf - в Centos /etc/mysql/my.cnf - в Ubuntu/Debian /usr/local/etc/my.cnf - в FreeBSD Кодировка koi8r не обязательна, укажите ту что считаете нужной. =====Gentoo,Ubuntu===== [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysql] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [mysqladmin] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [mysqlcheck] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [mysqldump] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [mysqlimport] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [mysqlshow] character-sets-dir=/usr/share/mysql/charsets default-character-set=koi8r [myisamchk] character-sets-dir=/usr/share/mysql/charsets [myisampack] character-sets-dir=/usr/share/mysql/charsets [mysqld_safe] err-log = /var/log/mysql/mysql.err [mysqld] character-set-server = koi8r user = mysql port = 3306 #ниже включается бинарный лог, раскомментируйте следующие 2 строки чтобы включить #server-id=1 #log-bin=mysqld-bin socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid log-error = /var/log/mysql/mysql.err basedir = /usr datadir = /var/lib/mysql skip-external-locking tmpdir = /tmp/ key_buffer_size = 384M sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M thread_concurrency = 8 skip-name-resolve innodb_buffer_pool_size = 32M innodb_additional_mem_pool_size = 8M innodb_data_home_dir = /var/lib/mysql/ innodb_log_group_home_dir = /var/lib/mysql/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_log_files_in_group = 2 innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 70 max_connections = 1024 [mysqldump] quick max_allowed_packet = 16M [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout =====Centos===== [client] port = 3306 socket=/var/lib/mysql/mysql.sock [mysql] loose-local-infile=1 [mysqld_safe] err-log = /var/log/mysql/mysql.err [mysqld] user = mysql port = 3306 socket = /var/lib/mysql/mysql.sock pid-file = /var/run/mysqld/mysqld.pid log-error = /var/log/mysql/mysql.err basedir = /usr datadir = /var/lib/mysql skip-external-locking symbolic-links=0 key_buffer_size = 384M sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M thread_concurrency = 8 skip-name-resolve language = /usr/share/mysql/russian loose-local-infile=1 #ниже включается бинарный лог, раскомментируйте следующие 2 строки чтобы включить #server-id=1 #log-bin=mysqld-bin tmpdir = /tmp/ innodb_buffer_pool_size = 32M innodb_additional_mem_pool_size = 16M innodb_data_home_dir = /var/lib/mysql/ innodb_log_group_home_dir = /var/lib/mysql/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_log_files_in_group = 2 innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 70 max_connections = 1024 [mysqldump] quick max_allowed_packet = 16M [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid =====FreeBSD===== Файл конфигурации может быть в разных местах /etc/my.cnf /var/db/mysql/my.cnf /usr/local/etc/my.cnf Мы будем использовать пусть /var/db/mysql/my.cnf Пример конфигурации [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking # Если Вы используете InnoDB, то закомментируйте эту опцию #skip-innodb # С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB, # что позволит сэкономить большое количество памяти. #skip-bdb # Файл должен существовать, с соответствующими правами на него: # touch /var/log/mysql.log # chown mysql:wheel /var/log/mysql.log # chmod 640 /var/log/mysql.log general_log_file = /var/log/mysql.log key_buffer_size = 384 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M thread_concurrency = 8 skip-name-resolve innodb_buffer_pool_size = 32M innodb_additional_mem_pool_size = 8M innodb_data_home_dir =/var/db/mysql/ innodb_log_group_home_dir = /var/db/mysql/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_log_files_in_group = 2 innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 70 max_connections = 1024 [mysqldump] quick max_allowed_packet = 16M [mysql] # Отключает автоматическое рехеширование. rehash следует использовать # для получения хеша таблиц и полей. Это обеспечивает более # быстрый старт mysql. no-auto-rehash # Опция, которую рекомендуется раскомментировать начинающим :) # Разрешает выполнять только операции UPDATE и DELETE, используя ключи. #safe-updates [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout =====Другие OS===== в секцию [mysqld] key_buffer_size = 384 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M thread_concurrency = 8 skip-name-resolve [myisamchk] key_buffer_size = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M