Skip to main content
Version: v2.x

MySQL

Introduction​

Hasura enables you to connect to MySQL databases to automatically build a rich GraphQL API based on your database schema.

At present, our MySQL integration is available in Hasura Cloud and Docker environments, where you can run Hasura GraphQL Engine and connect the MySQL GraphQL Data Connector to it. For more information on GraphQL Data Connectors check out our blog post on the topic.

To get started with MySQL:

Using Kubernetes?

We have Helm charts available for deploying Hasura on Kubernetes. Check out more information here and see the enterprise-stack here.

Supported versions:
  1. Hasura GraphQL Engine v2.24.0 onwards
  2. Hasura supports most databases with standard implementations of MySQL 8.0 and higher including: Amazon RDS, Amazon Aurora, Google Cloud SQL and Digital Ocean.
  3. PlanetScale and certain other providers are unsupported.
Supported features

Hasura currently supports queries, mutations (INSERT, UPDATE, DELETE), table relationships, remote relationships and permissions on MySQL.

Note that Hasura doesn't yet support the ability to modify the database schema for MySQL, so the database you connect to should already contain tables and data. You should also ideally have access to it outside of Hasura to modify the schema.

Feature Support​

FeatureMySQL
Remote Relationships✅
Views✅
Default Values✅

Queries​

FeatureMySQL
Simple✅
Nested Object✅
Aggregation✅
Filter / Search✅
Sort✅
Distinct✅
Paginate✅
Multiple Arguments✅
Multiple Queries✅
Variables / Aliases / Fragments✅

Mutations​

FeatureMySQL
Insert✅
Upsert❌
Update✅
Delete✅
Multiple per Request✅

Subscriptions​

FeatureMySQL
Value of Field❌
Updates to Rows❌
Value of Derived Field❌
Streaming Subscriptions❌

Event Triggers​

FeatureMySQL
INSERT❌
UPDATE❌
DELETE❌
MANUAL❌

Coming soon for MySQL​

Managing data with the Hasura Console​

The Hasura Console is a web UI that allows you to manage your data and metadata. It is available at http://localhost:8080/console when you run Hasura locally, or from your project's Console endpoint when you use Hasura Cloud.

The data-management features (such as creating tables) are available in the Data tab. You can access your GraphQL API in the API tab and interact with it using the GraphiQL interface.

Console support

We recommend using your preferred MySQL client instead. The Hasura Console is designed to be a tool for managing your GraphQL API, and not a full-fledged database management tool.

Resources​