През Октомври 2013 г., разработчиците на MySQL стартираха официално поддръжка на техните продукти чрез yum хранилища. Това означава, че вече можете да получавате последната версия на MySQL директно от самите разработчици. В тази статия ще ви покажем как се инсталира MySQL 5.6 върху чиста инсталация на операционната система CentOS 6. Ще включим и няколко довършителни настройки към вече инсталирания MySQL за по-добрата му работа. Съветваме Ви да прочетете и следния материал, в който е описано какви са новостите в MySQL 5.6.
Нека да започнем като инсталираме хранилището на MySQL върху нашата операционна система. След като веднъж е инсталирано, ще можете да го използвате за в бъдеще при нови обновления на MySQL. За да започнете инсталацията, посетете официалната страница на MySQL със списъци на хранилища - http://dev.mysql.com/downloads/repo/ и натиснете бутона Download срещу операционна система Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent):
На дъното на следващата страница ще видите бутона No thanks, just start my download. Натиснете с десния бутон на мишката върху него и изберете Копиране адреса на връзката. Сега влезте в сървъра си като root потребител и влезте в директорията /usr/local/src/ със следната команда:
cd /usr/local/src
Свалете по-горния файл, чийто директен адрес копирахме:
wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
Инсталирайте хранилището:
rpm -ivh mysql-community-release-el6-5.noarch.rpm
Сега вече имаме инсталирано официалното хранилище на MySQL, което можем да ползваме по всяко време. Все още не е инсталиран самия MySQL сървър, за това ще пристъпим към това веднага. Инсталацията се извършва посредством автоматичния инсталатор yum на пакети, който идва заедно с Linux дистрибуцията CentOS:
yum install mysql-community-server
Горната команда ще инсталира и всички нужни допълнителни пакети, за да работи коректно MySQL сървъра ни. При успешна инсталация ще видите съобщението Complete! накрая. Нека да стартираме MySQL след това:
service mysqld start
Трябва да включим и MySQL в списъка с програмите, които ще се стартират автоматично след рестартиране или стартиране на операционната система:
chkconfig mysqld --levels 345 on
Добра идея е и да настроим root (основна парола за MySQL) Единствено трябва да замените new-password със своя собствена парола.:
/usr/bin/mysqladmin -u root password 'new-password'
Има няколко неща, които е хубаво да настроим след успешна инсталация на MySQL. Отворете конфигурационния файл на сървъра с текстов редактор:
vi /etc/my.cnf
1. Препоръчително е да настроим innodb_buffer_pool_size да заема около 50% от сървърната RAM памет. Ако използвате енджин innodb, това ще увеличи кешираната памет (по подразбиране е 128 mb) и ще ускори бързината на заявките.
2. По подразбиране MySQL разполага с малки transaction логове. Те служат при възстановяване на базата данни при внезапно спиране. В активни сървърни среди е добре да увеличим техния размер. Препоръчителния размер е между 128MB и 4GB, а директивата е innodb_log_file_size.
3. Друга настройка, която е вградена по подразбиране е innodb_flush_log_at_trx_commit, която подсигурява MySQL да не загуби данни при евентуален проблем. Това обаче идва с голяма цена при производителността, която е намалена. За това някой потребители избират да допуснат няколко секунди загуба на данни, за да увеличат производителността. За това настройваме innodb_flush_log_at_trx_commit=2.
4. Настройката на енкодинг също е важна за правилната работа с бази данни. Настройваме сървъра ни да работи по подразбиране с UTF-8 със следните директиви: character-set-server=utf8 и collation-server=utf8_general_ci.
След всички настройки, MySQL конфигурационния ни файл изглежда по този начин:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidinnodb_buffer_pool_size=640M
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
character-set-server=utf8
collation-server=utf8_general_ci
За да влезнат настройките в сила, рестартираме MySQL сървъра:
service mysqld restart