Технология построения защищенных распределенных приложений



Pdf көрінісі
бет26/30
Дата05.02.2024
өлшемі0.74 Mb.
#490871
түріРеферат
1   ...   22   23   24   25   26   27   28   29   30
Хадуп

3.3.7 Установка ProxySQL 
ProxySQL это приложение для проксирования SQL-запросов к базам 
данных для MySQL кластера. Работает как отдельный демон, все SQL-запросы, 
которые необходимо проксировать, обрабатываются, затем, по заранее 
составленным правилам, демон подключается к необходимому MySQL-серверу 
и выполняет запрос, и уже после этого отдает результат приложению. 
Мы будем устанавливать ProxySQL на четвертый узел. Для установки 
воспользуемся командой (на четвертом узле): 
sudo apt-get install proxysql 
Для подключения к административному интерфейсу ProxySQL нам 
потребуется MySQL клиент. Мы можем использовать MySQL клиент, 
установленный на одном из узлов Percona XtraDB Cluster, либо установить его 
на узел с ProxySQL и подключаться локально. Воспользуемся вторым 
способом. Для этого установим на четвертый узел пакет Percona XtraDB Cluster: 
sudo apt-get install percona-xtradb-cluster-client-5.7 
Подключимся к административному модулю ProxySQL с использованием 
пароля/логина по умолчанию: 
mysql -u admin -padmin -h 
127
.0.0.1 -P 
6032
mysql: [Warning] Using a password on the command line interface can be 
insecure. 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1420 
Server version: 5.5.30 (ProxySQL Admin Module) 
Copyright (c) 2009-2017 Percona LLC and/or its affiliates 
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
mysql> 


46 
Посмотрим базы данных и таблицы ProxySQL: 
mysql@proxysql> SHOW DATABASES
+-----+---------+-------------------------------+ 
| seq | name | file | 
+-----+---------+-------------------------------+ 
| 0 | main | | 
| 2 | disk | /var/lib/proxysql/proxysql.db | 
| 3 | stats | | 
| 4 | monitor | | 
+-----+---------+-------------------------------+ 
4 rows in set (0.00 sec) 
mysql@proxysql> SHOW TABLES; 
+--------------------------------------+ 
| tables | 
+--------------------------------------+ 
| global_variables | 
| mysql_collations | 
| mysql_query_rules | 
| mysql_replication_hostgroups | 
| mysql_servers | 
| mysql_users | 
| runtime_global_variables | 
| runtime_mysql_query_rules | 
| runtime_mysql_replication_hostgroups | 
| runtime_mysql_servers | 
| runtime_scheduler | 
| scheduler | 
+--------------------------------------+ 
12 rows in set (0.00 sec) 
ProxySQL имеет несколько областей, где может размещаться 
конфигурация (рисунок 6). 
Рисунок 6 — Области хранения конфигурации ProxySQL 
Область времени выполнения (runtime) — непосредственно используется 
демоном ProxySQL и содержит всю конфигурационную информацию для 
проксирования запросов. 
Runtime 
Память 
Диск 
Конфигурационный 
файл


47 
Область памяти (memory) — представляет собой SQLite3 базу данных, 
которая находится в памяти и используется для внесения изменений в 
конфигурацию. Конфигурирование осуществляется SQL-командами через 
стандартный MySQL-клиент. 
Область на дискового хранилища (disk) — представляет собой обычный 
SQLite3 базу на диске, в которую сохраняются данные внесенные через область 
памяти. 
Конфигурационный файл — конфигурационный файл /etc/proxysql.cnf.
Используется в момент инициализации, содержит информацию о нахождении 
SQLite3 базы данных, информацию об административном интерфейсе, а так же 
начальную конфигурацию демона. Конфигурационный файл при запуске 
демона используется только при отсутствии базы данных на диске.
Для перемещения конфигураций пользователей (MYSQL USERS) между 
памятью и областью времени выполнения используются команды: 
mysql> LOAD MYSQL USERS FROM MEMORY 
mysql> LOAD MYSQL USERS TO RUNTIME
Из области времени выполнения в память: 
mysql> SAVE MYSQL USERS TO MEMORY 
mysql> SAVE MYSQL USERS FROM RUNTIME
С дискового хранилища в память: 
mysql> LOAD MYSQL USERS TO MEMORY 
mysql> LOAD MYSQL USERS FROM DISK
Из памяти в дисковое хранилище: 
mysql> SAVE MYSQL USERS FROM MEMORY 
mysql> SAVE MYSQL USERS TO DISK 
Из конфигурационного файла в память: 
LOAD MYSQL USERS FROM CONFIG 
Таким же образом перемещение можно осуществлять и для: 
 MYSQL QUERY RULES (правила маршрутизации проксируемых 
запросов; правила также позволяют модифицировать запросы и даже 
кэшировать результаты); 
 MYSQL SERVERS (сервера на которые проксируются запросы); 
 MYSQL VARIABLES (переменные MySQL-сервера); 
 ADMIN VARIABLES (переменные административных настроек, для 
данных переменных невозможно их чтение из конфигурационного файла); 
 SCHEDULER (настройки планировщика периодических заданий, 
чтение их из конфигурационного файла также невозможно). 


Достарыңызбен бөлісу:
1   ...   22   23   24   25   26   27   28   29   30




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет