Как подключить dbeaver к mysql
Перейти к содержимому

Как подключить dbeaver к mysql

  • автор:

DBeaver не подключается к mysql

Скриншот настроек DBeaver

Но если я подключаюсь через node.js, то ошибок никаких нет. В чём может быть проблема? Вот скриншот настроек DBeaver:

Отслеживать
задан 22 янв в 7:11
1 2 2 бронзовых знака

Думаю, сервер базы данных не запущен или недоступен для подключения из-за неправильно настроенного файервола или блокировки порта.

22 янв в 9:39

То есть у вас запущен локальный сервер mySQL на стандартном порту 3306, к которому вы можете подключиться из локального приложения на node.js, но не работает подключение только через DBeaver? Проверьте/сравните настройки подключения в node.js.

22 янв в 13:04

Как оказалось, DBeaver не поддерживает подключение к mysql на том же компьютере на котором запущен mysql

Установка и настройка Dbeaver для работы с витриной данных Лайт

Для управления базами данных витрины рекомендуется использовать DBeaver — это бесплатное программное обеспечение с открытым исходным кодом для управления базами данных (БД). Для взаимодействия с реляционными БД в витрине используется программный интерфейс JDBC (через JDBC-драйвер).

Для подключения к базе данных витрины необходимо выполнить следующие действия:

  • установить приложение DBeaver (менеджер баз данных);
  • получить у системного программиста учетные записи для доступа к базе данных (название БД, логин и пароль пользователя БД);
  • настроить приложение DBeaver;
  • установить и настроить JDBC-драйвер для работы с базой данных витрины;
  • выполнить проверку подключения к базе данных витрины.

Установка приложения DBeaver

Для установки DBeaver скачайте дистрибутив приложения с официального сайта https://dbeaver.io/download/.

Установите программу стандартным способом в соответствии с операционной системой, установленной на вашем компьютере.

Установка и настройка JDBC-драйвера

Дистрибутив с актуальной версией JDBC-драйвера находится в установочном пакете витрины данных.

Процесс установки JDBC-драйвера и настройки подключения к базам данных в приложении Dbeaver, работающем под операционными системами Windows или Linux (на примере Ubuntu, версия 20.04), идентичный. Для этого выполните следующие действия:

  1. Откройте приложение Dbeaver;
  2. В главном меню приложения выберите Базы данных/Database и нажмите пункт Управление драйверами/Driver Manager;
  3. В открывшемся окне Менеджер драйверов/Driver Manager нажмите кнопкуНовый/New;
  4. В открывшемся окне Создать драйвер/Create new driver заполните следующую информацию:
    • Имя драйвера/Driver Name: DtmDriver;
    • Имя класса/Class Name: ru.datamart.prostore.jdbc.Driver;
    • Шаблон URL/URL Template: jdbc:prostore://:.
  5. Установите галочку в поле Без авторизации/No authentication и Пустой пароль/Allow Empty Password;
  6. Во вкладке Библиотеки/Libraries нажмите кнопку Добавить файл и укажите путь к jar-файлу JDBC-драйвера укажите путь к jar-файлу с JDBC-драйвер;
  7. Нажмите кнопку Ок;
  8. Проверьте, что драйвер был добавлен в приложение. Для этого откройте окно Менеджер драйверов»/«Driver Manager (Базы данных/Database> Управление драйверами/Driver Manager) и в поисковой строке введите название драйвера – DtmDriver.

Подключение к базе данных витрины для ОС Windows/Linux

Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:

Тест соединения.png

  1. Откройте Dbeaver;
  2. В главном меню приложения выберите пункт База данных/Database > Новое соединение/Connect to a Database;
  3. В окне Создать соединение/Connect to a Database в поисковой строке введите dtmdriver;
  4. Выберите DtmDriver и нажмите кнопку Далее/Next; В окне Настройка соединения/Connection Settings заполните следующие поля:
    — Хост — DNS-name или IP адрес сервера базы данных. Например, 172.16.0.17.
    — Порт — порт для сервера базы данных, например, 9090.
    В результате выполненных действий, в поле JDBC URL будет отображено следующее значение jdbc:prostore://172.16.0.17:9090;
  5. Нажмите кнопку Тест соединения/Connection test для проверки подключения.
    В случае успешного подключение отобразится сообщение о корректном подключении:
  6. Закройте окно проверки соединения, для этого нажмите кнопку OK;
  7. В окне Настройка базового соединения/Connection Settings нажмите кнопку Готово/Finish.

Проверка загрузки данных в БД витрины

FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER(‘test_upload_data’);

Результат выполнения должен быть Пустым.

2. Для создания тестовой БД с таблицей Trip выполните следующий sql-запрос:

CREATE TABLE test_upload_data.trip (

Как подключиться к локальной базе данных в DBeaver?

Можно в DBeaver создать базу данных или подключиться к тем что у меня созданы (в консоли). Или в DBeaver можно только подключаться к удаленным?

Я пробовала просто создать новое подключение, но требовался какой-то пароль. У меня не стоит пароля и я его не задавала, когда устанавливала postgresql. В консоли работаю без пароля. Пароль рута тут не подходит. Не понимаю, какой пароль нужен. Или может я неправильно подключаюсь.

alissia
19.02.22 04:29:05 MSK

ну так попробуй без пароля?

Anoxemian ★★★★★
( 19.02.22 04:39:30 MSK )
Ответ на: комментарий от Anoxemian 19.02.22 04:39:30 MSK

я итак не ввожу никакого пароля

anonymous
( 19.02.22 04:40:23 MSK )
Ответ на: комментарий от anonymous 19.02.22 04:40:23 MSK

и что получается?

Anoxemian ★★★★★
( 19.02.22 05:26:22 MSK )
Ответ на: комментарий от Anoxemian 19.02.22 05:26:22 MSK

The server requested password-based authentication, but no password was provided.

anonymous
( 19.02.22 06:16:24 MSK )
KRex ★
( 19.02.22 12:40:37 MSK )

По умолчанию, «в консоли» используется peer auth, DBeaver такое не умеет. Тебе надо настроить в постгресе аутентификацию по паролю.

hippi90 ★★★★★
( 19.02.22 12:41:34 MSK )

А подключаешься что-то типа такого?

sudo -i -u postgres psql 

KRex ★
( 19.02.22 12:44:59 MSK )

Покажи pg_hba.conf, подскажу что там поменять и зайдешь по паролю

KRex ★
( 19.02.22 12:47:32 MSK )
anonymous
( 19.02.22 15:57:49 MSK )
Ответ на: комментарий от anonymous 19.02.22 15:57:49 MSK

Исправил, не благодари

anonymous
( 19.02.22 16:10:21 MSK )

Поищи сокет в /var/run/postgresql , через него и подключайся.

anonymous
( 19.02.22 18:36:49 MSK )
Ответ на: комментарий от anonymous 19.02.22 18:36:49 MSK

Поищи сокет в /var/run/postgresql, через него и подключайся.

Это для кого совет? DBeaver через сокет подключаться не умеет. Только через сеть. И через сеть можно подключаться и к локальной БД (адрес 127.0.0.1). Нужно только настроить разрешения и задать пароль. Как настроить доступ postgresql через сеть — есть масса мануалов.

sigurd ★★★★★
( 19.02.22 21:20:10 MSK )
Ответ на: комментарий от sigurd 19.02.22 21:20:10 MSK

Не для четырёхзвёздных ламерков, вам уже ничем не помочь.

через сеть можно подключаться и к локальной БД

А ещё можно с пола руками есть.

Большинство либ, работающих с сетью, поддерживает Unix socket из коробки, и даже если нет, её всегда можно притащить, DBeaver же на основе эклипса сделан, он расширяем.

  1. Запускаем БД для теста.
  2. Чекаем подключение через сокет в консоли.
  3. Создаём подключение в дебилвере.
  4. Добавляем либу junixsocket, не забываем жмякнуть кнопочку для скачивания.
  5. Правим шаблон DSN для драйвера.
  6. Подключаемся (пароль спросит, но вводить его не теруется).
  7. Радуемся, что избежали поражения мозга, во время крафта звёзд на ЛОРе.

anonymous
( 20.02.22 00:21:59 MSK )
Ответ на: комментарий от anonymous 20.02.22 00:21:59 MSK

Небольшая поправочка: шаблон DSN таки глобальный, лучше его не править, а сразу прописать всё, начиная с третьего слеша, в поле «Host» в настройках подключения.

anonymous
( 20.02.22 00:35:49 MSK )
Ответ на: комментарий от anonymous 20.02.22 00:21:59 MSK

Не для четырёхзвёздных ламерков, вам уже ничем не помочь.

Не собираюсь обмазываться вашим java-гамном в каждом отдельном приложении! Я просто открываю сетевой доступ и любой клиент получает доступ без дополнительных говно-библиотек. Все равно, рано или поздно потребуется удаленный доступ к БД. Лично для меня никогда не возникала даже мысль о тоннах javа-либ для доступа к БД. У меня не только java нет на серверах БД, но и графика отсутствует. И никакая разработка не идет на рабочих серверах, только удаленный доступ.
Админам локал-хоста это не понять!

sigurd ★★★★★
( 20.02.22 03:25:53 MSK )
Последнее исправление: sigurd 20.02.22 03:33:45 MSK (всего исправлений: 2)

Ответ на: комментарий от sigurd 20.02.22 03:25:53 MSK

Неубедительно оправдываешься, ламерок.

anonymous
( 20.02.22 17:24:27 MSK )
Ответ на: комментарий от anonymous 20.02.22 00:21:59 MSK

И какой смысл во всех этих приседаниях?

Legioner ★★★★★
( 20.02.22 18:36:39 MSK )

Исправь pg_hba.conf. Там надо включить доступ.

ox55ff ★★★★★
( 20.02.22 18:39:18 MSK )
Ответ на: комментарий от Legioner 20.02.22 18:36:39 MSK

Каких? Относительно обычной настройки соединения понадобилось только добавить библиотеку. Слишком тяжело для пятизвёздочника, понимаю.

anonymous
( 20.02.22 19:00:32 MSK )
Ответ на: комментарий от anonymous 20.02.22 19:00:32 MSK

Это ненужные усилия, которые нужно будет проводить при каждом апгрейде, как минимум.

Legioner ★★★★★
( 20.02.22 19:30:28 MSK )
Ответ на: комментарий от KRex 19.02.22 12:44:59 MSK

да, именно так и подключаюсь в консоли

anonymous
( 21.02.22 08:45:50 MSK )
Ответ на: комментарий от anonymous 20.02.22 17:24:27 MSK

Неубедительно оправдываешься, ламерок.

Да мне пофиг на мнение анонимуса! Проблемму доступа к локальной БД я решаю без всяких костылей, используя штатную функцию СУБД — сетевой доступ.

sigurd ★★★★★
( 21.02.22 10:33:49 MSK )

Тебе надо показать pg_hba.conf и сиськи. И все будет хорошо.

anonymous
( 21.02.22 11:05:26 MSK )
Ответ на: комментарий от sigurd 21.02.22 10:33:49 MSK

Какие ещё костыли, ламерок? Юникс сокет и является штатным средством доступа в рамках одного хоста.

anonymous
( 21.02.22 17:16:53 MSK )
Ответ на: комментарий от KRex 19.02.22 12:47:32 MSK

Database administrative login by Unix domain socket

local all postgres peer

TYPE DATABASE USER ADDRESS METHOD

«local» is for Unix domain socket connections only

local all all peer

IPv4 local connections:

host all all 127.0.0.1/32 md5

IPv6 local connections:

host all all ::1/128 md5

Allow replication connections from localhost, by a user with the

replication privilege.

local replication all peer host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5

alissia
( 22.02.22 09:16:38 MSK ) автор топика
Ответ на: комментарий от alissia 22.02.22 09:16:38 MSK

Тут все хорошо. Этого достаточно host all all 127.0.0.1/32 md5. Осталось пароль задать postgres.

sudo -u postgres psql \password 

Не забудь перезапуск сделать

sudo systemctl restart postgresql 

KRex ★
( 22.02.22 13:36:18 MSK )
Ответ на: комментарий от KRex 22.02.22 13:36:18 MSK

большое спасибо! помогло)

alissia
( 22.02.22 23:03:36 MSK ) автор топика
Ответ на: комментарий от anonymous 21.02.22 17:16:53 MSK

Костылями я называю установку дополнительных либ для доступа к unix-сокету и правку шаблонов.
Зачем такие извращения, если есть штатный доступ по сети? В том числе и к локальной БД, если на сервере БД есть джава и прочая графика.
Обычно такие извращения заканчиваются вопросами «почему у меня все локально работает, а по сети — нет»

sigurd ★★★★★
( 23.02.22 00:23:28 MSK )
Ответ на: комментарий от anonymous 20.02.22 00:21:59 MSK

То что ты делаешь это глупость. Если jdbc драйвер не умеет в юникс-сокет, то нужно просто в hba добавить запись с «host» и адрес либо маску, далее подключиться по tcp localhost.

anonymous
( 23.02.22 12:10:49 MSK )
Ответ на: комментарий от anonymous 23.02.22 12:10:49 MSK

Глупость и недоразумение — это ты, а я просто установил библиотеку.

anonymous
( 23.02.22 16:12:27 MSK )
Ответ на: комментарий от sigurd 23.02.22 00:23:28 MSK

Шаблон править не нужно, это было для наглядности, а установка библиотеки может быть извращением только для совсем уж сферического ламерка (что ты именно такой, впрочем, с первого же комментария понятно было).

Как будто доступ через сокет менее «штатный».

Обычно такие извращения заканчиваются вопросами

У бестолкового ламерья, безусловно.

Я, к слову, не настаивал на этом на как единственно верном варианте, а показал как сделать элементарную вещь, аналогично тому, как к БД без пароля подключается psql. А ты возбудился от того, что твою бестолковость расчехлили и выставили на общее обозрение.

anonymous
( 23.02.22 16:25:48 MSK )
Ответ на: комментарий от anonymous 23.02.22 16:25:48 MSK

Я, к слову, не настаивал на этом на как единственно верном варианте, а показал как сделать элементарную вещь, аналогично тому, как к БД без пароля подключается psql. А ты возбудился от того, что твою бестолковость расчехлили и выставили на общее обозрение.

Странно, но по моему — это ты возбудился, и начал доказывать, что установив дополнительную либу, можно расширить функционал DBeaver. Но так и не смог убедить, чем это проще изменения одной строки в конфиге PostgreSQL для сетевого доступа как к локальной, так и любой удаленной БД. А всех, кто не хочет ставить дополнительные (левые) либы объявил ламерами. И пофиг, что на сервере БД может не быть ни джавы, ни графики для ее запуска. Как раз это — позиция ламера — админа локал-хоста, привыкшего тащить все на один комп.

sigurd ★★★★★
( 23.02.22 17:23:03 MSK )
Последнее исправление: sigurd 23.02.22 17:27:04 MSK (всего исправлений: 1)

Подключение к базе данных ClickHouse с помощью DBeaver

Контекстная, таргетированная реклама и веб-аналитика

После того, как вы создали свой кластер ClickHouse в Yandex Cloud и загрузили в него данные, вы можете использовать специальную программу для работы с базой данных посредством SQL-команд.

ClickHouse поддерживает множество интерфейсов, в том числе основные — HTTP (REST API), TCP, gRPC, а также MySQL и PostgreSQL. В этом руководстве я предлагаю использовать клиент, поддерживающий подключение к базе данных ClickHouse — DBeaver.

Установка DBeaver

DBeaver — это бесплатный инструмент для работы с базами данных, который поддерживает большое количество СУБД, включая MySQL, PostgreSQL, Oracle, SQL Server, ClickHouse и многие другие. Его используют программисты и аналитики в сферах мобильной и веб-разработки, администрирования баз данных и бизнес-аналитики.

Вы можете использовать DBeaver:

  • для проверки загружаемых таблиц, например, после настройки интеграции Яндекс.Метрики с Yandex Cloud, или когда выполняете выгрузку статистику по API из Яндекс.Директа в ClickHouse с последующей визуализацией данных в Yandex DataLens;
  • для просмотра текущих таблиц, уже загруженных в ClickHouse;
  • для создания новых баз данных, изменения или удаления текущих таблиц;
  • для выполнения SQL-запросов.

DBeaver доступен в нескольких версиях, как в платной (Enterprise Edition), так и в бесплатной (DBeaver Community). Мы будем использовать DBeaver Community. Чтобы установить программу, перейдите по ссылке и скачайте DBeaver Comminity.

Скачивание DBeaver Community

DBeaver можно установить на Windows, macOS и Linux. В зависимости от того, какую операционную систему (ОС) вы используете, загрузите нужный инсталлятор:

Инсталлятор для ОС

Поскольку в своей работе я использую Windows, то скачивание и установку DBeaver буду производить именно для этой ОС. Нажав на Windows (installer), начнется скачивание последней версии программы. После загрузки на компьютер запустите установщик. Выберите язык:

Выбор языка программы

Затем Далее:

Мастер установки DBeaver Community

Примите условия лицензионного соглашения:

На этапе выбора пользователей лучше изменить на всех пользователей:

For anyone who uses this computer (all users)

Выберите все компоненты устанавливаемой программы:

Все компоненты программы для установки

Выберите папку для установки программы (можно оставить по умолчанию). Примерное требуемое место на диске для установки программы — 150 Мбайт:

Выбор папки установки

На завершающем шаге нажмите Установить:

Программа начнет устанавливается. Дождавшись ее окончания, вы можете создать ярлык на рабочем столе. Для этого поставьте галочку Create Desktop Shortcut:

Нажмите Готово. На этом установка DBeaver Community завершена.

Вышеприведенные шаги установки программы подойдут для установки DBeaver на macOS. На Linux клиент устанавливается через командную строку. Инструкция по установке размещена на официальном сайте в разделе для Linux.

Подключение к базе данных в кластере ClickHouse

После того, как вы создали свой кластер ClickHouse, необходимо к нему подключиться.

Это можно сделать двумя способами:

  1. с помощью виртуальной машины, созданной в пространстве Яндекс.Облака;
  2. из интернета при получении SSL-сертификата (сертификата безопасности).

Поскольку мы будем использовать DBeaver Community на своем компьютере локально, то я буду рассматривать второй способ — подключение из интернета с получением SSL-сертификата.

Создание сети

Примечание: если в вашем проекте Yandex Cloud уже есть созданные ранее сеть и подсети, вы можете пропустить этот шаг и сразу перейти к настройке групп безопасности. Если при создании каталога и кластера ClickHouse вы не добавляли их по умолчанию, то вам нужно сделать это.

Для этого перейдите в консоль управления своего проекта Yandex Cloud по ссылке и выберите нужный каталог. В разделе Все сервисы нажмите на Virtual Private Cloud:

Virtual Private Cloud

Если до этого у вас не было облачной сети, создайте ее:

Создание облачной сети

Yandex Virtual Private Cloud позволяет создавать облачные сети и подсети, которые используются для передачи информации между облачными ресурсами и связи ресурсов с интернетом.

Облачная сеть — это аналог традиционной локальной сети в дата-центре, а подсеть — это диапазон IP-адресов в облачной сети. Трафик может передаваться между подсетями одной сети, но не может передаваться между подсетями разных сетей.

Задайте имя сети, например, network1. В разделе Дополнительно оставьте галочку Создать подсети и нажмите Создать сеть:

Создание сети и подсетей

Ваша сеть и несколько подсетей будут созданы.

Группа безопасности

Теперь необходимо настроить группы безопасности, чтобы был разрешен трафик с определенных портов и IP-адресов. В левом навигационном меню сервиса Yandex Virtual Private Cloud нажмите на раздел Группа безопасности:

Создайте вашу группу безопасности:

Создание группы безопасности

На открывшейся странице задайте имя группы (например: firstgroup) и Сеть, выбрав ее из выпадающего списка:

Имя группы безопасности и сеть

Теперь вам необходимо добавить правила для входящего трафика. Переключитесь на вкладку Входящий трафик и нажмите кнопку Добавить правило:

Добавить правило (Входящий трафик)

В описание введите произвольный текст (например: Порт 8443) и следующие настройки:

В интерфейсе Yandex Cloud правило для входящего трафика (порт 8443) будет выглядеть так:

Добавление правила для входящего трафика

Сохраните правило. В общем списке вы увидите его на вкладке входящего трафика:

Созданное правило для входящего трафика

Необходимо создать еще одно правило, только для порта 9440. Нажмите кнопку Добавить правило и добавьте все те же самые настройки, что и для порта 8443, за исключением Диапазон портов. Там выставите значение 9440.

В интерфейсе Yandex Cloud правило для входящего трафика (порт 9440) будет выглядеть так:

Добавление правила для входящего трафика

Сохраните правило. В результате вы должны получить два новых правила для входящего трафика:

Два правила для входящего трафика

Сохранить вашу группу безопасности с помощью кнопки Сохранить в самом низу страницы:

Сохранение группы безопасности

После этого вас перенаправит на страницу со всеми созданными группами безопасности:

Созданная группа безопасности

Получение SSL-сертификата

Также для взаимодействия с кластером ClickHouse вам необходимо получить SSL-сертификат безопасности. Для этого воспользуйтесь стандартным командным интерпретатором Windows PowerShell.

PowerShell – это кроссплатформенное решение для автоматизации задач, которое включает оболочку командной строки, скриптовый язык и платформу управления конфигурацией. PowerShell поддерживается в Windows, Linux и macOS. Он позволяет:

  • менять настройки операционной системы;
  • управлять службами и процессами;
  • настраивать роли и компоненты сервера;
  • устанавливать программное обеспечение;
  • управлять установленным ПО через специальные интерфейсы;
  • встраивать исполняемые компоненты в сторонние программы;
  • создавать сценарии для автоматизации задач администрирования;
  • работать с файловой системой, хранилищем сертификатов и т.д.

Откройте меню Пуск на своем компьютере и начните вводить powershell. В появившихся результатах нажмите на приложение Windows PowerShell (для Windows):

Откроется окно командной строки. Скопируйте нижеприведенный текст для Windows в PowerShell и нажмите Enter:

mkdir — Force $ HOME \. clickhouse ; `

( Invoke — WebRequest https : //storage.yandexcloud.net/cloud-certs/CA.pem).RawContent.Split([Environment]::NewLine)[-31..-1] `

| Out — File — Encoding ASCII $ HOME \. clickhouse \ YandexInternalRootCA . crt ; `
Import — Certificate `
— FilePath $ HOME \. clickhouse \ YandexInternalRootCA . crt `
— CertStoreLocation cert :\ CurrentUser \ Root
Для Linux (Bash) и macOS (Zsh) этот код:
sudo mkdir — p / usr / local / share / ca — certificates / Yandex / && \
sudo wget «https://storage.yandexcloud.net/cloud-certs/CA.pem» \

— output — document / usr / local / share / ca — certificates / Yandex / YandexInternalRootCA . crt && \

sudo chmod 0655 / usr / local / share / ca — certificates / Yandex / YandexInternalRootCA . crt

Этот код еще можно скопировать из официальной документации Yandex Cloud. В программе это будет выглядеть так:

Выполнение скопированного кода в Windows PowerShell

После нажатия Enter высветиться окно с подтверждением установки сертификата. Нажмите Да:

Установка сертификата

После этого окно можно закрыть. Вы можете проверить, действительно ли сертификат YandexCA.crt был установлен на ваш компьютер. Поскольку при установке вы указали путь вида $HOME\.clickhouse\YandexCA.crt, то он должен находиться именно в этой директории.

Под $HOME, как правило, подразумевается домашний каталог »C:\Users\Имя пользователя»

Для простоты воспользуйтесь поиском на компьютере, введя в строке YandexCA.crt. Вы должны увидеть результат поиска. Нажмите на сертификат правой кнопкой мыши и выберите Открыть папку с файлом:

Установленный SSL-сертификат на компьютере

На вашем компьютере откроется отдельная папка с установленным сертификатом YandexCA.crt. Запомните полный путь к этому файлу. В дальнейшем он вам пригодится при подключении к базе данных ClickHouse в DBeaver.

Публичный доступ к кластеру ClickHouse

Подключаться к DBeaver можно только к хостам кластера в публичном доступе с использованием SSL-сертификата. Его вы получили на предыдущем шаге. Теперь необходимо убедиться, что ваш кластер ClickHouse имеет публичный доступ. Для этого перейдите в консоль управления Yandex Cloud, выберите нужный каталог и свой кластер Managed Service for ClickHouse:

Managed Service for ClickHouse

В списке кластеров ClickHouse нажмите на сам кластер, к которому вы будете подключаться в DBeaver:

Ваш кластер ClickHouse

В новом окне перейдите на вкладку Хосты:

ClickHouse — Хосты

В строке вашего хоста нажмите на иконку с тремя точками и Редактировать:

Редактирование хоста

Для доступа к вашему кластеру из интернета ОБЯЗАТЕЛЬНО должна стоять галочка Публичный доступ:

Публичный доступ

Если ее нет, то поставьте и нажмите Сохранить. Данная настройка незначительно увеличит стоимость аренды кластера (на ~170 руб./месяц), но она необходима. Теперь вы можете переходить к подключению к вашей базе данных ClickHouse с помощью DBeaver.

Подключение к ClickHouse в DBeaver
  • конечная точка
  • номер порта
  • имя пользователя
  • пароль

Запустите DBeaver Community. Откройте меню Базы данных — Новое соединение:

База данных — Новое соединение

В открывшемся окне выберите тип нового соединения ClickHouse:

Тип нового соединения — ClickHouse

В зависимости от того, какой версии у вас кластер ClickHouse, вы выбираете один из представленных типов соединения.

  • ClickHouse — для версий 21.3+
  • ClickHouse (Legacy) — для версий < 21.3

Проверить свою версию кластера ClickHouse можно в сервисе Managed Service for ClickHouse в созданном проекте Yandex Cloud. Напротив вашего кластера в столбце Версия будет указана текущая версия базы данных:

Версия кластера ClickHouse

Если она выше 21.3, то выбирайте тип соединения ClickHouse, ниже — ClickHouse (Legacy). Нажмите Далее:

Подключение к базе данных ClickHouse

На следующем шаге вам необходимо добавить настройки базового соединения. Укажите параметры подключения на вкладке Главное:

Настройки базового соединения

  • Хост
  • Порт — 8443
  • БД/Схема — имя вашей базы данных для подключения
  • в блоке Аутентификация укажите имя и пароль пользователя БД

Самый простой способ узнать значение хоста — это вернуться в свой собственный кластер ClickHouse и открыть вкладку Базы данных. Выбрав свою базу данных, напротив нее нажмите иконку с тремя точками и Подключиться:

Базы данных — Подключиться

На вкладке Shell прокрутите вниз до примера строки подключения. Там в строке clickhouse-client —host будет отображаться ваш хост, который вам нужно скопировать и вставить в DBeaver:

Таким образом, настройки на вкладке Главное будут выглядеть так:

Настройки подключения (Главное)

Перейдите на вкладку Свойства драйвера и укажите значение:

Настройки подключения (Свойства драйвера)

Для проверки подключения нажмите кнопку Тест соединения.

Если соединение будет установлено, то вы увидите соответствующее уведомление:

Установка соединения с ClickHouse

Если DBeaver обнаружит, что у вас не установлены драйвера ClickHouse, он предложит вам их загрузить. Сделайте это, а затем повторно проверьте соединение.

Если все хорошо и соединение установлено, нажмите кнопку Готово, чтобы сохранить настройки соединения с БД:

Сохранение настроек подключения

После этого в списке подключений отобразится созданное соединение к вашей базе ClickHouse:

Созданное подключение к ClickHouse

Нажимая поочередно на иконку раскрытия, вы можете провалиться внутрь вашего кластера в конкретную базу данных и посмотреть какие таблицы с каким набором полей и какого объема находятся внутри:

Содержимое базы данных

Поскольку я подключился к кластеру ClickHouse, который предназначался для интеграции Яндекс.Метрики c Yandex Cloud, в базе данных у меня хранится две таблицы:

  • с префиксом hits_ для хитов;
  • с префиксом visits_ для визитов.

Кликнув два раза на уровне Таблицы, справа в окне откроются сведения о текущих таблицах, их название, схема, размер таблицы, количество строк и так далее:

Подробные сведения о таблицах

А нажав на конкретную таблицу, можно увидеть подробные данные о ней:

Увидеть как свойства таблицы (схему данных с названиями полей), так и ее данные

Пример данных таблицы

Ваш первый SQL-запрос

Чтобы выполнить свой первый SQL-запрос в DBeaver, правой кнопкой мыши нажмите на базу данных или само подключение, и выберите Редактор SQL — Новый редактор SQL:

Редактор SQL — Новый редактор SQL:

В открывшемся окне вы можете написать SQL-запрос. В качестве примера произведем расчет посещаемости по визитам за выбранный диапазон дат для данных Яндекс.Метрики. Для этого скопируйте запрос и вставьте его в редактор:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *