Подключение к кластеру

Общие принципы

К кластерам 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;