I have been looking for a portable version MySql database which I can just copy on my machine and start using with installation. It took a little bit of effort to make it work.
Here are the steps I performed for running MySql without going through installation process (noinstall):
- Download Zip Archive (Community Edition) from http://dev.mysql.com/downloads/mysql/
- Unzip the archive and go to the bin folder.
- Initialize MySql database: Run the following on Command Prompt (cmd) while being in the bin folder. This creates data folder with database files.
- Start server with unrestricted access to the full database.
mysqld --console --skip-grant-tables
- Reset password for root user
- Run mysql.exe (MySql client) from the bin folder. This will take you to a prompt (mysql>).
- Tell the server to load the grant tables so that account management statements work (They are not loaded due –skip-grant-tables parameter to server).
mysql> FLUSH PRIVILEGES;
On mysql prompt (mysql>), run the following queries to reset the root password (one of the following will work depending on your version)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
- Restart server in normal mode.
- Connect using client
mysql -u root -p
Enter the password (MyNewPass) when prompted
- Execute your queries on mysql prompt (mysql>).
Please note that this works for version 5.7, but may or may not apply to other versions.
In order to connect to MySql from the application, download the relevant connector from MySql Connectors. For instance, JDBC driver (connector) for connecting from Java application is available at Connector/J.