Over the last few MySQL releases the size of the MySQL package have increased in size and it looks like the trend is continuing.
MySQL configuration file used to start MySQL:
Create MySQL basedir where you want to store all binaries:
Go to basedir:
Create folders for binaries and database (normally your datadir would not be located in your basedir):
Download MySQL "Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive" from http://dev.mysql.com/downloads/mysql/
Copy files needed to start MySQL daemon and client program:
We need some binaries and files to create mysql internal database, these can be removed later on:
Create MySQL internal database:
# Now we can remove tools for creating internal mysql schema:
Start server:
Log into server:
This is good news, with some minimal work it's still possible to get the binary package down to below 100M.
EDIT: Great news, with MySQL 8.0.16 we now have minimal packages via our normal downloads, see more here: https://mysqlrelease.com/2019/05/the-amazing-shrinking-tarball/
- 687M MySQL 5.5.42
- 1,1G MySQL 5.6.21
- 1,3G MySQL 5.7.4
- 1,5G MySQL 5.7.5
This guide is for a Linux installation. I have tested the instructions below to create a minimal installation on my Ubuntu 14.04 laptop. I know you can make it a bit smaller by running mysqld directly and only using one error message file but this would not affect total size much. I also added the mysql client to have some way of logging into MySQL.
[mysqld_safe] ledir = /home/ted/labb/mini-mysql/bin [mysqld] port = 63301 socket = /tmp/mysql63301.sock basedir = /home/ted/labb/mini-mysql datadir = /home/ted/labb/mini-mysql/data tmpdir = /tmp pid-file = /tmp/mysql66301.pid |
Create MySQL basedir where you want to store all binaries:
mkdir /home/ted/labb/mini-mysql |
Go to basedir:
cd /home/ted/labb/mini-mysql |
Create folders for binaries and database (normally your datadir would not be located in your basedir):
mkdir bin mkdir data |
Download MySQL "Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive" from http://dev.mysql.com/downloads/mysql/
Copy files needed to start MySQL daemon and client program:
cp ~5.6.22/bin/mysql bin/ cp ~5.6.22/bin/mysqld bin/ cp ~5.6.22/bin/mysqld_safe bin/ cp -fr ~5.6.22/share . |
We need some binaries and files to create mysql internal database, these can be removed later on:
cp ~5.6.22/scripts/mysql_install_db bin/ cp ~5.6.22/bin/resolveip bin/ cp ~5.6.22/support-files/my-default.cnf . |
Create MySQL internal database:
./bin/mysql_install_db --datadir=./data/ |
# Now we can remove tools for creating internal mysql schema:
rm bin/mysql_install_db rm bin/resolveip rm my-default.cnf rm rm my-new.cnf |
Start server:
./bin/mysqld_safe --defaults-file=./my.cnf & |
Log into server:
./bin/mysql -uroot -P63301 -h127.0.0.1 |
Total size of installation:
mysql$ du -sh * 88M bin 3,2M share |
This is good news, with some minimal work it's still possible to get the binary package down to below 100M.
EDIT: Great news, with MySQL 8.0.16 we now have minimal packages via our normal downloads, see more here: https://mysqlrelease.com/2019/05/the-amazing-shrinking-tarball/
Inga kommentarer:
Skicka en kommentar