Настройка базы данных mysql linux

Linux: Настройка сервера баз данных MySQL

Перейдем ко второму практическому уроку серии и поговорим о настройке виртуального окружения выделенного сервера – подготовим узел (VM) предназначенный для хранения и обслуживания доступа к БД MySQL/PostgreSQL.

В этой установке, мы будем использовать сервер баз данных MySQL. Все настройки этого урока будут проводится исключительно на vm04 с IP-адресом 192.168.1.13

Установка сервера MySQL

# yum install mysql mysql-server 

Настройка сервера MySQL

Отредактируем файл /etc/my.cnf:

Убедитесь, что MySQL сервер доступен с виртуальных машин vm01 и vm02 с установленными на нем Apache+php5. Найдите раздел [mysqld] и добавте/исправьте следующие параматеры, что бы mysqld служба БД стала доступна удаленно:

# Убедитесь, что директива skip-networking закомментирована (или удалена) # skip-networking # Включение удаленный доступ bind-address=192.168.1.13 

Оптимизация параметров MySQL-сервера

Необходимо оптимизировать сервер MySQL, иначе он отъест весомую часть ресурсов виртуальной машины vm04. Вы можете добавить или исправить настройки следующим образом (подробнее — в руководстве по MySQL).

######################################################################## # Внимание. # Параметры безопасности и производительности # Читайте манны mysqld и my.cnf для получения подробной информации # т.к. следующие параметры зависят от установленного оборудования и # конкретных требований к системе ######################################################################## # Из соображений безопасности рекомендуется отключить использование # symbolic-links symbolic-links=0 ## Идем дальше, пропуская ряд прописанных параметров, YMMV skip-name-resolve skip-slave-start skip-external-locking # ИНДИВИДУАЛЬНЫЕ КЛИЕНТСКИЕ НАСТРОЙКИ # # Завышенные параметры, но мои ресурсы позволяют # sort_buffer_size = 2M read_buffer_size = 2M binlog_cache_size = 1M wait_timeout = 200 interactive_timeout = 300 max_allowed_packet = 12M thread_stack = 128K table_cache = 1024 myisam_sort_buffer_size = 1M tmp_table_size = 12M max_heap_table_size = 12M # ПРОТОКОЛИРОВАНИЕ # log_queries_not_using_indexes = 1 slow_query_log = 1 slow_query_log_file = /var/lib/mysql/slowquery.log # Кэши и предельные значения # tmp_table_size = 12M max_heap_table_size = 12M query_cache_type = 1 query_cache_limit = 2M query_cache_size = 32M max_connections = 500 thread_cache_size = 50 open_files_limit = 65535 table_definition_cache = 4096 table_open_cache = 1024 # MyISAM # key_buffer_size = 32M myisam_recover = FORCE,BACKUP # БЕЗОПАСНОСТЬ # max_allowed_packet = 16M max_connect_errors = 1000000 # Бинарный лог # log_bin = /var/lib/mysql/mysql-bin expire_logs_days = 14 sync_binlog = 1 # InnoDB # innodb_flush_method = O_DIRECT innodb_log_files_in_group = 2 innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 innodb_file_per_table = 1 innodb_buffer_pool_size = 10G 

Сохраним изменения и закроем файл. Перезагрузим/перезапустим сервер MySQL:

# chkconfig mysqld on # service mysqld start # service mysqld reload # service mysqld restart 

Убедимся, что на TCP-порту #3306 работает mysqld:

Читайте также:  Linux windows image server

MySQL сервера баз данных конфигурации брандмауэра

Отредактируем конфигурацию брандмауэра /etc/sysconfig/iptables:

Убедитесь, что виртуальные машины vm01 и vm02 могут получить доступ к серверу баз данных:

## Откройте порты mysqld для web-сервера Apache и Lighttpd # -A INPUT -m state --state NEW -s 192.168.1.10 -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -s 192.168.1.11 -m tcp -p tcp --dport 3306 -j ACCEPT 

Увеличение дисковых квот и диапазона портов сервера БД

Для нагруженных серверов СУБД следует увеличить предельное количество дескрипторов файлов (FD limits) и увеличить число доступных IP-портов

# Увеличим предельное число дескрипторов файловой системы fs.file-max = 50000 # Увеличим число доступных портов net.ipv4. ip_local_port_range = 2000 65000 

Активируем изменения, введя следующую sysctl-команду, изменяющую параметры ядра Linux исходя из указанных нами настроек:

Создание баз данных MySQL и учетных записей пользователей

  • ИМЯ БД: foo
  • ИМЯ ПОЛЬЗОВАТЕЛЯ БД: bar
  • ПАРОЛЬ БД: mypassword
  • КОМУ РАЗРЕШЕН ДОСТУП К БД: localhost, vm01, vm02 со следующими IP-адресами — 192.168.1.10 и 192.168.1.11

Введите следующую команду для создания БД и требующихся пользователей:

# /usr/bin/mysql -u root -h localhost -p 

Чтобы создать БД с именем foo, введите следующую команду в строке терминала mysql:

mysql > CREATE DATABASE foo; 

Необходимо предоставить права доступа к этой БД пользователю MySQL с именем bar, под которым сервера приложений Apache + php5 будут подключаться к БД.

mysql > GRANT ALL ON foo.* TO bar@localhost IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.10 IDENTIFIED BY 'mypassword'; mysql > GRANT ALL ON foo.* TO bar@192.168.1.11 IDENTIFIED BY 'mypassword'; 

Что бы выйти из консоли MySQL, введите следующую команду:

Теперь можно создавать таблицы или загрузить данные, используя SQL-файл. Вы можете автоматизировать эту процедуру, написав шелл- или Perl-скрипт добавления пользователей MySQL и баз данных.

Читайте также:  Postgresql export database linux

Проверьте вашу новенькую БД и пользовательские настройки с «удаленных» vm01 и vm02

Подключитесь через ssh к виртуальному узлу vm01 или узлу vm03 и введите следующую команду, чтобы проверить связь с Apache/Lighttpd web-сервером:

$ mysql -u bar -h 192.168.1.13 -p'mypassword' foo 
$ mysql -u bar -h vm04 -p'mypassword' foo 

PhpMyAdmin

PhpMyAdmin – известный web-интерфейс к БД MySQL. Этот серверный скрипт используется для удаленного администрирования MySQL с помощью одного лишь браузера. PhpMyAdmin может администрировать как весь сервер MySQL, так и одну базу данных. Этот пакет рекомендуется для всех новых пользователей базы данных MySQL и администраторов.

  • Вводная часть
  • Шаг №1: Настройка / Установка: NFS файловый сервер
  • Шаг №2: Настройка / установка: сервер баз данных MySQL
  • Шаг №3: Настройка / Установка: Memcached сервера кэширования
  • Шаг №4: Настройка / Установка: Apache + php5 приложение веб-сервера
  • Шаг №5: Настройка / Установка: веб-сервер Lighttpd для статических активов
  • Шаг №6: Настройка / Установка: Nginx обратный (reverse) прокси-сервер

Ссылки на продолжение в конце поста будут проставлены в течение недели, по мере перевода и при вашем желании слушать дальше этот перевод.

Источник

Оцените статью
Adblock
detector