diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/MySQL 8.0.22 for openEuler\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/MySQL 8.0.22 for openEuler\345\256\211\350\243\205\346\214\207\345\215\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..8f9caa2ecce88e163d9d48631867256f6098eb6c --- /dev/null +++ "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/MySQL 8.0.22 for openEuler\345\256\211\350\243\205\346\214\207\345\215\227.md" @@ -0,0 +1,620 @@ +--- +title: "MySQL-8.0.22-migrate" +date: 2023-02-09 +category: blog +tags: + - MySQL + - Porting Guide +sig: sig-Compatibility-Infra +archives: 2023-02 +author: caesar +summary: "详细介绍了MySQLl8.0.22软件移植到openEuler操作系统的具体操作步骤" +--- + +# MySQL 8.0.22 for openEuler22.03 LTS安装指南 + +## 软件介绍 + +**简要介绍** + +MySQL是一个关系型数据库管理系统,由瑞典MySQL +AB公司开发,是业界最流行的RDBMS(Relational Database Management +System,关系数据库管理系统)之一,尤其在WEB应用方面。 + +**建议的版本** + +> 文档适用MySQL 8.0.22及以上版本。 + +## 环境要求 + +**操硬件要求** + +| **项目** | **说明** | +| -------- | ------------------------------------------------------------ | +| 服务器 | TaiShan 200 服务器(型号2280) | +| CPU | 华为鲲鹏920处理器 | +| 硬盘 | 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘,至少两块硬盘。 非性能测试时,直接在系统盘上建数据目录即可。 具体硬盘数量根据实际需求配置。 | + +**操作系统要求** + +| **项目** | **版本** | +| --------- | ----------------- | +| openEuler | 22.03 LTS for ARM | + +**软件包要求** + +MySQL编译对编译环境有要求,配置编译环境需要用到以下软件包: + +● OS镜像 + +需要从OS镜像中获取编译所需依赖包。 + +bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp +gmpdevel mpfr mpfr-devel libmpc libmpc-devell + +## 配置安装环境 + +### 关闭防火墙并取消开机自启动 + +> ![](./images/media/rId22.png)**说明** +> +>测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。 + +**步骤1** 停止防火墙。 + + systemctl stop firewalld.service + +**步骤2** 关闭防火墙。 + + systemctl disable firewalld.service + +> ![](./images/media/rId22.png)**说明** +> +>执行disable命令关闭防火墙的同时,也取消了开机自启动。 + +**步骤3** 查看防火墙。 + + systemctl status firewalld.service + +### 修改SELINUX 为 disabled + +**步骤1** 修改配置文件。 + + sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config + cat /etc/selinux/config + +> ![](./images/media/rId28.png) + +### 创建组和用户 + +> ![](./images/media/rId22.png)**说明** +> +>服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限 +> +>隔离。创建的组和用户都是操作系统层面的,不是数据库层面的。 + +**步骤1** 创建mysql用户(组)。 + + groupadd mysql + useradd -g mysql mysql + +**步骤2** 设置mysql用户密码。 + + passwd mysql + +> 重复输入密码(根据实际需求设置密码)。 +> +> ![](./images/media/rId34.png) + +### 创建数据库目录并且授权 + +**步骤1** 创建数据目录/data和进程所需的相关目录。 + + mkdir /data + mkdir -p /data/mysql + cd /data/mysql + mkdir data tmp run log + +**步骤2** 修改数据目录的用户组和用户权限为mysql:mysql**。** + + chown -R mysql:mysql /data + +> ![](./images/media/rId38.png) + +### 配置yum 源 + +![](./images/media/rId22.png)**说明** + +先执行yum list命令检查默认环境是否已配置可用yum源,如果未配置则按 + +照以下步骤配置,如果已配置则忽略此步骤。配置成功后显示如下: + +![](./images/media/rId44.png) + +**步骤1** 备份配置文件。 + +``` +cp -a /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak +``` + +**步骤2** 下载新的openeuler_aarch64.repo文件到/etc/yum.repos.d/目录下。 + +执行如下命令: + +``` +cd /etc/yum.repos.d/ +wget https://repo.huaweicloud.com/repository/conf/openeuler_aarch64.repo +``` + +**步骤3** 执行yum clean all清除原有yum缓存。 + +``` +yum clean all +``` + +**步骤4** 执行yum makecache(刷新缓存)或者yum repolist all(查看所有配 + +置可以使用的文件,会自动刷新缓存)。 + +``` +yum makecache +yum list +``` + +### 安装依赖包 + +**步骤1** 安装依赖包。 + +``` +yum -y install bison ncurses ncurses-devel libaio-devel openssl +openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel wget tar +gcc gcc-c++ git rpcgen cmake libtirpc-devel +``` + +![](./images/media/rId48.png) + +## 编译和安装 + +> ![](./images/media/rId22.png)**说明** +> +>如果编译安装失败,需要执行如下命令清理环境,然后参照该章节的步骤重 +> +>新解压并编译安装。 + + rm -rf /home/mysql-8.0.22 + +**步骤1** 下载源码包。 + +> 1 下载MySQL源码包(includes Boost Headers)。 +> +> 下载地址:[**https://downloads.mysql.com/archives/community/**](https://downloads.mysql.com/archives/community/) +> +> ![](./images/media/rId56.png) + +2. 将mysql-boost-8.0.22.tar.gz上传至服务器"/home"目录下,并解压。 + + ``` + cd /home + tar -zxvf mysql-boost-8.0.22.tar.gz + ``` + +> ![](./images/media/rId59.png) + +**步骤2** 进入"/home/mysql-8.0.22"源码文件夹,并建立一个编译目录。 + + cd /home/mysql-8.0.22 + mkdir build + +**步骤3** 进入编译目录,配置MySQL。 + + cd build + cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/home/mysql-8.0.22/boost/boost_1_73_0 + +> ![](./images/media/rId62.png) +> +>路径要根据实际情况而定,关键参数的解释。 + +| **参数** | **说明** | +| --------------------- | ------------------------------------------------------------ | +| DBUILD_CONFIG | 设置为mysql_release的含义是指CMake编译参数采用Mysql官方发布release版本时的编译参数。 | +| DCMAKE_INSTALL_PREFIX | 用于指定软件的安装路径,本文安装路径为:/usr/local/mysql。文档中的安装路径只是参考,根据客户实际情况进行配置。 | +| DMYSQL_DATADIR | 创建数据库时,数据文件存放的路径。本次安装路径为:/data/mysql/data。 | +| DWITH_BOOST | 解压MySQL源码包后,解压文件中boost_1_70_0文件夹所在路径。例如,本文解压在“/home”目录下,则路径为:/home/mysql-8.0.22/boost/boost_1_70_0。 | + +**步骤4** 编译MySQL。 + + make -j 96 + +> ![](./images/media/rId65.png) + +**步骤5** 安装MySQL。 + + make -j 96 install + +> ![](./images/media/rId68.png) +> +>![](./images/media/rId22.png)**说明** +> +> -j96 参数充分利用多核CPU优势,加快编译速度,参数-j后数字为CPU核 +> +> 数,可用"cat /proc/cpuinfo \| grep processor \| wc -l"进行查看,此 +> +> 数值应小于等于CPU核数。 + +**步骤6** 查看安装目录。 + + ls /usr/local/mysql/ + +> ![](./images/media/rId73.png) + +**步骤7** 查看数据库版本。 + + /usr/local/mysql/bin/mysql --version + +> ![](./images/media/rId76.png) + +## 运行 + +> ![](./images/media/rId80.png) +> +>本文档中有两种安装方式,安装后的目录结构如下: +> +>● RPM安装方式安装:软件安装目录默认为"/usr/local/mysql" +> +>● 编译安装方式安装:软件安装目录默认为"/usr/local/mysql" + +**步骤1** 修改配置文件。 + +> 1 编辑my.cnf文件。 + + rm -f /etc/my.cnf + echo -e "[mysqld_safe]\nlog-error=/data/mysql/log/mysql.log\npid-file=/data/mysql/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-characterset=utf8\n[mysqld]\nbasedir=/usr/local/mysql\nsocket=/data/mysql/run/mysql.sock\ntmpdir=/data/mysql/tmp\ndatadir=/data/mysql/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf + +> ![](./images/media/rId22.png){width="0.2708333333333333in" +> height="0.1875in"}**说明** +> +> 其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况改。 +> +> user=mysql是指操作系统层的用户,即[**创建用户组和用户**](\l)中创建的用户。 + +2. 确保my.cnf配置文件修改正确。 + + ``` + cat /etc/my.cnf + ``` + +> ![](./images/media/rId86.png) + +3. 修改配置文件/etc/my.cnf的用户组和用户权限为mysql:mysql。 + + ``` + chown mysql:mysql /etc/my.cnf + ll /etc/my.cnf + ``` + +> ![](./images/media/rId89.png) + +**步骤2** MySQL加入service服务。 + + chmod 777 /usr/local/mysql/support-files/mysql.server + cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql + chkconfig mysql on + +> 修改/etc/init.d/mysql的用户组和用户权限为mysql:mysql。 + + chown -R mysql:mysql /etc/init.d/mysql + ll /etc/init.d/mysql + +> ![](./images/media/rId92.png) + +**步骤3** 配置环境变量。 + +1. 修改环境变量文件/etc/profile的用户组和用户权限为mysql:mysql。 + + ``` + chown mysql:mysql /etc/profile + ll /etc/profile + ``` + +> ![](./images/media/rId95.png) + +2. 切换到mysql用户。 + + ``` + su - mysql + whoami + ``` + +3. 安装完成后,将MySQL二进制文件路径到PATH。 + + ``` + echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile + ``` + +> ![](./images/media/rId80.png) +> +>其中PATH中的"/usr/local/mysql/bin"路径,为MySQL软件安装目录下的bin +> +>文件的绝对路径,请根据实际情况修改。 + +4. 使环境变量配置生效。 + + ``` + source /etc/profile + ``` + +5. 查看环境变量。 + + ``` + env + ``` + +> ![](./images/media/rId100.png) + +**步骤4** 初始化数据库。 + + mysqld --defaults-file=/etc/my.cnf --initialize + +> ![](./images/media/rId103.png) +> +>或者 + +``` +/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize +``` + +> ![](./images/media/rId106.png) +> +>![](./images/media/rId22.png)**说明** +> +> ● 以上步骤回显倒数第1行中有初始密码,请注意保存,步骤6时会用到。 +> +> ● 如果初始化失败,提示"\--initialize specified but the data directoryhas files init."则执行下面命令删除数据后重新初始化。 +> + + ls /data/mysql/data + rm -rf /data/mysql/data/ + +> 初始化完成后,查看数据目录下数据文件/data/mysql/data的用户组和用户权限 +> +> 为mysql:mysql(因为前面/etc/my.cnf文件中配置的操作系统用户是user=mysql)。 + + ll /data/mysql/data + +> ![](./images/media/rId111.png) + +**步骤5** 启动数据库(有3种方式)。 + +> 1 启动数据库进程 +> +> ![](./images/media/rId80.png) +> +>如果以root用户(su -root)第一次启动数据库服务(service mysqlstart), +> +> 则启动时会提示缺少mysql.log文件而导致失败。切换到mysql用户(su-mysql) +> +> 启动数据库服务后,会在/data/mysql/log目录下生成mysql.log文件,停止数 +> +>据库服务(service mysql stop),再次以root用户启动数据库服务即可。 +> +>启动数据库,执行以下三种中一种方式即可。 + + service mysql start + +> ![](./images/media/rId116.png) +> +>或者 + + mysqld --defaults-file=/etc/my.cnf & + +> ![](./images/media/rId119.png) +> +>或者 + + /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf & + +> ![](./images/media/rId122.png) + +2. 查看数据库进程。 + + ps -ef | grep mysql + +> ![](./images/media/rId125.png) + +3. 查看数据库监测端口。 + + ``` + netstat -anpt + netstat -anpt | grep mysql + netstat -anpt | grep 3306 + ``` + +**步骤6** 登录数据库。 + +> ![](./images/media/rId22.png){width="0.2708333333333333in" +> height="0.1875in"}**说明** +> 提示输入密码时,请输入[**步骤4**](#步骤4初始化数据库)产生的初始密码。 + + mysql -uroot -p -S /data/mysql/run/mysql.sock + +> ![](./images/media/rId130.png) +> +>或者 + + /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock + +> ![](./images/media/rId133.png) + +**步骤7** 配置数据库帐号密码。 + +> ![](./images/media/rId22.png)**说明** +> +>文档中的用户和密码只是参考,根据客户实际情况进行配置。 + +1. 登录数据库以后,修改通过root用户登录数据库的密码。 + + ``` + alter user 'root'@'localhost' identified by "123456"; + ``` + +2. 创建全域root用户(允许root从其他服务器访问)。 + + ``` + alter user 'root'@'localhost' identified by "123456"; + ``` + +3. 进行授权。 + + ``` + grant all privileges on *.* to 'root'@'%'; + flush privileges; + ``` + +> ![](./images/media/rId138.png) + +**步骤8** 退出数据库。 + +> 执行\\q或者exit退出数据库。 + + exit + +**步骤9** 用修改后的密码重新登录数据库。 + + mysql -uroot -p -S /data/mysql/run/mysql.sock + +> ![](./images/media/rId141.png) +> +>或者 + + /usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock + +> ![](./images/media/rId144.png) +> +>执行\\q或者exit退出数据库。 + + exit + +**步骤10** 关闭数据库(可选)。 + + service mysql stop + +> ![](./images/media/rId147.png) +> +>或者 + + mysqladmin -uroot -p123456 shutdown -S /data/mysql/run/mysql.sock + +> ![](./images/media/rId150.png) +> +>或者 + + /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown -S + /data/mysql/run/mysql.sock + +> ![](./images/media/rId153.png) +> +>查看数据库进程。 + + ps -ef | grep mysql + +> ![](./images/media/rId156.png) + +## 卸载 + +**步骤1** 关闭数据库进程。 + + ps -ef | grep mysql + /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown -S + /data/mysql/run/mysql.sock + +> ![](./images/media/rId160.png) +> +>或者 + +kill -9 进程ID + +> ![](./images/media/rId163.png) + +**步骤2** 源码编译安装只是生成对应的文件,不涉及卸载,直接删除对应的安 + +> 装目录和数据目录即可。 + + ls /usr/local/mysql + rm -rf /usr/local/mysql + ls /data/mysql + rm -rf /data/mysql + +## 故障排除 + +### cmake执行失败 + +**现象描述** + +> 执行[**5编译和安装**](\l)之步骤三,出现如[**图2**](#图2cmake执行报错信息)报错信息。 +> +> 图2 cmake执行报错信息 +> +> ![](./images/media/rId168.png) + +**可能原因** + +> openEuler默认的yum源下不提供rpcgen的安装包,导致出现Could not findrpcgen错误。 + +**处理步骤** + +**步骤1** 下载rpcgen源码包。 + +> 下载地址: +> [**https://www.linuxfromscratch.org/blfs/view/svn/basicnet/rpcsvc-proto.html**](https://www.linuxfromscratch.org/blfs/view/svn/basicnet/rpcsvc-proto.html) + +**步骤2** 将rpcsvc-proto-1.4.1.tar.xz上传至服务器"/home"目录下,并解压。 + + cd /home + xz -d rpcsvc-proto-1.4.1.tar.xz + tar -xvf rpcsvc-proto-1.4.1.tar + +> ![](./images/media/rId172.png) + +**步骤3** 编译安装rpcgen。 + +> 1 进入rpcgen文件路径。 + + cd rpcsvc-proto-1.4.1 + +> 2 配置。 + + ./configure --sysconfdir=/etc + +> ![](./images/media/rId175.png) +> +>\--sysconfdir=PATH:指定rpcgen软件安装目录。默认路径/etc。 + +3. 编译源码。 + + ``` + make -j 96 + ``` + +> ![](./images/media/rId178.png) +> +>![](./images/media/rId22.png)**说明** +> +> -j96 参数充分利用多核CPU优势,加快编译速度,参数-j后数字为CPU +> +> 核数,可用"cat /proc/cpuinfo \| grep processor \| wc -l"进行查看,此数值 +> +> 应小于等于CPU核数。 + +4. 安装 + + ``` + make -j 96 install + ``` + +> ![](./images/media/rId183.png) + +**步骤4** 确认rpcgen的版本是否为1.4.1。 + + rpcgen --version + +> ![](./images/media/rId186.png) diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId100.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId100.png" new file mode 100644 index 0000000000000000000000000000000000000000..2cc1c47c2bc59772f83646c745a7539e800371a2 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId100.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId103.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId103.png" new file mode 100644 index 0000000000000000000000000000000000000000..7ebd0c260a4edc1f674fa6ef75f2f8be71a96d78 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId103.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId106.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId106.png" new file mode 100644 index 0000000000000000000000000000000000000000..f63ee0cae7b423f3ab3910d56acedb50b791b7b4 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId106.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId111.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId111.png" new file mode 100644 index 0000000000000000000000000000000000000000..b2504692ea3373072b4a6e821ca81f2b5d334504 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId111.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId116.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId116.png" new file mode 100644 index 0000000000000000000000000000000000000000..0d36051ea27df6baaa3af031f99301e9f3117d67 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId116.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId119.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId119.png" new file mode 100644 index 0000000000000000000000000000000000000000..dd10681c768ca9667d550aa185f204c993d08cb1 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId119.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId122.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId122.png" new file mode 100644 index 0000000000000000000000000000000000000000..00275f66319c030904af84b50baa56d54a0d03bf Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId122.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId125.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId125.png" new file mode 100644 index 0000000000000000000000000000000000000000..a98903f08280f16b74f03cc3fc698742d1cdc56c Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId125.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId130.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId130.png" new file mode 100644 index 0000000000000000000000000000000000000000..17ac1fcd1ebd4b88e3633a00acdf09671cfc90ce Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId130.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId133.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId133.png" new file mode 100644 index 0000000000000000000000000000000000000000..833af67dbf3d4c85328ca7c0a497431642c933d2 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId133.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId138.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId138.png" new file mode 100644 index 0000000000000000000000000000000000000000..754881b01944fb3308fcf5a4c8d9241a6b161696 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId138.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId141.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId141.png" new file mode 100644 index 0000000000000000000000000000000000000000..38850561faa9e44873533706359c4a26ffe73476 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId141.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId144.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId144.png" new file mode 100644 index 0000000000000000000000000000000000000000..ec22f6afe0e9605ad5e6b8d016e57af54a2da50a Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId144.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId147.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId147.png" new file mode 100644 index 0000000000000000000000000000000000000000..a847b1a3987d329d8cf552923ac63ff5c1506c97 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId147.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId150.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId150.png" new file mode 100644 index 0000000000000000000000000000000000000000..6af4e43ac6c46dda9d264067d3a03efc9641b7c1 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId150.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId153.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId153.png" new file mode 100644 index 0000000000000000000000000000000000000000..de400238d372561248c5589a6e098caa8d8d382e Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId153.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId156.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId156.png" new file mode 100644 index 0000000000000000000000000000000000000000..5bffbd428c623fe7a9d94146f03e12d772b0e27a Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId156.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId160.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId160.png" new file mode 100644 index 0000000000000000000000000000000000000000..03eeaa419f48217138900da4db550fa0e969d099 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId160.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId163.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId163.png" new file mode 100644 index 0000000000000000000000000000000000000000..cb32b02ebb792ea530060654cf5d3423cb9db8e0 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId163.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId168.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId168.png" new file mode 100644 index 0000000000000000000000000000000000000000..257384c19ce19e4ab5b7381b6548d4724b5c20ba Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId168.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId172.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId172.png" new file mode 100644 index 0000000000000000000000000000000000000000..171e839b0fba92b8039df308f2279ab439ada59a Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId172.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId175.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId175.png" new file mode 100644 index 0000000000000000000000000000000000000000..cb32f91aabae58916dc74140ab3637479094ec21 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId175.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId178.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId178.png" new file mode 100644 index 0000000000000000000000000000000000000000..0c90307f2614deaafb41f2f43910c209d8fa81bf Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId178.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId183.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId183.png" new file mode 100644 index 0000000000000000000000000000000000000000..f0e6fe6949548c7c8ccd11a345dabbcb01e109b6 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId183.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId186.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId186.png" new file mode 100644 index 0000000000000000000000000000000000000000..49ac5417a7942557b424f259e0514b895c1bfb95 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId186.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId22.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId22.png" new file mode 100644 index 0000000000000000000000000000000000000000..04523ba8d653c89d1a2afa33286ff1d867a98ccd Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId22.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId28.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId28.png" new file mode 100644 index 0000000000000000000000000000000000000000..e1124c6990cd277355f1b291418f51ad207eaaf7 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId28.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId34.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId34.png" new file mode 100644 index 0000000000000000000000000000000000000000..29854e780cbfd2c7af6418fddd13dd90a3f56b7f Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId34.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId38.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId38.png" new file mode 100644 index 0000000000000000000000000000000000000000..f2ef4b24e59638ad96791df614eb22379b2ad1e1 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId38.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId44.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId44.png" new file mode 100644 index 0000000000000000000000000000000000000000..4377bd5fdfb5bfc2771ecef09c0bb1c9a400c215 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId44.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId48.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId48.png" new file mode 100644 index 0000000000000000000000000000000000000000..64aafd67583d0b10c27b748bb54f02f8349b04b6 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId48.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId56.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId56.png" new file mode 100644 index 0000000000000000000000000000000000000000..a66602614d8e2ca2f79d8cf86e5fca768752aa0d Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId56.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId59.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId59.png" new file mode 100644 index 0000000000000000000000000000000000000000..0c63579d8737a2b5423af413a513714e22ad2d0a Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId59.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId62.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId62.png" new file mode 100644 index 0000000000000000000000000000000000000000..b8d508886f3b68cb6a7d21f548621d11ad04b3ea Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId62.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId65.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId65.png" new file mode 100644 index 0000000000000000000000000000000000000000..89774237bd544e4c34fe51baaaf2ddfb7686ff88 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId65.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId68.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId68.png" new file mode 100644 index 0000000000000000000000000000000000000000..af5a97807759df577664d6bd3abc9c22e3a9f28a Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId68.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId73.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId73.png" new file mode 100644 index 0000000000000000000000000000000000000000..a82d0db614516c2dcbfda8fa17781441adb4a7a5 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId73.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId76.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId76.png" new file mode 100644 index 0000000000000000000000000000000000000000..869d1e41e3a948bf0776c40accf01bec4a86e616 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId76.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId80.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId80.png" new file mode 100644 index 0000000000000000000000000000000000000000..0828914e28085cef24afd026714449a878820816 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId80.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId86.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId86.png" new file mode 100644 index 0000000000000000000000000000000000000000..a2bc32f38c56241fb80ac63bab605538a16b9c94 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId86.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId89.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId89.png" new file mode 100644 index 0000000000000000000000000000000000000000..a92260bd8122b7d174bdcac7f4c9eff620b5f149 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId89.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId92.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId92.png" new file mode 100644 index 0000000000000000000000000000000000000000..a258fd222ce82d8461d198229071adf73027bf68 Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId92.png" differ diff --git "a/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId95.png" "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId95.png" new file mode 100644 index 0000000000000000000000000000000000000000..f1f4667054f4c7cc4582c69afa224c9c609584cf Binary files /dev/null and "b/app/zh/blog/20230209-mysql-openEuler\347\247\273\346\244\215\346\241\210\344\276\213/images/media/rId95.png" differ