

MySQL 5.7.21 移植指南(openEuler 20.03 LTS SP1)
source link: https://blog.51cto.com/u_14948868/5822089
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

MySQL 5.7.21 移植指南(openEuler 20.03 LTS SP1)
精选 原创本文主要用于指导在openEuler 20.03 sp1 操作系统上部署mysql数据库。
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。 本案例使用x86_64架构虚拟机,通过评估工具x2openEuler评估MySQL 5.7.21软件移植到openEuler操作系统的兼容性,再实施数据搬迁。
建议使用版本为MySQL 5.7.21。
说明: 本文档适用于MySQL 5.7.21,其他版本的MySQL移植步骤也可参考本文档。
项目 | 说明 |
---|---|
服务器 | 磁盘容量 |
CPU | 华为鲲鹏920处理器 |
Raid卡 | SAS3508 |
网络卡 | SAS3508 |
SAS3508 | |
SAS3508 | |
磁盘容量 | 500GB以上 |
软件 | 版本 | 备注 |
---|---|---|
OS | Centos 7.6.1810 | 当前mysql集群服务器 |
OS | openEuler 20.03 SP1 | 当前mysql集群服务器 |
软件 | 版本 |
---|---|
mysql5 | 5.7.21 |
mysql5-common | 5.7.21 |
mysql5-embedded | 5.7.21 |
mysql5-embedded-devel | 5.7.21 |
mysql5-errmsg | 5.7.21 |
mysql5-libs | 5.7.21 |
mysql5-server | 5.7.21 |
mysql5-test | 5.7.21 |
软件兼容性评估
openEuler社区提供了 x2openEuler 工具 ,针对已经编译好的二进制程序,进行主要完成软件包、接口级评估,明确应用软件是否需要移植适配,是否有依赖的软件包待引入;同时评估软件调用的接口原型在两个系统中是否有差异。
注:已经编译好的二进制程序,难以保障全部兼容新OS,严重时会引发才内存风险,往往这种问题很难通过验证的方式识别出来,迁移前针对软件兼容性评估尤为重要。
获取mysql的RPM包并解压到/opt/mysql目录下
wget -P /opt https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
cd /opt/
mkdir mysql
tar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C mysql
下载x2openEuler工具到/opt/mysql
下载x2openEuler工具到/opt/mysql
cd /opt/mysql
rpm -ivh x2openEuler-2.0.0-1.x86_64.rpm
注意:安装rpm时需要使用root用户,且目前需要网络(用于下载安装依赖) 注意:根据提示安装依赖包如bzip2-devel等
su x2openEuler
x2openEuler redis-db -init
依次录入redis数据库的ip:127.0.0.1 端口:6379 数据库索引号(0-16):0 密码(工具会对密码加密处理):如果redis密码没有设置或者为空时,直接回车即可
x2openEuler init source_centos7.6-openEuler20.03-LTS-SP1.tar.gz
备注:x2openEuler使用rpm安装完成后会在/opt/x2openEuler目录下带有source_centos7.6-openEuler20.03-LTS-SP1.tar.gz这个默认资源包 需要支持centos8.2到openEuler20.03-LTS-SP1的评估,则需获取对应的静态资源包导入,如对应的资源包为source_centos8.2-openEuler20.03-LTS-SP1.tar.gz,导入此包命令:x2openEuler init source_centos8.2-openEuler20.03-LTS-SP1.tar.gz,请示情况选择对应的资源包
扫描mysql
x2openEuler scan /opt/mysql/
注意要分析的移植文件需要有能够让x2openEuler用户可以读取的权限
扫描完成后会在/opt/x2openEuler/output目录生成html格式的报告
评估结果分析
软件兼容性评估报告分三块内容展示软件兼容性,分别是依赖包兼容性、C/C++接口兼容性、java接口兼容性,依赖包兼容性反映了软件包安装过程中的直接依赖,非100%表明无法正确安装;接口兼容性反映的是单个软件运行过程中对其他软件包、动态库或系统接口的调用变化,非100%表明在某个功能调用时可能会触发异常,未调用到时可能表现正常;部分结果建议人工复核,最终软件包使用建优先级建议 openEuler已移植包>openEuler上人工重编译包>centos软件包。
打开html报告,逐行分析,得出结论:在openEuler上直接使用centos的mysql包存在风险,风险如下:
1个待确认接口表明mysql系列软件包会调用到libaio.so.1.0.1,其函数参数数量从4变为5,直接影响了功能,在某个功能调用时可能会触发异常;
另外,报告显示需要确认3个依赖软件包,经过人工确认属于mysql系列包自闭环的依赖,故软件包安装无影响


分析结果建议
建议:由于函数调用风险,建议直接使用在openEuler官方编译移植过的mysql-5.7.21系列软件包
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-5.7.21-3.oe1.x86_64.rpm
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mariadb-common-10.3.9-9.oe1.x86_64.rpm
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-common-5.7.21-3.oe1.x86_64.rpm
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-server-5.7.21-3.oe1.x86_64.rpm
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-errmsg-5.7.21-3.oe1.x86_64.rpm
https://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mecab-0.996-2.oe1.x86_64.rpm
安装数据库mysql
安装mysql并配置密码
- 安装mariadb及mysql相关服务。
rpm -ivh mysql5-5.7.21-3.oe1.x86_64.rpm mariadb-common-10.3.9-9.oe1.x86_64.rpm mysql5-common-5.7.21-3.oe1.x86_64.rpm mysql5-server-5.7.21-3.oe1.x86_64.rpm mecab-0.996-2.oe1.x86_64.rpm mysql5-errmsg-5.7.21-3.oe1.x86_64.rpm
- 启动mysql。
systemctl start mysqld
- mysql状态查询。
systemctl status mysqld
状态为running则启动成功:
[email protected] ~# systemctl status mysqld
● mysqld.service - MySQL 5.7 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2021-09-09 10:23:25 CST; 1 day 4h ago
Process: 103715 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Process: 103738 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, sta>
Process: 103773 ExecStart=/usr/libexec/mysqld --daemonize --basedir=/usr --pid-file=/run/mysqld>
Process: 103803 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
Main PID: 103775 (mysqld)
Tasks: 37
Memory: 188.4M
CGroup: /system.slice/mysqld.service
└─103775 /usr/libexec/mysqld --daemonize --basedir=/usr --pid-file=/run/mysqld/mysqld.
- 登录并修改默认密码。
mysql -uroot -p
a. 默认没有密码,按回车即可登录。
[email protected] /# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
b. 设置密码。
alter user ‘user’@‘localhost’ identified by ‘passward’;
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
flush privileges必须执行,否则设置不生效。
5) 验证密码。
退出后重新登录,查看密码是否修改成功。
[email protected] /# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.21 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
相关链接:
- 赞
- 收藏
- 评论
- 分享
- 举报
Recommend
-
17
Flash Remoting Update SP1 Monday, March 10, 2003 We have released an update to Flash Remoting. Its includes changes and fixes for the Flash Re...
-
11
如果你的旧 iPhone 已经无法支持你日常使用了,你会怎么处理这部 iPhone 呢?卖掉还是留起来收藏呢?近日,国外一名 16 岁的小开发者在 YouTube 上发布了一则视频,展示了自己是如何将 Linux 移植到一部无法使用的 iPhone 7。 20...
-
19
The R2 2021 service pack release of Telerik Reporting and Telerik Report Server comes with new features, fixes and improvements. Let’s see what’s in the box. Keep Client Alive in HTML5, WPF and WinForms Viewers The HTML5, WPF...
-
8
20.04 Pro SP1 用户常见问题集锦 发布时间:2021-12-09 09:06:46...
-
5
OHOS LTS 3.0移植到RaspberryPi 4B-51CTO.COM
-
3
OHOS LTS 3.0移植到RaspberryPi 4B liangkz 《沉浸式剖析OpenHarmony源代码》一书没有涉及系统移植方面的内容,因此在交了书稿到出版社之后,我就开始考虑系统移植方面的事情。在了解一些情况后综合考量,我决定尝试一下在R...
-
5
服务器操作系统大家是否还是在用CentOS系列,上大学的时候我记得还在使用CentOS6,然后去年就凉凉了。看着时间线后面记基本上发展Stream系列了。但是后面就会陆陆续续改成国产操作系统,然后调研了一下出名的服务器操作系统有openEuler、Anolis OS。这...
-
5
Dubbo 2.6.8 移植指南(openEuler 20.03 LTS SP1) 精选 原创 Dubbo是阿里巴巴公司开源的...
-
10
OpenHarmony富设备移植指南(3)OH编译框架适配与定制 原创 精华 1,OH编译框架适配特别说明:OH3.2 beta4我移植过多款设备,输入子系统会开机崩溃,还没找到具体原因,移植的时...
-
4
想了解更多关于开源的内容,请访问:...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK