Become a Gold Sponsor

Drizzle <> MySQL

To use Drizzle with a MySQL database, you should use the mysql2 driver

According to the official website, mysql2 is a MySQL client for Node.js with focus on performance.

Drizzle ORM natively supports mysql2 with drizzle-orm/mysql2 package.

Step 1 - Install packages

npm
yarn
pnpm
bun
npm i drizzle-orm mysql2
npm i -D drizzle-kit

Step 2 - Initialize the driver and make a query

mysql2
mysql with config
import { drizzle } from "drizzle-orm/mysql2";

const db = drizzle(process.env.DATABASE_URL);

const response = await db.select().from(...)

If you need to provide your existing driver:

Client connection
Pool connection
import { drizzle } from "drizzle-orm/mysql2";
import mysql from "mysql2/promise";

const connection = await mysql.createConnection({
  host: "host",
  user: "user",
  database: "database",
  ...
});

const db = drizzle({ client: connection });
IMPORTANT

For the built in migrate function with DDL migrations we and drivers strongly encourage you to use single client connection.

For querying purposes feel free to use either client or pool based on your business demands.

What’s next?