Skip to content

Instantly share code, notes, and snippets.

@tidalgo22
Created May 20, 2019 01:31
Show Gist options
  • Save tidalgo22/5aca2ba84aeacbaeb5493bf90a9ba10e to your computer and use it in GitHub Desktop.
Save tidalgo22/5aca2ba84aeacbaeb5493bf90a9ba10e to your computer and use it in GitHub Desktop.
As of XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. MariaDB is not 100% compatible with MySQL and can be replaced with the “orginal” MySQL server.
Requirements
Windows
XAMPP for Windows
Administrator privileges to restart Windows services
Backup
Backup the old database into a sql dump file
Stop the MariaDB service
Rename the folder: c:\xampp\mysql to c:\xampp\mariadb
Installation
Download MySQL Community Server: https://dev.mysql.com/downloads/mysql/
Click: Looking for the latest GA version?
Select Version: 5.7.25
Select Operating System: Microsoft Windows
Select OS Version: Windows (x86, 32-bit)
Scroll down to ZIP Archive and click Download.
Create a new and empty folder: c:\xampp\mysql
Extract mysql-5.7.25-win32.zipp to: c:\xampp\mysql
Create a new file: c:\xampp\mysql\bin\my.ini and copy this content:
[mysqld]
# Set basedir to your installation path
basedir=c:/xampp/mysql
# Set datadir to the location of your data directory
datadir=c:/xampp/mysql/data
# Default: 128 MB
# New: 1024 MB
innodb_buffer_pool_size = 1024M
Initializing the data directory
Copy the old data directory from c:\xampp\mariadb\data to c:\xampp\mysql\data
Start the MySQL server. You can use the XAMPP Control Panel (MySQL > Start) to start the MySQL service.
Repair all corrupted tables in the c:\xampp\mysql\data directory. Press ENTER if your password is empty.
cd c:\xampp\mysql\bin
mysqlcheck.exe -u root -p --auto-repair --all-databases
Update structure to latest version:
mysql_upgrade.exe -u root -p --force
Check the tables for errors:
mysqlcheck.exe -u root -p --check --all-databases
Notice: If you don’t want to copy and migrate the old data directory, you can create a fresh directory with this command:
c:\xampp\mysql\bin>mysqld.exe --initialize-insecure --basedir=c:\xampp\mysql --datadir=c:\xampp\mysql\data
Finished
Known issues
Questions
I can’t start or stop mysql using the XAMPP control panel button
The XAMPP control panel is crashing while shutting down
Answers
Make sure you have installed the 32-bit version of MySQL. The MySQL 64-bit version is not compatible with the XAMPP Control Panel.
This setup is not testet with MySQL 8.x
Try to fix the directory permissions with this batch script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment