How can I change MariaDB to MySQL in XAMPP?

Mike picture Mike · Sep 23, 2016 · Viewed 67.6k times · Source

A. First things first:

  1. Mr. Google hasn't helped me to found any reply to my question above
  2. Yes, I have read a solution to the opposite question here How to upgrade MySQL to MariaDB in XAMPP in 5 minutes on Windows (and it hasn't helped me: MySQL simply doesn't start)
  3. I don't expect replies like 'MariaDB is better, - stop your silly exercises'.

B. I am working with MySQL Workbench and because of that don't want to face any incompatibilities either now or in future.

C. Can someone share their experience (if any) in solving this problem?

Answer

emkey08 picture emkey08 · Nov 21, 2019

Running XAMPP with MySQL

Here are exact step by step instructions for truly integrating MySQL into XAMPP on Windows. This has been successfully tested with Windows 10 and XAMPP 7.3.11 for both MySQL 8.0.18 and 5.7.28.

  • Stop MySQL (which actually is MariaDB) in the XAMPP Control Panel.
  • Download the MySQL community server as zip archive (Windows 64 bit version)
  • Rename C:\xampp\mysql to C:\xampp\mariadb
  • Extract the downloaded zip archive to C:\xampp\mysql. Make sure you extract the folder level which has the subfolders bin, include, lib etc.
  • Copy C:\xampp\mariadb\bin\my.ini to C:\xampp\mysql\bin
  • Open C:\xampp\mysql\bin\my.ini in an editor and comment out the line starting with key_buffer= in the [mysqld] section.
  • Open a command prompt and run the following commands:

    For MySQL 8.0.18:

    cd C:\xampp\mysql
    bin\mysqld --initialize-insecure
    start /b bin\mysqld
    bin\mysql -u root
        CREATE USER pma@localhost;
        SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
        GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
        ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '';
        ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY '';
        \q
    bin\mysqladmin -u root shutdown
    

    For MySQL 5.7.28:

    cd C:\xampp\mysql
    bin\mysqld --initialize-insecure --log_syslog=0
    start /b bin\mysqld --log_syslog=0
    bin\mysql -u root
        CREATE USER pma@localhost;
        SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
        GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
        \q
    bin\mysqladmin -u root shutdown
    
  • Start Apache and MySQL in the XAMPP Control Panel.

  • Go to http://localhost/phpmyadmin and verify that your database server is now reported as MySQL Community Server.