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.exeto reinit new system table -
error
[ERROR] mysqld.exe: unknown variable 'innodb_additional_mem_pool_size=2M', go tomy.inithen 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: utf8go 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.