龙空技术网

Mysql8 迷你版精简过程 体积只有15M

星仔架构师 142

前言:

现在各位老铁们对“mysql类库”大概比较看重,兄弟们都想要知道一些“mysql类库”的相关知识。那么小编同时在网摘上搜集了一些有关“mysql类库””的相关资讯,希望同学们能喜欢,小伙伴们快快来了解一下吧!

mysql是目前应用最广泛的数据库,平时开发时基本都会用到它。由于业务需要升级自己本机的mysql版本(升级前的是5.5,太老了),便折腾直接升级到最新的mysql8。到官网一看下截的zip包250多兆,整个安装完占用磁盘近一个G。不行,太大了,看看能不能精简一下体积,便到处找文档,看看如何精简,最终的结果弄了一个最小的mysql安装包,体积只有15M多,记录一下整个精简过程。

第一步:到官网下载最新社区版的mysql

下载链接:

当前的版本是 8.0.17,下载完后解压到非中文目录 如: D:/soft/mysql-8.0.17。解压后的目录结果如下,整个大小已经是1.1个G了,虽然现在硬盘空间都够用,但总感觉不爽,哈哈!

第三步:删除文件,精简体积

进入到bin目录,只保留mysqld.exe,mysql.exe,libeay32.dll,ssleay32.dll四个文件,其他全删除,此文件夹从600M直降到 50M,惊叹有木有!删除docs目录,放的是说明文档没啥用;删除etc、run、var目录,具体干什么的可自行搜索;删除lib目录,这个文件夹有270多M,一听这个名字好像是类库文件,貌似非常重要,实际删了之后mysql主要功能一切正常,那就删;share目录下只保留english目录,其他全删除,这个目录里放好像是语言包,留个英文的即可;删除根目录下的四个文件,没啥用;添加data、log文件夹,用于存放数据库和日志,个人习惯;添加my.ini数据库配置文件;添加README.md,记录一下安装和使用过程。

my.ini的文件内容如下:

[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:/soft/mysql-8.0.17# 设置mysql数据库的数据的存放目录datadir=data# 日志log-bin=../log/mysql-log# 允许最大连接数max_connections=200# 允许连接失败的次数。max_connect_errors=10# 服务端使用的字符集默认为utf8mb4character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=InnoDB# 默认使用“mysql_native_password”插件认证default_authentication_plugin=mysql_native_password# sqlmodesql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

好了,整个文件的精简就结束了,再看一下目录

优化后未压缩前的文件体积只有54m哦,是不是很惊艳!

你可以现在把当前目录打一个zip包,后面就可以用这个zip包安装mysql了,来看一下打包后的压缩包大小吧。

就14.6M,够迷你

第四步:命令行安装mysql

整个安装,初始化,卸载的过程都记录在README.md文档里

1.以管理员身份打开cmd,进入到bin目录下,执行初始化;

> mysqld --initialize --console

在控制台会有root@localhost的初始密码(不包含第一个空格),请复制保存好;

如果初始化失败,清空data文件夹再试。

2.安装和启动mysql服务,MySql为服务名称,安装成功后就可在系统服务里进行管理了;

> mysqld --install MySql> net start MySql

3.连接数据库,输入上述的初始化密码,并修改root密码;

> mysql -uroot -p# 输入初始密码,下面的123456为新密码> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

4.安装完成,可使用Navicat for MySQL等管理工具连接看看;

5.卸载: 先停止,再删除。

> net stop MySql> sc delete MySql

好了!整个优化过程和安装过程都比较顺利,一个只有15m的mysql8数据库安装包就这样折腾出来了,方便以后开发时安装使用。这里提醒大家不要用于正式的生产环境哦,因为删了很多文件,笔者也不太清楚会有不会有问题,生产环境还是乖乖用原版哈,这里只是为了开发方便。

标签: #mysql类库