shogo82148/actions-setup-mysql
shogo82148/actions-setup-mysql has 71 GitHub stars and 8 forks. Star changes are not measured yet. Last checked 2026-11-14 13:56 UTC. Last push 2026-11-13.
Crecimiento de estrellas medido
- in 24h
- Recopilando historial
- in 7 days
- Recopilando historial
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
Acerca de
The distribution. The valid values are mysql or mariadb. The default value is mysql.
DatosREADME.md
Originalactions-setup-mysql
This action sets up a MySQL database for use in actions by:
- download a version of MySQL or MariaDB
- start mysqld
Motivation
- GitHub-Hosted Runners have MySQL Server, but only Linux.
- GitHub Actions supports Docker services, and there is the official MySQL image. But it works on only Linux.
- Some utils for MySQL (such as MySQL::Partition, App::Prove::Plugin::MySQLPool, Test::mysqld) requires MySQL installed on the local host.
Usage
steps:
- uses: actions/checkout@v4
- uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "8.4"
- run: mysql -uroot -e 'SELECT version()'
Configuration
mysql-version
The version of MySQL or MariaDB.
Available Versions are:
- MySQL
26.10(latest)26.79.7(LTS)8.4(LTS)8.0
- MariaDB
12.3(latest)11.8(LTS)11.4(LTS)10.11(LTS)
distribution
The distribution. The valid values are mysql or mariadb.
The default value is mysql.
You can use mysql- and mariadb- prefixes in mysql-version instead of the distribution input.
For example, the following two workflows install MariaDB 12.3.
- uses: shogo82148/actions-setup-mysql@v1
with:
distribution: "mariadb"
mysql-version: "12.3"
- uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "mariadb-12.3"
auto-start
If it is true, the action starts the MySQL server.
If it is false, the action doesn't start the MySQL sever.
You need to execute the mysqld command yourself.
The default value is true.
my-cnf
my.cnf settings for mysqld.
It uses the same syntax as my.cnf.
Example:
- uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "8.4"
my-cnf: |
innodb_log_file_size=256MB
innodb_buffer_pool_size=512MB
max_allowed_packet=16MB
max_connections=50
local_infile=1
root-password
The password for the root user.
user
The name of the new user.
password
The password for the new user.
Outputs
base-dir
The directory under which the mysql database is being created.
It contains:
etc/my.cnftmp/mysqld.logtmp/mysqld.pidtmp/mysql.sockvar: The default path ofdatadirvar/ca.pem: The root certificate of the certification authority for SSL/TLSvar/server-cert.pem: The server certificate for SSL/TLSvar/server-key.pem: The server key for SSL/TLS
Here are some examples:
- id: setup-mysql
uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "8.4"
- name: connect via unix domain socket
run: mysql -uroot \
--protocol=SOCKET \
--socket=${{ steps.setup-mysql.outputs.base-dir }}/tmp/mysql.sock
-e 'SELECT version()'
- name: configure the root certificate for connecting via SSL/TLS.
run: mysql -uroot \
--ssl --ssl-mode=REQUIRED \
--ssl-ca=${{ steps.setup-mysql.outputs.base-dir }}/var/ca.pem \
-e 'SELECT version()'
Environment Values
MYSQL_HOME
The path to the directory in which the server-specific my.cnf file resides.
LIBMYSQL_PLUGIN_DIR
Directory in which to look for client plugins.