admin);
replace into `settings` values ("admin-username", "admin");
replace into `settings` values ("basedir", "/home/ght/cetus_install");
replace into `settings` values ("conf-dir", "/home/ght/cetus_install/conf");
replace into `settings` values ("default-db", "test");
replace into `settings` values ("default-username", "ght");
replace into `settings` values ("log-file", "/home/ght/cetus_install/cetus.log");
replace into `settings` values ("plugin-dir", "/home/ght/cetus_install/lib/cetus/plugins");
replace into `settings` values ("plugins", "proxy,admin");
replace into `settings` values ("proxy-backend-addresses", "192.0.0.1:3306@data1,192.0.0.2:3306@data2,192.0.0.3:3306@data3,192.0.0.4:3306@data4");
objects
表Данная таблица хранит информацию об учётных записях и фрагментации данных, что соответствует локальному конфигурационному файлу users.json
и sharding.json
. Её структура выглядит следующим образом:
CREATE TABLE
objects
(
object_name
varchar(64) NOT NULL,
object_value
text NOT NULL,
mtime
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (
object_name
))
В этой таблице можно настроить информацию о пользователях и правила фрагментации, где object_values
фактически хранит данные в формате JSON, например:
replace into `objects` values ("sharding", '{"vdb": [{"id": 1,"type": "int","method": "hash","num": 8,"partitions": {"data1": [0,1], "data2": [2,3], "data3": [4,5], "data4": [6,7]}},{ "id": 2,"type": "int","method": "range","num": 0,"partitions": {"data1": 124999, "data2": 249999, "data3": 374999,"data4": 499999}}],"table": [{"vdb": 1, "db": "employees_hash", "table": "dept_emp", "pkey": "emp_no"},{"vdb": 1, "db": "employees_hash", "table": "employees", "pkey": "emp_no"},{"vdb": 1, "db": "employees_hash", "table": "titles", "pkey": "emp_no"},{"vdb": 2, "db":"employees_range", "table": "dept_emp", "pkey": "emp_no"},{"vdb": 2, "db": "employees_range", "table": "employees", "pkey": "emp_no"},{"vdb": 2, "db":"employees_range", "table": "titles", "pkey": "emp_no"}],"single_tables": [{"table": "regioncode", "db": "employees_hash", "group": "data1"},{"table": "countries", "db": "employees_range", "group": "data2"}]}', now());
replace into `objects` values ("users", '{"users":[{"user": "ght","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-1234"}, {"user": "tmp","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-12345"}, {"user": "test2","client_pwd":"123456","server_pwd": "Zxcvbnm,lp-1234"}, {"user": "dbtest","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-1234"}]}', now());
services
表Эта таблица используется для хранения времени запуска Cetus. Таблица заполняется самим Cetus при запуске, поэтому не требует настройки со стороны пользователя. Её структура следующая:
CREATE TABLE
services
(
id
varchar(64) NOT NULL,
data
varchar(64) NOT NULL,
start_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (
id
))
Поле id
таблицы содержит информацию о IP/PORT, за которыми следит плагин Cetus, поле data
содержит имя плагина, а поле start_time
— время запуска плагина. Например, после запуска Cetus данные таблицы могут выглядеть следующим образом:
mysql> select * from services;
+--------------+-------+---------------------+
| id | data | start_time |
+--------------+-------+---------------------+
| 0.0.0.0:6003 | admin | 2018-07-11 11:59:05 |
| :4040 | proxy | 2018-07-11 11:59:06 |
+--------------+-------+---------------------+
2 rows in set (0.00 sec)
При запуске Cetus не нужно указывать --defaults-file
, достаточно указать URL удалённого конфигурационного центра remote-conf-url
.
Формат записи информации о удалённом конфигурационном центре следующий:
remote-conf-url = mysql://dbuser:dbpassword@host:port/schema
или
remote-conf-url = sqlite://dbuser:dbpassword@host:port/schema
Порт удалённого центра конфигурации является необязательным параметром, по умолчанию равен 3306.
Команда запуска может выглядеть так:
/home/ght/cetus_install/bin/cetus --remote-conf-url=mysql://ght:123456@172.17.0.1:3306/test
Если необходимо перезагрузить конфигурацию удалённого центра, то нет необходимости перезапускать Cetus. Для этого на административном порту Cetus предусмотрена команда config reload
.
Для перезагрузки конфигурации из таблицы settings
, можно выполнить команду config reload
на административном порте Cetus. Это заставит Cetus повторно загрузить конфигурацию из удалённого центра.
Для обновления информации об учётных данных в таблице objects
, можно использовать команды config reload user
или config reload variables
на административном порте Cetus. Эти команды заставят Cetus обновить информацию об учётных данных и переменных, которые обрабатываются автоматически, из удалённого центра соответственно.
Примечание: в настоящее время при выполнении операции перезагрузки с удалённым центром конфигурации, соединение, чтение и запись имеют тайм-аут в 1 секунду. Если из-за высокой нагрузки на удалённый центр конфигурации или проблем с сетью время ожидания превышает 1 секунду, операция перезагрузки завершится неудачно. Кроме того, в настоящее время операция перезагрузки выполняется в том же потоке, что и обработка SQL, поэтому рекомендуется минимизировать использование этой команды или выполнять её в периоды низкой нагрузки. В будущем операция будет выполнена асинхронно, чтобы не влиять на обработку SQL. Отключить вспомогательные потоки, включая:
disable-threads = true
По умолчанию: true Проверять ли задержку ведомой базы данных. Обратите внимание, что Cetus проверяет только количество миллисекунд задержки между главной и ведомой базами данных (временная метка записи главной базы данных, временная метка чтения ведомой базы данных и разница с местным временем), а не то, работают ли io_thread/sql_thread нормально.
check-slave-delay = false
По умолчанию: 10 (секунд) Если задержка ведомой базы данных превышает указанное количество секунд, состояние будет установлено в DOWN.
slave-delay-down = 15
По умолчанию: 1 (секунда) Если задержка ведомой базы данных меньше указанного количества секунд, статус будет восстановлен до UP.
slave-delay-recover = 5 Примечание: slave-delay-recover должно быть меньше slave-delay-down. Если пользователь настроит slave-delay-recover больше, чем slave-delay-down, то по умолчанию slave-delay-recover и slave-delay-down будут равны.
По умолчанию: 0 (обычный MySQL кластер) Когда бэкенд MySQL кластера находится в режиме одного главного узла MGR, этот параметр устанавливается в 1, и Cetus может автоматически определять состояние главного и ведомого узлов и изменение ролей узлов в кластере MGR. В настоящее время Cetus поддерживает только режим одного главного MGR.
group-replication-mode = 1
По умолчанию: false При выходе из программы записывается код выхода.
verbose-shutdown = true
По умолчанию: false Если процесс Proxy неожиданно завершается, он автоматически запускает новый процесс.
keepalive = true
По умолчанию: в соответствии с операционной системой Максимальное количество открытых файлов (ulimit -n).
max-open-files = 1024
По умолчанию: 33554432 (32 МБ) Максимальный размер разрешённого пакета.
max-allowed-packet = 1024
По умолчанию: false Отключить разрешение соединения с доменными именами.
disable-dns-cache = true
По умолчанию: 1000 (миллисекунд) Пороговое значение медленного запроса (в миллисекундах), максимум 65536 мс.
long-query-time = 500
По умолчанию: false Запустить отладчик gdb при сбое программы.
log-backtrace-on-crash = true
По умолчанию: false Включить сжатие результатов, передаваемых бэкэнду Cetus, обычно не используется.
enable-back-compress = true
По умолчанию: 8192 Порог объединения и вывода потоков TCP, если превышен, выводится.
merged-output-size = 2048
По умолчанию: 100 Установить тайм-аут по умолчанию для query cache, единица измерения — мс.
default-query-cache-timeout = 60
По умолчанию: false Включение кэша запросов Proxy.
enable-query-cache = true
По умолчанию: 65536 Установить максимальный размер заголовка в ответе, который используется в потоке TCP. Если заголовок ответа особенно большой, необходимо установить больший размер.
max-header-size = 131072
По умолчанию: false Использовать поток TCP для вывода ответов, чтобы избежать проблем с переполнением памяти.
enable-tcp-stream = true
По умолчанию (версия выпуска): false Используйте быстрый поток для вывода только ответов на чтение, чтобы повысить скорость отклика. Версия выпуска по умолчанию — false, версия разработки — true.
enable-fast-stream = true
По умолчанию: false
Поддержка SSL-соединения на переднем плане. Необходимо предоставить следующие файлы в --conf-dir
:
server-key.pem
;server-cert.pem
.
Эти два файла можно создать с помощью инструмента MySQL, после чего скопировать их в каталог conf-dir
, и программа загрузит файлы по этим двум фиксированным именам.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )