Подключиться к кластеру MySQL semi-sync
К кластеру облачных баз данных MySQL semi-sync можно подключиться по DNS-адресу, приватному IP-адресу и публичному IP-адресу.
Мы рекомендуем подключаться по DNS-адресу, потому что DNS-адреса соответствуют ролям нод и ведут на актуальные IP-адреса мастера и реплик. IP-адреса соответствуют конкретным нодам. В случае недоступности мастера одна из реплик воз ьмет на себя его роль, IP-адрес мастера изменится, и подключение по IP перестанет работать.
Если кластер подключен к приватной подсети и вы хотите работать с ним через DNS, подключите подсеть кластера к облачному роутеру с доступом к внешней сети. Используйте инструкцию Настроить доступ в интернет через облачный роутер.
Если кластер подключен к приватной сети и вам нужно настроить доступ к ноде из интернета, подключите публичный IP-адрес.
Порты
Для подключения к кластеру используйте порт 3306.
Способы подключения
- через терминальный клиент mysql;
- через графические инструменты для управления базами данных: phpMyAdmin, MySQL Workbench, Sequel Pro и другие;
- из программного кода с SSL и без SSL.
Для всех способов доступно подключение с SSL-сертификатом.
Посмотреть адрес для подключения
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера баз данных → вкладка Подключение.
- В блоке Адреса для подключения посмотрите адрес.
Количество подключений
Количество подключений для кластера MySQL semi-sync определяется количеством RAM для нод кластера баз данных. На каждый 1 ГБ RAM доступно 50 подключений. Например, для кластера с 4 ГБ RAM доступно 200 подключений, для 6 ГБ RAM — 300 подключений.
Чтобы увеличить количество подключений, масштабируйте кластер до нужного количества RAM.
Подкл ючиться с SSL
Подключение с использованием TLS/SSL шифрования обеспечивает безопасное соединение между вашим сервером и кластером баз данных.
Bash
PowerShell
Python
PHP
Go
Node.js
-
Скачайте корневой сертификат и поместите его в папку
~/.mysql/
:mkdir -p ~/.mysql/
wget https://storage.dbaas.servercore.com/CA.pem -O ~/.mysql/root.crt
chmod 0600 ~/.mysql/root.crt -
Подключитесь к кластеру:
mysql --host=<host> \
--port=3306 \
--user=<database_user_name> \
--password \
--database=<database_name> \
--ssl-ca=~/.mysql/root.crt \
--ssl-mode=verify_caУкажите:
<host>
— DNS-адрес ноды;<database_user_name>
— имя пользователя базы данных;<database_name>
— имя базы данных.
-
В панели управления нажмите Скачать сертификат для скачивания корневого сертификата и поместите его в папку
~/.mysql/
-
Подключитесь к кластеру:
mysql --host=<host> \
--port=3306 \
--user=<database_user_name> \
--password \
--database=<database_name> \
--ssl-ca=%APPDATA%\mysql\CA.pem\ \
--ssl-mode=verify_caУкажите:
<host>
— DNS-адрес ноды;<database_user_name>
— имя пользователя базы данных;<database_name>
— имя базы данных.
-
Ска чайте корневой сертификат и поместите его в папку
~/.mysql/
:mkdir -p ~/.mysql/
wget https://storage.dbaas.servercore.com/CA.pem -O ~/.mysql/root.crt
chmod 0600 ~/.mysql/root.crt -
Установите библиотеку PyMySQL:
pip3 install PyMySQL
-
Используйте пример подключения:
import pymysql.cursors
connection = pymysql.connect(host='<host>',
user='<database_user_name>',
password='<password>',
database='<database_name>',
ssl_ca='<full_path_to_root_certificate>',
ssl_verify_cert=True,
port=3306,
cursorclass=pymysql.cursors.DictCursor)
with connection:
with connection.cursor() as cursor:
cursor.execute("SELECT 40 + 2 AS sum")
result = cursor.fetchone()
print(result)Укажите:
<host>
— DNS-адрес ноды;<database_user_name>
— имя пользователя базы данных;<password>
— пароль пользователя;<database_name>
— имя базы данных;<full_path_to_root_certificate>
— полный путь до корневого сертификата.
-
Скачайте корневой сертификат и поместите его в папку
~/.mysql/
:mkdir -p ~/.mysql/
wget https://storage.dbaas.servercore.com/CA.pem -O ~/.mysql/root.crt
chmod 0600 ~/.mysql/root.crt