To upgrade MariaDB in XAMPP, follow these steps carefully:
🔄 Replace MariaDB in XAMPP with a New Version
✅ 1. Backup your data
- Copy:
\xampp\mysql\data → \xampp\mysql_backup\data
- Or export all DBs via phpMyAdmin.
✅ 2. Download MariaDB (ZIP version)
- Go to: https://downloads.mariadb.org/
- Choose version 10.6 or later.
- Select Windows ZIP Archive, e.g.:
mariadb-10.6.16-winx64.zip
✅ 3. Stop MySQL in XAMPP
✅ 4. Rename old MariaDB folder
\xampp\mysql → \xampp\mysql_old
if cant rename, try to restart the pc
✅ 5. Extract new MariaDB
- Extract ZIP into:
\xampp\mysql
✅ 6. Copy back your data
folder
- From:
\xampp\mysql_old\data → \xampp\mysql\data
✅ 7. Copy config file
- From:
\xampp\mysql_old\bin\my.ini → \xampp\mysql\bin\my.ini
- Edit paths if needed (
basedir
,datadir
).
✅ 8. Start MySQL via XAMPP
⚠️ If you see errors:
-
Check
\xampp\mysql\data\mysql_error.log
-
to see console debug, try to run
\mysql\bin\mysqld.exe --console
-
run
\mysql\bin\mariadb-install-db.exe
to reinit new system table -
error
[ERROR] mysqld.exe: unknown variable 'innodb_additional_mem_pool_size=2M'
, go tomy.ini
then comment or delete row config innodb_additional_mem_pool_size -
error
table didn't exist on engine
after copying the raw database from old data to new data folder , after reinit with mariadb-install-db.exe, copy thea all the ib_logfile and ibdata -
phpmyadmin user previelege problem
go to mysql console, ` mysql -u root -pCREATE USER 'pma'@'localhost' IDENTIFIED BY ''; GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'your_password_here'; FLUSH PRIVILEGES;
-
phpmyadmin error index
Notice in .\index.php#377 Undefined index: utf8
go to \phpmyadmin\/libraries/classes/Charsets.php
ine 43: 'utf-8' => 'utf8', change to 'utf-8' => 'utf8mb3', -
If incompatible, export SQL dumps from old MariaDB, then import into the new one.