Programmatic
Last updated
Was this helpful?
Last updated
Was this helpful?
Dolt ships with a built in MySQL compatible server. To start the server for your Dolt database, you run dolt sql-server
in the repository directory. The dolt sql-server
command starts a MySQL compatible server for the Dolt database on port 3306 with no authentication. The database name is the name of the repository directory but with dashes (-
) replaced with underscores (_
). So dolt-test
repository name would become dolt_test
database name. See .
Once a server is running, any MySQL client should be able to connect to Dolt SQL Server in the exact same way it connects to a standard MySQL database. For instance, if you are running a Dolt sql-server locally, you can connect to it with the MySQL client mysql
like so:
We explicitly support the programmatic clients outlined in this document through integration testing. Tests are run on GitHub pull requests to Dolt in a Ubuntu environment in a Docker container. If you would like another MySQL compatible client supported and tested, .
The test code linked to below is a good way to get started connecting to a Dolt SQL server if you are not familiar how to connect to MySQL in your language of choice. The code establishes a connection, runs some simple queries, verifies the output comes back as expected, and closes the connection.
We support the standard mysql
Node library.
We support the Java client distributed on the MySQL website called mysql-connector-java
. For our test we use the architecture independent build.
We currently support two native Python MySQL connectors, and . These are all native (ie. do not depend on a MySQL compiled C library) Python libraries available through pip
.
We also support the library. SQLAlchemy requires a connector that is specified in the connection string. Choose one of the supported connectors listed above, and then pass that to the SQLAlchemy connection string, as in the snippet taken from the connector test below:
We support distributed by MySQL. On OSX, we tested the client distributed by brew install mysql-client
. For the Ubuntu tests, we apt install -y libmysqlclient-dev
. We then use pkg-config
to generate the proper CFLAGS
and LDFLAGS
.
We support mysql-connector-cpp
. Getting it to work correctly required we checkout and build using the proper flags and dependencies. This was a relatively heavy lift but you can use as an example.
We support distributed by MySQL and the asynchronous . On OSX and Ubuntu we tested the client using .
We support the package that implements for MySQL. This connector relies on .
We support the built in extension and API for connecting to MySQL.
We support the package. This is the MySQL driver for the package.
We support the native library and the native library. The package uses the MySQL C API and . Thus, we do not support mysql/ruby
.
We support the legacy and newer R clients. Both implement and require either or .
There is also an open-source, third-party wrapper for working with Dolt, called . This tool is well-maintained by and provides an easy way to work with local or remote Dolt databases from within R Studio.
We support the in Rust.