MySql portable version

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

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.

  1. 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).

  2. 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).

  3. Edit my.ini to change the basedir and datadir paths to something relative. For example:

    basedir=".."
    datadir="/MySQLdb"
    
  4. If you do not have an existing database, then create one:

    mysqld --bootstrap
    
  5. 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.


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