Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает шаги, чтобы активироваться InnoDB
/ интеграция memcached на MySQL Server. Поскольку memcached
демон тесно интегрируется с MySQL Server, чтобы избежать сетевого трафика и минимизировать задержку, Вы
выполняете этот процесс на каждом экземпляре MySQL, который использует эту функцию.
Перед установкой интерфейса memcached для любых данных консультируйтесь с Разделом 14.2.9.4, "Соображения безопасности для InnoDB memcached Плагин", чтобы понять меры безопасности должны были предотвратить любой несанкционированный доступ.
Прежде, чем Вы установите плагин непосредственно, и внутренние таблицы использование, проверьте, что у Вашего сервера есть необходимое необходимое как условие программное обеспечение.
В настоящий момент memcached Плагин Демона только поддерживается на Linux, Солярисе, и платформах OS X.
Вы должны иметь libevent
установленный, так как это требуется memcached. Способ получить эту библиотеку отличается, если Вы
используете установщик MySQL или создаете из источника, как описано в следующих разделах.
Когда Вы используете установщик MySQL, libevent
библиотека не включается.
Используйте определенный метод для своей операционной системы, чтобы загрузить и установить libevent
1.4.3 или позже: например, в зависимости от операционной системы, Вы
могли бы использовать команду apt-get
, yum
, или
port install
.
Библиотеки для memcached и InnoDB
плагин для memcached помещается в правильное место
установщиком MySQL. Для типичной работы, файлов lib/plugin/libmemcached.so
и
lib/plugin/innodb_engine.so
используются.
Для краткого введения на шагах установки см. файл README-innodb_memcached
в
исходном распределении. Это - более подробное объяснение той процедуры.
Если у Вас есть выпуск исходного кода, то есть a libevent
1.4.3 включенный в
пакет.
Пойдите в каталог plugin/innodb_memcached/libevent
.
Дайте следующие команды, чтобы создать и установить libevent
библиотека:
autoconf./configuremakemake install
После libevent
устанавливается, создайте сервер MySQL с -DWITH_INNODB_MEMCACHED=ON
.
Исходный код для InnoDB
Плагин-memcached
находится в plugin/innodb_memcached
каталог. Создание MySQL Server с -DWITH_INNODB_MEMCACHED=ON
генерирует две совместно используемых библиотеки в этом каталоге.
libmemcached.so
: memcached
плагин демона к MySQL.
innodb_engine.so
: InnoDB
Плагин API к memcached.
Поместите эти две совместно используемых библиотеки в каталог плагина MySQL. Чтобы найти каталог плагина MySQL, дайте следующую команду:
mysql> select @@plugin_dir;+-----------------------------------------------+| @@plugin_dir |+-----------------------------------------------+| /Users/cirrus/sandbox-setup/5.6.10/lib/plugin/ |+-----------------------------------------------+1 row in set (0.00 sec)
memcached демон может иногда заставлять сервер MySQL превышать предел ОС на числе открытых файлов. Вы, возможно, должны были бы выполнить ulimit команду, чтобы увеличить предел, и затем запустить сервер MySQL с той же самой оболочки. См. Раздел 14.2.9.8, "Диагностируя InnoDB memcached Плагин" для шагов, чтобы решить этот вопрос.
Сконфигурировать memcached плагин, таким образом, это может
взаимодействовать InnoDB
таблицы, выполненные сценарий конфигурации scripts/innodb_memcached_config.sql
устанавливать необходимые таблицы,
используемые негласно:
mysql: source MYSQL_HOME
/share/innodb_memcached_config.sql
Это - одноразовая работа. Таблицы остаются на месте, если Вы позже отключаете и повторно включаете поддержке memcached. Для получения информации о расположении и цели этих таблиц, см. Раздел 14.2.9.7, "Внутренности InnoDB memcached Плагин".
Чтобы активировать плагин демона, используйте install plugin
оператор, так же,
как, устанавливая любой другой плагин MySQL:
mysql> install plugin daemon_memcached soname "libmemcached.so";
Как только плагин устанавливается этот путь, он автоматически активируется каждый раз, когда сервер MySQL загружается или перезапускается.
Делая существенные изменения к сменной конфигурации, Вы, возможно, должны были бы выключить плагин. Чтобы сделать так, сделайте следующее заявление:
mysql> uninstall plugin daemon_memcached;
Чтобы повторно включить этому, выпустите предыдущее install plugin
оператор
снова. Все предыдущие параметры конфигурации, внутренние таблицы, и данные сохраняются, когда плагин
возвращается этот путь.
Если у Вас есть какие-либо memcached определенные параметры
конфигурации, определите их на mysqld
командной строке или введите их в конфигурационный файл MySQL, закодированный в параметре daemon_memcached_option
Параметр конфигурации MySQL. memcached параметры конфигурации вступают в силу, когда
плагин устанавливается, который Вы делаете каждый раз, когда сервер MySQL запускается.
Например, чтобы заставить memcached слушать на порту 11222
вместо порта значения по умолчанию 11211, добавить -p11222
к параметру
конфигурации MySQL daemon_memcached_option
:
mysqld .... --loose-daemon_memcached_option="-p11222"
Можно добавить другие memcached параметры командной строки к daemon_memcached_option
строка. Другие параметры конфигурации:
daemon_memcached_engine_lib_name
(значение по умолчанию innodb_engine.so
)
daemon_memcached_engine_lib_path
(НУЛЬ значения по умолчанию,
представляя сменный каталог).
daemon_memcached_r_batch_size
, пакетный размер фиксации для операций
чтения (get
). Это определяет после, сколько memcached операций чтения система автоматически
делает фиксацию. По умолчанию
это устанавливается в 1 так, чтобы каждый get
запрос может получить
доступ к очень последним фиксировавшим данным в InnoDB
таблица, были ли
данные обновлены через memcached или SQL. Когда его
значение больше чем 1, счетчик для операций чтения постепенно увеличивается однажды для каждого
get
вызвать. flush_all
вызовите сбросы оба
счетчики записи и чтение.
daemon_memcached_w_batch_size
, пакетная фиксация для любых операций
записи (set
, replace
, append
, prepend
, incr
,
decr
, и так далее) По умолчанию, это устанавливается как 1, так, чтобы
никакие незафиксированные данные не были потеряны в случае отключения электричества, и любые
SQL-запросы на базовой таблице могут получить доступ к очень последним данным. Когда его значение
больше чем 1, счетчик для операций записи постепенно увеличивается однажды для каждого add
, set
, incr
, decr
, и delete
вызвать. flush_all
вызовите сбросы оба счетчики записи и чтение.
По умолчанию Вы ничего не должны изменить с первыми двумя параметрами конфигурации. Те опции позволяют Вам загружать любой другой механизм хранения для memcached (такого как NDB memcached механизм).
Снова, пожалуйста, отметьте, что у Вас будут эти параметры конфигурации в Вашем конфигурационном файле MySQL, или MySQL загружают командную строку. Они вступают в силу, когда Вы загружаете memcached плагин.
Теперь у Вас есть все установленное. Можно непосредственно взаимодействовать с таблицами InnoDB через интерфейс memcached. Чтобы проверить, что функция работает должным образом, см. Раздел 14.2.9.3.3, "Проверяя InnoDB и Установку memcached".
Теперь, когда все устанавливается, можно экспериментировать с InnoDB и memcached комбинацией:
Вот пример, используя Unix, Linux, или командный процессор OS X:
# Point memcached-related commands at the memcached attached to the mysqld process.export MEMCACHED_SERVERS=127.0.0.1:11211# Store the contents of a modestly sized text file in memcached, with the data passed# to MySQL and stored in a table. The key is the basename of the file, 'mime.types'.memcp /etc/apache2/mime.types# Retrieve the data we just stored, from the memory cache.memcat mime.types
Вот пример, используя telnet, чтобы отправить memcached команды и получить результаты через протокол ASCII:
telnet 127.0.0.1 11211
set a11 10 0 9
123456789
STOREDget a11
VALUE a11 0 9123456789ENDquit
Чтобы доказать, что весь одинаковый данные хранились в MySQL, соединитесь с сервером MySQL и проблемой:
mysql> select * from test.demo_test;
Теперь, завершите работу сервера MySQL, который также отключает интегрированный memcached сервер. Дальнейшие попытки получить доступ к memcached данным теперь перестали работать с ошибкой соединения. Обычно, memcached данные исчезли бы в этой точке, и Вы запишете логику приложения, чтобы загрузить данные назад в память, когда memcached был перезапущен. Но MySQL / memcached интеграция автоматизирует этот процесс:
Перезапустите сервер MySQL.
Работайте install plugin
оператор, чтобы
запуститься daemon_memcached
плагин снова.
Теперь любые memcat команды или
get
операции еще раз возвращают пары ключ/значение, которые Вы
сохранили в ранее memcached сеанс. Когда ключ требуют,
и присваиваемое значение уже не находится в кэш-памяти, это автоматически запрашивается от таблицы
MySQL по умолчанию test.demo_test
.