[ Content contribution] deepin 制作便携版MySQL8.0.38 精简压缩后只有81M 就几步超简单
Tofloor
poster avatar
倒吸一口凉屁
deepin
2024-07-23 11:25
Author

前提

用来测试,仅用到保存数据、读取数据,用于生产环境后边你就要哭了。

下载

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.38-linux-glibc2.28-x86_64.tar.xz

或者前往官网下载:https://dev.mysql.com/downloads/mysql/

解压、重命名

xz -dk mysql-8.0.38-linux-glibc2.28-x86_64.tar.xz
tar -xvf mysql-8.0.38-linux-glibc2.28-x86_64.tar
mv mysql-8.0.38-linux-glibc2.28-x86_64 MySQL8.0.38

精简

切换到我们重命名后的MySQL8.0.38目录,使用文件管理器操作,删除其他文件和目录,仅保留以下目录文件:

├── bin
│     ├── mysql
│     └── mysqld
└── lib
       ├── plugin
       │      └── component_reference_cache.so
       └── private
               ├── libcrypto.so
               ├── libcrypto.so.3
               ├── libprotobuf-lite.so.24.4.0
               ├── libssl.so
               └── libssl.so.3

初始化

会在MySQL8.0.38目录下生成data目录,所有数据都保存在这了。

./MySQL8.0.38/bin/mysqld --initialize --console

初始化结束后有个密码,记住他,可以用它,也可以自己更改。

启动文件、配置文件

全都放在MySQL8.0.38根目录下:

start.sh
#!/bin/bash
MYSQLD_PATH="bin/mysqld"
echo "启动 MySQL 服务..."
$MYSQLD_PATH --console &
MYSQLD_PID=$!
echo "MySQL 服务进程 PID $MYSQLD_PID"
wait $MYSQLD_PID
echo "MySQL 服务已停止..."
exit 0
stop.sh(这里是停止所有MySQL服务器,有其他MySQL服务器你就哭了)
#!/bin/bash
stop_mysql() {
  echo "尝试停止 MySQL 服务..."
  ps -ef | grep mysqld | grep -v grep | awk '{if($2 != "PID") print $2}' | xargs kill
}

while true; do
  stop_mysql
  sleep 1
  MYSQLD_RUNNING=$(ps -ef | grep mysqld | grep -v grep)

  if [ -z "$MYSQLD_RUNNING" ]; then
    echo "MySQL 服务已成功停止。"
    exit 0
  else
    echo "MySQL 服务仍在运行,继续尝试..."
  fi
done
my.ini
[mysqld]
bind-address = 127.0.0.1
port = 3306
datadir = Data
max_connect_errors = 10
character-set-server = utf8mb4
default-storage-engine = INNODB

[mysql]
default-character-set = utf8mb4

整体目录结构如下(去掉data目录后):

.
├── bin
│   ├── mysql
│   └── mysqld
├── lib
│   ├── plugin
│   │   └── component_reference_cache.so
│   └── private
│       ├── libcrypto.so
│       ├── libcrypto.so.3
│       ├── libprotobuf-lite.so.24.4.0
│       ├── libssl.so
│       └── libssl.so.3
├── my.ini
├── start.sh
└── stop.sh

OK了,现在双击start.sh、stop.sh选择‘在终端中运行’就可以启动或者停止MySQL服务了。
右键压缩,选择最好,就只有81MB了,随时随地移动使用。

Reply Favorite View the author
All Replies
deepin-superuser
deepin
2024-07-23 11:29
#1

好活

Reply View the author
青稚
deepin
2024-07-23 11:31
#2

不止适用于deepin

Reply View the author
HualetWang
deepin
2024-07-23 12:52
#3
like
Reply View the author
乾豫恒益
deepin
2024-07-23 15:34
#4

先保存下来,再仔细研究研究。。。

Reply View the author
蓝鲸
deepin
2024-07-23 17:31
#5

好思路!like

Reply View the author
阿尼樱奈奈
Moderator
2024-07-23 22:45
#6
Reply View the author
Oli
deepin
2024-07-24 17:25
#7

好活

Reply View the author