MariaDB and MySQL
Rezure runs one MySQL-family server on 127.0.0.1:3306. Out of the box that's MariaDB with its own data folder, but the same service can also serve an existing MySQL or MariaDB data directory, Laragon's or XAMPP's, for example, without copying or converting anything.
The local server
The default setup is a profile called Rezure:
| Engine | MariaDB 11.2 |
| Data folder | C:\rezure\data\mariadb\data |
| Address | 127.0.0.1:3306 (it never listens on your network) |
| User | root |
| Password | empty |
Start and stop it from the MariaDB row on the Services page. When a different profile is active, that row shows its engine and version instead, MySQL 8.4, for example.
The Databases page
With the local server as the target, the Databases page lists every database with:
- Tables and Size.
- Its collation, under the name.
- Used by: the project whose name matches the database, treating
_and-alike (a databasemy_shopmatches the projectmy-shop).
Search databases filters by name, and the refresh icon re-reads the list. If the server isn't running you'll see "MariaDB isn't running, so there's nothing to list yet. Start it from Services, then retry."
Create a database
New database asks for a Database name and a Collation (default utf8mb4_unicode_ci). Names can use letters, digits, _, and -, up to 64 characters.
Export
Export on a row writes a .sql dump to C:\rezure\dumps, named <database>-<YYYYMMDD-HHMMSS>.sql (the timestamp is UTC). A progress bar and Cancel appear while it runs, and Show folder opens the result. A cancelled or failed export leaves no half-written file behind.
Import
Import .sql asks for the file and the database to load it into, pre-filled from the file name, with Rezure's own timestamp suffix removed.
- If the database doesn't exist, it's created.
- If it does, the dialog warns you: a dump usually contains
DROP TABLE, so the tables it defines are replaced. - Imports aren't transactional. If one fails halfway, everything before the failing statement stays applied.
Dropping a database
There's no drop button. Drop a database from your SQL client or the console:
DROP DATABASE my_shop;Open in a SQL client
Open on a database launches a SQL client you have installed. With exactly one client it opens directly; with several you get "Open {db} with" and a choice.
| Client | Opens |
|---|---|
| TablePlus | The database |
| DBeaver | The database (it may ask to download its driver the first time) |
| HeidiSQL | The database |
| MySQL Workbench, Navicat | The server ("server only") |
| MariaDB console (bundled) | Always listed: a mariadb command-line session |
Clients are found in their usual install locations, including Laragon's bundled HeidiSQL and DBeaver. Each one is listed with its own logo, taken from the client you have installed.
DBeaver and MySQL Workbench take a few seconds to show a window, so the page shows Opening {client}… in the meantime and Open is disabled, which keeps a second click from starting a second copy.
For a remote connection with a saved password, TablePlus, DBeaver, HeidiSQL, and the MariaDB console are given that password so they connect straight away; MySQL Workbench asks for it itself. See Remote Databases.
Data directory profiles
A profile is a saved pointer to a MySQL or MariaDB data directory: its path, engine, version, and port, plus, for an adopted install, that install's own server binaries and my.ini. Rezure runs one profile at a time and switches which data directory the server opens. Your data is never copied, moved, or converted.
Profiles are listed in the Data directory section of the target switcher at the top of the Databases page, with the active one tagged Active.
Use a Laragon or XAMPP data directory
- Open the target switcher and click + Add data directory.
- Rezure looks for other tools at their default locations ("Looking for other tools…"):
- Laragon: each
C:\laragon\bin\mysql\*install, using thedatadirin itsmy.ini. - XAMPP:
C:\xampp\mysql\data.
- Laragon: each
- Each one found is listed with its engine, version, and path. Click Add.
- Pick the new profile in the switcher to switch to it.
An adopted profile runs on that tool's own server binary and my.ini, so a Laragon MySQL 8.4 data folder is opened by Laragon's MySQL 8.4, never by a different version that might upgrade it. Rezure only overrides the data directory, port (always 3306), and listen address (127.0.0.1).
If the install came without its server binaries, the card says "No server binary found beside it: you'll need a matching {engine} {version} build."
Nothing found? "No other database directories found. Laragon and XAMPP are checked in their default locations." Use the manual option below for anything else, including WAMP or a standalone MySQL.
Point at a folder yourself
Point at a folder myself asks for:
- Name: defaults to the folder name.
- Data directory: the folder that holds
ibdata1. Browse picks it. Rezure reads the engine from the folder itself: amysql.ibdfile means MySQL 8+,aria_log_controlmeans MariaDB. - Port: default 3306.
A manually added profile has no recorded version, binary, or my.ini. It runs on the newest installed build of its engine. Be careful with an older data directory: a newer server may upgrade it in place, after which the older server can't open it. For Laragon and XAMPP folders, prefer the automatic detection above, which keeps their own binary and my.ini.
What happens when you switch
- Checks first, before anything is stopped. Rezure refuses to switch if the folder was written by a different engine than the profile says ("opening it with the wrong engine can corrupt it"), if no compatible server build is installed, or if another server is still running against that folder ("Laragon's database server looks like it's still running against this data directory: stop it there first").
- A clean stop of the current server, up to two minutes before it's forced.
- A start on the new profile, whether or not the server was running before. The overlay reads "Switching to {profile}…".
- Rollback if it fails. If the old server was running and the new one won't start, Rezure goes back: "switched back to "{previous}": {reason}". If nothing was running before, the new profile stays selected with the error.
A compatible build means the same major and minor version: a MariaDB 10.11 data directory needs a MariaDB 10.11.x server. A different minor or major version is refused rather than risking an upgrade.
Managing profiles
Profiles can't be renamed or removed from the app yet. They're stored in C:\rezure\etc\profiles.json; to remove one, quit Rezure, delete its entry from that file, and start Rezure again. Removing a profile never touches its data directory.
Install more MariaDB versions
Switch → Install version → MariaDB lists releases from MariaDB's own release index for the 10.6, 10.11, 11.4, and 11.8 branches, each checked against MariaDB's published checksum. They install into C:\rezure\bin\mariadb\<version>.
An installed version is used by any profile with the same major and minor version, and by manually added profiles (which take the newest build). Installing a newer MariaDB doesn't upgrade an existing profile's data; the version rule above protects it.
The MariaDB row on the Switch page only shows the newest installed build; there's no version switch there, because the active profile decides.
MySQL
Rezure doesn't download MySQL. To run MySQL (for a MySQL 8 data directory, or so remote connections can use MySQL's own client), download the ZIP Archive from dev.mysql.com and unzip it into C:\rezure\custom\mysql\. Rezure finds it there. Builds added this way aren't checksum-verified.
Connecting from PHP
The default profile:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=pdo_mysql and mysqli are on by default in every PHP version. An adopted Laragon or XAMPP data directory keeps its own users and passwords (both tools default to root with an empty password). See the Laravel .env Cheatsheet for the other engines.
Troubleshooting
Listing fails with "access denied" on an adopted profile
Rezure reads the local server as root with an empty password. If the adopted data directory's root has a password, the server starts but the Databases page can't list it. Set the root password back to empty in that server, or use a SQL client for that profile.
"no MariaDB 10.11 binary is installed: add one before switching to this profile"
The profile needs a server of that major and minor version. Install it from Switch → Install version → MariaDB, or for MySQL, unzip a matching build into C:\rezure\custom\mysql\.
"… doesn't look like a MySQL or MariaDB data directory"
You picked the wrong folder. Pick the one that directly contains ibdata1; for XAMPP that's C:\xampp\mysql\data.
A manually added XAMPP folder fails with "Incorrect file format"
The server needs XAMPP's own my.ini settings. Remove that profile and add the folder through the automatic detection instead, which uses XAMPP's binary and my.ini.
MariaDB won't start: port 3306 is in use
Laragon's or XAMPP's MySQL, or a MySQL Windows service, has the port. See Port Conflicts.
Import fails with "Unknown collation utf8mb4_0900_ai_ci"
The dump came from MySQL 8, and MariaDB doesn't have that collation. Replace utf8mb4_0900_ai_ci with utf8mb4_unicode_ci in the file, or import it into a MySQL profile.
Related
- Remote Databases: staging servers and VPS databases
- PostgreSQL and SQL Server: the other local engines
- Port Conflicts: when 3306 is taken