anyone know a portable version of mysql?
I know xampp but it comes with PHP and Apache together
anyone know how to isolate the mysql?
I think not, without counting on XAMPP. You don't have to use PHP or Apache anyway, just run the mysql from the .exe's
You can download the MySQL Essentials version and make a few small changes to directories in the my.ini
file to use relative paths instead of absolute paths. Then you can run the server directly without having to install or use a Windows service.
Download a MySQL .zip
file (instead of an .msi
, though you could get the .msi
and use 7Zip or Orca to extract the files from it).
Extract the files. At a minimum you need the bin
and share
directories (actually, in bin
, you really only need mysqld.exe
as the absolute minimum to run a server).
Edit my.ini
to change the basedir
and datadir
paths to something relative. For example:
basedir=".."
datadir="/MySQLdb"
If you do not have an existing database, then create one:
mysqld --bootstrap
Run the server (you may need to use the --skip-grant-tables
switch to get it running until you have set up your MySQL user):
mysqld
To avoid the server being run in the current command-prompt, you can use the following to have it run in its own console which should disappear once it is running:
start mysqld
If you get errors, delete the log files (e.g., logs\ib_logfile*
) and run it again.
Created a portable configuration at https://sourceforge.net/projects/mysql-server-portable/
You should put your my.cnf or my.ini in a different directory than your data directory.
You will then need to initialize your portable version,
"\mysql-5.7.30-winx64\bin\mysqld" --defaults-file="\mysql-5.7.30-winx64\config\my.ini" --standalone --explicit_defaults_for_timestamp --initialize
then you can start your portable version,
"\mysql-5.7.30-winx64\bin\mysqld" --defaults-file="\mysql-5.7.30-winx64\config\my.ini" --standalone --explicit_defaults_for_timestamp