Подключение к кластеру MySQL
Общие принципы
К кластерам MySQL можно подключиться по IP и DNS-адресам.
6033 – порт для подключения к ProxySQL, который автоматически распределяет запросы между нодами кластера.
К кластерам можно подключиться несколькими способами:
- через терминальную программу MySQL mysql;
- используя графические инструменты (phpMyAdmin, MySQL Workbench, Sequel Pro и др.), позволяющие управлять базами данных;
- из вашего приложения, используя один из доступных языковых интерфейсов.
Во всех случаях вы можете использовать SSL-сертификат для подключения.
Количество подключений
Количество подключений для кластера MySQL определяется количеством RAM для виртуальных машин кластера баз данных. На каждый 1 ГБ RAM доступно 50 подключений. Например, для ВМ для кластера БД с 4 ГБ RAM доступно 200 подключений, для 6 ГБ RAM — 300 подключений.
Чтобы увеличить количество подключений, масштабируйте кластер до нужного количества RAM.
Подключение для Linux
С использованием SSL
mkdir -p ~/.mysql/
wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.mysql/root.crt
chmod 0600 ~/.mysql/root.crt
mysql --host=<target_host> \
--port=6033 \
--user=<database user name> \
--password \
--database=<database name> \
--ssl-ca=~/.mysql/root.crt \
--ssl-mode=verify_ca
Без использования SSL
mysql --host=<target_host> \
--port=6033 \
--user=<database user name> \
--password \
--database=<database name> \
--ssl-mode=disabled
Подключение для Windows
С использованием SSL
Загрузите сертификат selcloud.
При подключении укажите местоположение сертификата с помощью параметра --ssl-ca
:
mysql --host=<target_host> \
--port=6033 \
--user=<database user name> \
--password \
--database=<database name> \
--ssl-ca=<cert path> \
--ssl-mode=verify_ca
Без использования SSL
mysql --host=<target_host> \
--port=6033 \
--user=<database user name> \
--password \
--database=<database name> \
--ssl-mode=disabled
Подключение из программного кода
Пример подключения для Python с использованием SSL (драйвер MySQL Connector)
import mysql.connector
cnx = mysql.connector.connect(user='username', password='password',
host='ip_or_fqdn',
database='database',
ssl_ca='path_to_ca_cert',
ssl_verify_cert=true)
cnx.close()
Пример подключения для Python без использования SSL (драйвер MySQL Connector)
import mysql.connector
cnx = mysql.connector.connect(user='username', password='password',
host='ip_or_fqdn',
database='database')
cnx.close()
Подключение через phpMyAdmin
Для подключения к БД с помощью phpMyAdmin добавьте в файл конфигурации /etc/phpmyadmin/config.inc.php следующие строки:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'ip_or_fqdn';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = '6033';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;