16.1. Подключение к MySQL с помощью JDBC
Проблема
Вы хотите подключиться к базе данных MySQL (или любой другой базе данных). с драйвером JDBC) из приложения Scala с использованием «старого доброго JDBC».
Решение
Используйте JDBC так же, как в приложении Java. Загрузите Драйвер MySQL JDBC, а затем получить доступ к вашей базе данных с помощью кода, например это:
пакеттестыимпортjava.sql.{Соединение,DriverManager}объектScalaJdbcConnectSelectрасширяетПриложение{// подключиться к базе данных с именем «mysql» на порту 8889 локального хостаvalURL-адрес="jdbc:mysql://localhost:8889/mysql"valдрайвер="com.mysql.jdbc.Driver" значениеимя пользователя="корень"значениепароль="корень"varсоединение:соединение=_попробовать{Класс.forName(драйвер)соединение=DriverManager.гетконнектион(URL-адрес,имя пользователя,пароль)valоператор=соединение.createStatementvalrs=выписка.![]()
executeQuery(«ВЫБЕРИТЕ хост, пользователя ОТ пользователя»)а(рупий.следующий){valхост=rs.getString("хост")valпользователь=rs.getString("пользователь")println("хост = %s, пользователь = %s".формат(хост,пользователь))}}поймать{случайe:Исключение=>e.![]()
printStackTrace}соединение.закрыть}
Этот код показывает, как запросить таблицу базы данных с именем пользователя в базе данных с именем MySQL . Это имя базы данных и имя таблицы
стандарт в любой установке MySQL.
Как показано в примере, формат строки URL-адреса MySQL JDBC is:
jdbc:mysql://HOST:PORT/DATABASE
В этом коде MySQL работает на порту на моем компьютере, потому что он используется по умолчанию
port при использовании MAMP, инструмента, упрощающего запуск MySQL, Apache и PHP в системах Mac OS X. Если у вас есть MySQL…
Получить Scala Cookbook теперь с обучающей платформой O’Reilly.
90 005 участников O’Reilly знакомятся с книгами, живыми мероприятиями, курсами, подобранными по должностям, и многим другим от O’Reilly и почти 200 ведущих издателей.
Начать бесплатную пробную версию
Подключить Bamboo к базе данных MySQL | Bamboo Data Center and Server 9.3
Подключение Bamboo к внешней базе данных
- Подключение Bamboo к базе данных PostgreSQL
- Подключить Bamboo к базе данных MySQL
- Подключить Bamboo к базе данных Oracle
- Подключить Bamboo к базе данных Microsoft SQL Server
- Просмотр сведений о подключении к базе данных
- Переместить данные в другую базу данных
На этой странице
В этом разделе
- Tomcat и пример внешнего источника данных MySQL
Связанный контент
- Связанный контент не найден
Все еще нужна помощь?
Сообщество Atlassian ждет вас.
Задайте вопрос сообществу
На этой странице описывается, как подключить Bamboo к базе данных MySQL.
На этой странице:
Связанные страницы:
Устранение неполадок с базами данных
Драйвер JDBC для MySQL 5.1 (JDBC Connector/J 5.1) больше не в комплекте с Bamboo. Вы должны скачать и установить драйвер самостоятельно.
Прочую информацию о версиях MySQL, поддерживаемых Bamboo, см. в разделе Поддерживаемые платформы.
1. Создание и настройка базы данных MySQL
Чтобы внешняя база данных MySQL хорошо работала с Bamboo, она должна иметь возможность использовать следующее:
-
utf8илиutf8mb4латиница1 -
utf8_binилиutf8mb4_binсопоставление - механизм хранения InnoDB
- (рекомендуется, не требуется) lower_case_table_names=1
Настройка lower_case_table_names=1 может нарушить работу других приложений Atlassian.
Для получения дополнительной информации см. шаги.
- глобальный уровень изоляции транзакций как READ_COMMITTED
- Отключить режим NO_AUTO_VALUE_ON_ZERO.
Мы также рекомендуем настроить сервер базы данных MySQL для использования механизма хранения InnoDB. В качестве альтернативы вы можете настроить соединение Bamboo JDBC с вашей базой данных MySQL, чтобы любые таблицы, которые Bamboo создает в этой базе данных, выполнялись с использованием ядра базы данных InnoDB.
Администратор базы данных MySQL может легко создать и настроить базу данных MySQL для Bamboo, выполнив следующие команды MySQL:
Создайте базу данных с кодировкой utf8…mysql> СОЗДАТЬ БАЗУ ДАННЫХ бамбуковый НАБОР СИМВОЛОВ utf8 COLLATE utf8_bin; mysql> ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА bamboo. mysql> УДАЛИТЬ ПРИВИЛЕГИИ; mysql>Создайте базу данных, используя кодировку символов utf8mb4…ВЫЙТИ
mysql> СОЗДАТЬ БАЗУ ДАННЫХ bamboo НАБОР СИМВОЛОВ utf8mb4 COLLATE utf8mb4_bin; mysql> ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА bamboo.mysql> УДАЛИТЬ ПРИВИЛЕГИИ; mysql> QUIT
bamboouser — имя учетной записи пользователя для базы данных Bamboo MySQL. Это создает пустую базу данных MySQL для Bamboo с именем bamboo , где:
-
localhost— имя хоста сервера базы данных MySQL -
пароль— пароль для этой учетной записи пользователя
Дополнительные сведения о настройке кодировки набора символов и сопоставления для баз данных Bamboo MySQL см. в документации по MySQL 5 — Определение наборов символов и сопоставлений.
Чтобы убедиться, что режим NO_AUTO_VALUE_ON_ZERO отключен, запустите этот запрос на своем сервере MySQL:
SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;
Первый режим — режим для сессии, второй — глобальные настройки для MySQL. Если глобальный режим содержит NO_AUTO_VALUE_ON_ZERO, его необходимо удалить, как описано в документации MySQL.
2. Подключение бамбука с базой данных MySQL
Вы можете подключить бамбук к MySQL одним из следующих способов:
- , используя JDBC
- , используя DataSource
JDBC, как правило, мы рекомендуем это Simpler.
Подключение с помощью JDBC
1. Загрузите и установите драйвер JDBC
Драйверы JDBC для MySQL Enterprise Server больше не входят в комплект вместе с Bamboo (из-за лицензионных ограничений). Вам нужно скачать и установить драйвер самостоятельно.
- Загрузите драйвер MySQL Connector/J JDBC 5.1 с сайта загрузки.
- Извлеките загруженный файл zip/tar.gz.
- Скопируйте файл mysql-connector-java-5.1.XX-bin.jar из извлеченного каталога в
<каталог установки Bamboo>/lib Каталог(создайте каталогlib/, если он еще не существует).
Если вы используете Java Service Wrapper для запуска экземпляра Bamboo (Bamboo/wrapper/run-bamboo start), скопируйте файл mysql-connector-java-5.1.XX-bin.jar в.Каталог /wrapper/lib.<Каталог установки Bamboo> - Остановите Bamboo на Windows, Linux или Mac.
- Перезапустите Bamboo на Windows, Linux или Mac.

2. Подключите Bamboo к базе данных MySQL с помощью JDBC
- Запустите мастер установки и выберите метод выборочной установки .
- На странице «Выбор конфигурации базы данных» выберите Внешняя база данных > MySQL 5.1 и нажмите Продолжить .
Убедитесь, что выбрано Прямое соединение JDBC , и заполните следующие поля (как показано на снимке экрана ниже):
Имя класса драйвера
Тип).URL-адрес базы данных
Введите URL-адрес, по которому Bamboo будет обращаться к вашей базе данных (если он отличается от значения по умолчанию). Ваш URL должен включать флагautoReconnect=true.- Если вы собираетесь использовать нелатинские символы в Bamboo, убедитесь, что ваш URL-адрес включает флаги
useUnicode=trueиcharacterEncoding=utf8.
Если ваш сервер базы данных MySQL по умолчанию настроен на использование механизма хранения, отличного от InnoDB, убедитесь, что ваш URL-адрес включает флаг
sessionVariables=storage_engine=InnoDB.
Если вы включите все эти флаги, ваши URL-адрес базы данных должен выглядеть примерно так:jdbc:mysql://localhost/bamboo?autoReconnect=true&useUnicode=true&characterEncoding=utf8&sessionVariables=storage_engine=InnoDB
Если флагautoReconnect=trueне указан, время ожидания драйвера JDBC MySQL в конечном итоге истечет, и Bamboo больше не сможет взаимодействовать с базой данных.
Дополнительные сведения о синтаксисе URL см. в документации MySQL.Если вы используете MySQL Connector 8.0 с базой данных MySQL 5.7, таблицы AO не будут созданы и Bamboo не сможет запуститься. Чтобы предотвратить это, включите флаг n
ullCatalogMeansCurrent=trueв URL своей базы данных.
URL-адрес вашей базы данных должен выглядеть примерно так:jdbc:mysql://instenv-2787-y7fe.c7uydxwwuprf.eu-west-1.rds.amazonaws.com:3306/bamboo?autoReconnect=true&useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true
Имя пользователя
Введите имя пользователя, которое Bamboo будет использовать для доступа к базе данных. Этоbamboouser, определенный в разделе 1 (выше).Пароль
Введите пароль (если требуется), который Bamboo будет использовать для доступа к базе данных. Это пароль, определенный в разделе 1 (выше). Оставьте это поле пустым, если пароль для учетной записи пользователя базы данных не был указан.- Если вы собираетесь использовать нелатинские символы в Bamboo, убедитесь, что ваш URL-адрес включает флаги
- Выбрать Перезаписать существующие данные , если вы хотите, чтобы Bamboo перезаписывал любые таблицы, которые уже существуют в базе данных.
Выберите Продолжить .

Подключение с использованием источника данных
Настройте источник данных на сервере приложений (подробности см. в документации по серверу приложений). Обратите внимание на следующее:
Убедитесь, что URL-адрес JDBC, который вы настраиваете на своем сервере приложений, включает
autoReconnect=true,useUnicode=trueиcharacterEncoding=utf8флаги, чтобы URL-адрес вашей базы данных выглядел примерно так:jdbc:mysql://localhost/bamboo?autoReconnect=true&useUnicode=true&characterEncoding=utf8Если ваш Сервер базы данных MySQL по умолчанию настроен на использование механизма хранения, отличного от InnoDB, также включите в этот URL-адрес флаг
sessionVariables=storage_engine=InnoDB.Если флаг autoReconnect не установлен, время ожидания драйвера JDBC MySQL в конечном итоге истечет, и Bamboo больше не сможет взаимодействовать с базой данных.
Дополнительную информацию о синтаксисе URL см. в документации MySQL.Пример источника данных: Вы можете увидеть пример использования Tomcat с базой данных MySQL в качестве источника данных в следующем документе: Пример Tomcat и внешнего источника данных MySQL.
Запустите мастер установки и выберите метод выборочной установки .
Выберите Внешняя база данных > MySQL 5.1 из списка и нажмите Продолжить .
Выберите Подключиться через источник данных (настроенный на сервере приложений) (как показано на скриншоте ниже).
В поле Имя JNDI введите имя JNDI вашего источника данных, как настроено на вашем сервере приложений.
Еслиjava:comp/env/jdbc/DataSourceNameне работает, попробуйтеjdbc/DataSourceName(и наоборот).Выбрать Перезаписать существующие данные , если вы хотите, чтобы Bamboo перезаписывал любые таблицы, которые уже существуют в базе данных.



mysql> УДАЛИТЬ ПРИВИЛЕГИИ;
mysql> QUIT 


