Tables Relations Statistics Query history Triggers Procedures Query data
MySQL is the world’s most popular open-source relational database, widely used for web development and other applications requiring a reliable and high-performance data storage. Known for its ease of use, MySQL is often the go-to choice for developers building websites, blogs, and e-commerce platforms. With features like replication, clustering, and robust security, MySQL provides scalability and stability for applications of any size.
Azimutt is making the first database explorer targeted for real world databases: large, heterogeneous and messy 😅 If you ever looked for an Entity-Relationship diagram tool (ERD) or drew your database schema on a sheet or whiteboard, Azimutt is made for you. But it goes well beyond that with database documentation, cross-database data exploration and even linter and monitoring of your database.
You can find the MySQL connector
on the Azimutt GitHub repository if you are interested in looking what it does or improving it.
If so, you will most probably want to have a look at the
src/mysql.ts
getSchema
function, which does exactly what you think 😉
In addition to MySQL schema extraction it also infers:
- Polymorphic relations
- JSON column schema
How to use it #
The MySQL connector is baked into the Gateway, to use it you just have to:
- Launch your Gateway, if needed (for the local one use
npx azimutt@latest gateway
) - Create a new project or add a source to an existing one
- Fill your MySQL database url (ex:
mysql://user:pass@localhost:3306/your_db
)
Here are more details about how Azimutt secure your data and especially your database url.
If you don't have a MySQL database right away, you can use Docker to create one with:
docker run --name mysql_sample -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_USER=azimutt -e MYSQL_PASSWORD=azimutt -e MYSQL_DATABASE=mysql_sample mysql:latest
And use this sample script to populate it.
Here is what you can do with Azimutt: