Created
September 10, 2011 06:08
-
-
Save Tyralion/1207999 to your computer and use it in GitHub Desktop.
Mysql 5.5 (Percona edition) instalation instructions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| For Percona 5.5.15-rel21.0 | |
| *** Работоспособность проверена на Ubuntu 10.04/10.10/11.04 | |
| Перед началом установки, необходимо удалить из системы ранее установленный дистрибутив mysql. | |
| Устанавливаем зависимые библиотеки | |
| sudo apt-get install ncurses-dev | |
| sudo apt-get install automake libtool g++ bison cmake libncurses5 libncurses5-dev | |
| --------------------------------------------------------------------------------------------------------- | |
| Из-за того, что в 5.5.15 баги при сборки системы по параметрам отличных от дефолтных, данный конфиг НЕЛЬЗЯ использовать: | |
| cmake . -DINSTALL_LIBDIR=/usr/local/lib -DINSTALL_BINDIR=/usr/local/bin -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DINSTALL_SBINDIR=/usr | |
| /local/sbin -DINSTALL_SHAREDIR=/usr/local/share/mysql -DINSTALL_MYSQLSHAREDIR=/usr/local/share/mysql | |
| --------------------------------------------------------------------------------------------------------- | |
| Вместо этого соберем систему с минимальными настройками и позже создадим символьные ссылки куда нужно: | |
| cmake . -DINSTALL_LIBDIR=/usr/local/lib -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock | |
| Посмотреть параметры сборки можно коммандой: | |
| cmake -L (-LA|-LAH) | |
| Собираем и устанавливаем (для сбокри используем все процессорные ядра, что есть системе :) ): | |
| make -j `cat /proc/cpuinfo | grep processor | wc -l` | |
| sudo make install | |
| Удаляем старые группу и пользователя mysql: | |
| sudo userdel mysql | |
| sudo groupdel mysql | |
| Создаем группу ипользователя: | |
| sudo groupadd mysql | |
| sudo useradd -g mysql -c "MySQL Server" -d /dev/null -s /sbin/nologin mysql | |
| Копируем файлы автозапуска и начальной конфигурации: | |
| sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql | |
| sudo chmod +x /etc/init.d/mysql | |
| sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf | |
| Создаем директории для логов и pid-файла: | |
| sudo mkdir /var/run/mysqld | |
| sudo chown mysql -R /var/run/mysqld | |
| sudo mkdir /var/log/mysqld | |
| sudo chown mysql -R /var/log/mysqld | |
| Директория где у нас в дальнейшем будут лежать данные innoDB (в конфигурации my.cnf pf за это отвечают параметры innodb_data_home_dir и innodb_log_group_home_dir): | |
| sudo mkdir /usr/local/mysql/var | |
| Устанавливаем на папку /usr/local/mysql необходимые права пользователю mysql (и группе mysql): | |
| sudo chown mysql:mysql -R /usr/local/mysql | |
| Создаем ссылки из /usr/local/mysql/bin в /usr/local/bin: | |
| for file in $(ls /usr/local/mysql/bin | grep . ); do sudo ln -sf /usr/local/mysql/bin/$file /usr/local/bin/$file; done | |
| Устанавливаем системные таблицы баз данных: | |
| sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --ldata=/usr/local/mysql/data | |
| Запускаем базу данных: | |
| sudo /etc/init.d/mysql start (рекоммендуемый способ) | |
| или | |
| sudo /usr/local/bin/mysqld_safe --ledir=/usr/local/sbin --datadir=/usr/local/mysql/data --basedir=/usr/local & | |
| Проводим безопасную настройку системы: | |
| sudo /usr/local/mysql/bin/mysql_secure_installation | |
| Останавливаем систему: | |
| sudo /etc/init.d/mysql stop | |
| Добавляем в автозапуск: | |
| sudo /usr/sbin/update-rc.d mysql defaults 10 90 | |
| На production сервере в место той конфигурайии что мы использовали при первом старте mysql я использую конфигурацию представленную в файле ниже. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #BEGIN CONFIG INFO | |
| #DESCR: 4GB RAM, InnoDB only, ACID, few connections, heavy queries | |
| #TYPE: SYSTEM | |
| #END CONFIG INFO | |
| [client] | |
| #password = [your_password] | |
| port = 3306 | |
| socket = /var/run/mysqld/mysqld.sock | |
| [mysqld] | |
| port = 3306 | |
| socket = /var/run/mysqld/mysqld.sock | |
| skip-networking | |
| max_connections = 250 | |
| back_log = 50 | |
| max_connect_errors = 10 | |
| table_open_cache = 2048 | |
| skip-external-locking | |
| max_allowed_packet = 16M | |
| max_heap_table_size = 64M | |
| read_buffer_size = 2M | |
| read_rnd_buffer_size = 16M | |
| sort_buffer_size = 8M | |
| join_buffer_size = 8M | |
| thread_cache_size = 8 | |
| thread_concurrency = 8 | |
| query_cache_size = 64M | |
| query_cache_limit = 2M | |
| #memlock | |
| thread_stack = 128K | |
| transaction_isolation = REPEATABLE-READ | |
| tmp_table_size = 64M | |
| log-bin = mysql-bin | |
| binlog_format = mixed | |
| max_binlog_size = 100M | |
| binlog_cache_size = 1M | |
| expire_logs_days = 3 | |
| slow_query_log | |
| slow_query_log_file = /var/log/mysqld/slow-queries.log | |
| log-error = /var/log/mysqld/error.log | |
| long_query_time = 2 | |
| tmpdir = /tmp | |
| server-id = 1 | |
| #*** MyISAM Specific options | |
| key_buffer_size = 2M | |
| bulk_insert_buffer_size = 1M | |
| myisam_sort_buffer_size = 4M | |
| myisam_max_sort_file_size = 20M | |
| myisam_repair_threads = 1 | |
| myisam_recover | |
| # *** INNODB Specific options *** | |
| innodb_additional_mem_pool_size = 16M | |
| innodb_buffer_pool_size = 1G | |
| innodb_data_file_path = ibdata1:64M:autoextend | |
| innodb_data_home_dir = /usr/local/mysql/var | |
| innodb_log_group_home_dir = /usr/local/mysql/var | |
| #innodb_file_io_threads = 4 | |
| #innodb_force_recovery = 1 | |
| innodb_thread_concurrency = 0 # 16 | |
| innodb_flush_log_at_trx_commit = 2 # 1 | |
| innodb_fast_shutdown | |
| innodb_log_buffer_size = 16M | |
| innodb_log_file_size = 256M | |
| innodb_log_files_in_group = 3 | |
| innodb_file_per_table = 1 | |
| innodb_file_format = barracuda | |
| innodb_max_dirty_pages_pct = 90 | |
| innodb_flush_method = O_DIRECT | |
| innodb_lock_wait_timeout = 120 | |
| [mysqldump] | |
| quick | |
| max_allowed_packet = 16M | |
| [mysql] | |
| no-auto-rehash | |
| # Only allow UPDATEs and DELETEs that use keys. | |
| #safe-updates | |
| [myisamchk] | |
| key_buffer_size = 128M | |
| sort_buffer_size = 128M | |
| read_buffer = 8M | |
| write_buffer = 8M | |
| [mysqlhotcopy] | |
| interactive-timeout | |
| [mysqld_safe] | |
| open-files-limit = 8192 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment