Skip to content

Instantly share code, notes, and snippets.

@meorajrul
Last active July 24, 2024 05:32
Show Gist options
  • Save meorajrul/b57803bf1b4ddfd2f93e6ad37c3ac5f2 to your computer and use it in GitHub Desktop.
Save meorajrul/b57803bf1b4ddfd2f93e6ad37c3ac5f2 to your computer and use it in GitHub Desktop.
Laragon Multiple MySQL Database Version Setup

Pre-requisite

  1. Laragon
  2. Multiple DB are ready to install (look table below)
  3. Unzip tools like 7zip or Winrar
  4. Laragon installation path default is C:\laragon\, might be different depending on where you install this. However we will focus on laragon mysql directory folder which located on C:\laragon\bin\mysql

If you look at Laragon documentation on multiple DB it should be straight forward however i would like to make it as painless as possible with the setup

By default Laragon (Full version) comes with MySQL 8.0.* version. However we will install latest or older version of MySQL show how we switch to one another using Laragon system tray mysql version switch feature.

2

For this context we will use MySQL community ZIP version that does not have any debugging binary and test suite (keep the size down)

MySQL Version Download Path Local Data Path
5.7.44 Link C:\laragon\data\mysql
8.0.* (Default) N/A C:\laragon\data\mysql-8
8.4 LTS Link C:\laragon\data\mysql-8.4

Steps for MySQL 8.4

  1. Download and unzip the file to C:\laragon\bin\mysql. Your folder structure should look like this after extract. image
  2. Open command line using CMDer (default terminal by Laragon) and run:
cd C:\laragon\bin\mysql\mysql-8.4.0-winx64\bin
mysqld --initialize --datadir="C:\laragon\data\mysql-8.4" --basedir="C:\laragon\bin\mysql\mysql-8.4.0-winx64" --console

2-mysql init

Make sure to store those password generated in the terminal for later use. We will use it to reset root password when we start to login via HeidiSQL

  1. Copy my.ini (mysqld config) below to mysql 8.4 base folder and set it as read-only (to avoid Laragon override setting using old template)

3-1

  1. Right click on Laragon Tray and switch to MySQL 8.4 version

2-1

  1. Start services

4 5-laragon-started

  1. Open HeidiSQL or any of your DB IDEs and start accessing the table. After first login with root username and generated password, HeidiSQL will ask for new password. Key-in your desirable new password and your are done.

6-mysql password reset

[client]
#password=your_password
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=256M
max_allowed_packet=512M
table_open_cache=256
sort_buffer_size=1M
read_buffer_size=1M
read_rnd_buffer_size=4M
myisam_sort_buffer_size=64M
thread_cache_size=8
secure-file-priv=""
explicit_defaults_for_timestamp=1
datadir= "C:/laragon/data/mysql-8.4"
basedir= "C:/laragon/bin/mysql/mysql-8.4.0-winx64"
#default_authentication_plugin=mysql_native_password
[mysqldump]
quick
max_allowed_packet=512M
@falansari
Copy link

Ok, after much trial and error I finally got it to work. I'll post the steps that worked in case anybody else is having the same issues:

  1. In my.ini, comment out the explicit_defaults_for_timestamps and authentication lines:

`[client]
#password=your_password
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=256M
max_allowed_packet=512M
table_open_cache=256
sort_buffer_size=1M
read_buffer_size=1M
read_rnd_buffer_size=4M
myisam_sort_buffer_size=64M
thread_cache_size=8

secure-file-priv=""
#explicit_defaults_for_timestamp=1
datadir= "D:/Apps/laragon/data/mysql-5.5"
basedir= "D:/Apps/laragon/bin/mysql/mysql-5.5.32-winx64"
#default_authentication_plugin=mysql_native_password
#mysql_native_password=ON

[mysqldump]
quick
max_allowed_packet=512M`

  1. From the mysql-5.x.-winx64 folder (whichever version you downloaded from ZIP file), copy the data folder and paste it in the laragon data directory (laragon/data/mysql or laragon/data/mysql-5.x if you wish to use a separate directory)
  2. Then in the CMDer terminal, following the mysqld initialization command, remove --initialize from the command:
    mysqld --datadir="C:\laragon\data\mysql-5.5" --basedir="C:\laragon\bin\mysql\mysql-5.5.32-winx64" --console
  3. Login without password.

This should work.

@IlhamGhaza
Copy link

Solved the problem by simply

  • opening the my.ini file on the 8.4 folder
  • commenting the line "default_authentication_plugin=mysql_native_password"
  • setting a new line "mysql_native_password=ON" (the MySQL 8.4 way to setting this)
  • saving the my.ini file
  • setting the my.ini file as read-only, so Laragon don't change it
  • start all
  • use HeidiSQL as before

Hope this help!

thank you. it`s work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment