3.7 KiB
layout |
---|
doc_page |
MySQL Metadata Store
Make sure to include mysql-metadata-storage
as an extension.
Setting up MySQL
- Install MySQL
Use your favorite package manager to install mysql, e.g.:
- on Ubuntu/Debian using apt
apt-get install mysql-server
- on OS X, using Homebrew
brew install mysql
Alternatively, download and follow installation instructions for MySQL Community Server here: http://dev.mysql.com/downloads/mysql/
- Create a druid database and user
Connect to MySQL from the machine where it is installed.
> mysql -u root
Paste the following snippet into the mysql prompt:
-- create a druid database, make sure to use utf8mb4 as encoding
CREATE DATABASE druid DEFAULT CHARACTER SET utf8mb4;
-- create a druid user, and grant it all permission on the database we just created
GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd';
- Configure your Druid metadata storage extension:
Add the following parameters to your Druid configuration, replacing <host>
with the location (host name and port) of the database.
druid.extensions.loadList=["mysql-metadata-storage"]
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://<host>/druid
druid.metadata.storage.connector.user=druid
druid.metadata.storage.connector.password=diurd
Note: the metadata storage extension is not packaged within the main Druid tarball; it is packaged in a separate tarball that can be downloaded from here. You can also get it using pull-deps, or you can build it from source code; see Build from Source.
Encrypting MySQL connections
This extension provides support for encrypting MySQL connections. To get more information about encrypting MySQL connections using TLS/SSL in general, please refer to this guide.
Configuration
Property | Description | Default | Required |
---|---|---|---|
druid.metadata.mysql.ssl.useSSL |
Enable SSL | false |
no |
druid.metadata.mysql.ssl.clientCertificateKeyStoreUrl |
The file path URL to the client certificate key store. | none | no |
druid.metadata.mysql.ssl.clientCertificateKeyStoreType |
The type of the key store where the client certificate is stored. | none | no |
druid.metadata.mysql.ssl.clientCertificateKeyStorePassword |
The Password Provider or String password for the client key store. | none | no |
druid.metadata.mysql.ssl.verifyServerCertificate |
Enables server certificate verification. | false | no |
druid.metadata.mysql.ssl.trustCertificateKeyStoreUrl |
The file path to the trusted root certificate key store. | Default trust store provided by MySQL | yes if verifyServerCertificate is set to true and a custom trust store is used |
druid.metadata.mysql.ssl.trustCertificateKeyStoreType |
The type of the key store where trusted root certificates are stored. | JKS | yes if verifyServerCertificate is set to true and keystore type is not JKS |
druid.metadata.mysql.ssl.trustCertificateKeyStorePassword |
The Password Provider or String password for the trust store. | none | yes if verifyServerCertificate is set to true and password is not null |
druid.metadata.mysql.ssl.enabledSSLCipherSuites |
Overrides the existing cipher suites with these cipher suites. | none | no |
druid.metadata.mysql.ssl.enabledTLSProtocols |
Overrides the TLS protocols with these protocols. | none | no |