It's Git for Data
The world's first SQL database with built-in version control. Fork, clone, branch, merge, push, and pull your database just like code.
Git-Like Version Control
Fork, clone, branch, merge, push, and pull your database just like a Git repository. Every change is tracked and reversible.
MySQL Compatible
Use the MySQL wire protocol and query dialect. Connect with any MySQL client and use existing tools without modification.
Version Controlled Data
The only SQL database where schema and data changes are tracked with complete accountability and history.
Why Choose Dolt?
Traditional databases don't track changes. Dolt creates an immutable history of every data modification.
Data Accountability
Every change is tracked, attributed to a user, and logged with a timestamp.
Data Collaboration
Work on branches in isolation. Merge safely without breaking production.
Instant Rollback
Revert the entire database or specific tables to any previous commit instantly.
Data Sharing
Share, discover, and collaborate on DoltHub—the GitHub for data.
Install & Update in Seconds
Use your favorite package manager to get the CLI running instantly.
Verify your installation with the command above
Prefer a GUI? Get Dolt Workbench
Visualize diffs, manage branches, and run SQL queries with our native desktop app.
Dolt Workbench Agent Mode
Let AI handle your database operations. Chat with your database to run queries, manage branches, and analyze data directly within Dolt Workbench.
Get Started in 3 Steps
Setup & Configure
Develop with SQL
Commit & Share
Description
Initialize your repository and configure your identity. This creates the .dolt directory to track all changes.
Collaborative Data Work
Just like Git, Dolt allows you to create branches to work on data in isolation. Dolt intelligently handles schema and data conflicts, making collaboration seamless.
- Parallel Work: Multiple team members work simultaneously.
- Safe Merging: Detect and resolve conflicts before committing.
- Experimentation: Try new data structures without risk.
Conflict-free merge complete.
Connect Your App
Dolt speaks MySQL. This means you can use your favorite drivers, ORMs, and GUI clients without any custom plugins. Just point them to your running Dolt server.
3306root127.0.0.1import mysql.connector mydb = mysql.connector.connect( host="127.0.0.1", user="root", # Default Dolt user password="", # Default is no password port=3306, # Default port database="beginner" ) print(mydb) # <mysql.connector.connection_cext.CMySQLConnection>
Frequently Asked Questions
Common caveats for Mac, Windows, and Linux users.
'you@example.com'.brew install dolt which handles signing automatically./usr/local/bin. Run with sudo or add a local bin to your PATH.Fix: Start the server on a different port using the
--port flag, for example: dolt sql-server --port 3307.Fix: Ensure you have run
dolt init in your current directory before running other commands.Fix: Run
call dolt_add('table_name'); followed by call dolt_commit('-m', 'msg');.dolt sql opens an interactive shell for quick queries (like SQLite).dolt sql-server starts a running daemon that listens on port 3306, allowing you to connect with external tools like TablePlus, DBeaver, or your application code.dolt conflicts resolve or SQL statements to pick the correct version of the data, then commit the resolution.Pro Tips
Easy Import
Have a CSV? Use dolt table import -u -c to update schema and create tables automatically.
Diff Everything
dolt diff works exactly like git diff, but for rows and cells. Use it before every commit.
System Tables
Query dolt_log or dolt_status directly via SQL to build custom tools.