8.0
5.7
Flyway Teams 5.6
Flyway Teams 5.5
Contact us 5.1
Contact us Compatible | ✅ |
---|---|
Certified | ✅ |
Guaranteed | ✅ Flyway Teams |
Support Level determines the degree of support available for this database (learn more).
MySQL (for MySQL 5.5 and newer) | MariaDB (for MySQL 5.1) | |
---|---|---|
URL format | jdbc:mysql://host:port/database |
jdbc:mysql://host:port/database |
SSL support | Yes - add ?useSsl=true |
Yes - add ?useSsl=true |
Ships with Flyway Command-line | No | Yes |
Maven Central coordinates | mysql:mysql-connector-java:8.0.12 |
org.mariadb.jdbc:mariadb-java-client:2.3.0 |
Supported versions | 5.1.44 and later |
2.0.0 and later |
Default Java class | com.mysql.jdbc.Driver |
org.mariadb.jdbc.Driver |
disableMariaDbDriver
to your database URL.MySQL support is a separate dependency for Flyway and will need to be added to your Java project to access these features.
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb.enterprise</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
dependencies {
compile "org.flywaydb:flyway-mysql"
}
dependencies {
compile "org.flywaydb.enterprise:flyway-mysql"
}
/* Single line comment */
CREATE TABLE test_data (
value VARCHAR(25) NOT NULL,
PRIMARY KEY(value)
);
/*
Multi-line
comment
*/
-- MySQL procedure
DELIMITER //
CREATE PROCEDURE AddData()
BEGIN
# MySQL-style single line comment
INSERT INTO test_data (value) VALUES ('Hello');
END //
DELIMITER;
CALL AddData();
-- MySQL comments directives generated by mysqlsump
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-- Placeholder
INSERT INTO ${tableName} (name) VALUES ('Mr. T');
Flyway supports the following MySQL authentication methods:
A username and password can be retrieved from MySQL option files for authentication, in which case they do not need to be supplied in configuration. The following table lists which option files are searched for per operating system, in order.
Windows | Other | |
---|---|---|
%WINDIR%\my.ini , %WINDIR%\my.cnf |
/etc/my.cnf |
|
C:\my.ini , C:\my.cnf |
/etc/mysql/my.cnf |
|
%MYSQL_HOME%\my.ini , %MYSQL_HOME%\my.cnf |
$MYSQL_HOME/my.cnf |
|
%APPDATA%\MySQL\.mylogin.cnf |
~/.my.cnf |
|
~/.mylogin.cnf |
You can read more about MySQL option files here.
user
and password
from option files