MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程措辞紧密结合的数据库系统。 本案例利用x86_64架构虚拟机,通过评估工具x2openEuler评估MySQL 5.7.21软件移植到openEuler操作系统的兼容性,再履行数据迁居。
建议利用版本为MySQL 5.7.21。
解释: 本文档适用于MySQL 5.7.21,其他版本的MySQL移植步骤也可参考本文档。

做事器
项目
解释
做事器
TaiShan 200做事器
CPU
华为鲲鹏920处理器
Raid卡
SAS3508
网络卡
Mellanox SP333
TM210
TM280
磁盘容量
500GB以上
OS
软件
版本
备注
OS
Centos 7.6.1810
当前mysql集群做事器
OS
openEuler 20.03 SP1
迁移目标做事器
软件包
软件
版本
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
3.软件兼容性评估openEuler社区供应了 x2openEuler 工具 ,针对已经编译好的二进制程序,进行紧张完成软件包、接口级评估,明确运用软件是否须要移植适配,是否有依赖的软件包待引入;同时评估软件调用的接口原型在两个别系中是否有差异。
注:已经编译好的二进制程序,难以保障全部兼容新OS,严重时会引发才内存风险,每每这种问题很难通过验证的办法识别出来,迁移前针对软件兼容性评估尤为主要。
3.1获取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 mysqltar -xf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C mysql
3.2下载x2openEuler工具到/opt/mysql
下载指引:https://www.openeuler.org/zh/other/migration/
3.3支配工具
cd /opt/mysqlrpm -ivh x2openEuler-2.0.0-1.x86_64.rpm
把稳:安装rpm时须要利用root用户,且目前须要网络(用于下载安装依赖) 把稳:根据提示安装依赖包如bzip2-devel等
su x2openEulerx2openEuler 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,请示情形选择对应的资源包
3.4扫描mysqlx2openEuler scan /opt/mysql/把稳要剖析的移植文件须要有能够让x2openEuler用户可以读取的权限扫描完成后会在/opt/x2openEuler/output目录天生html格式的报告
4.评估结果剖析
软件兼容性评估报告分三块内容展示软件兼容性,分别是依赖包兼容性、C/C++接口兼容性、java接口兼容性,依赖包兼容性反响了软件包安装过程中的直接依赖,非100%表明无法精确安装;接口兼容性反响的是单个软件运行过程中对其他软件包、动态库或系统接口的调用变革,非100%表明在某个功能调用时可能会触发非常,未调用到时可能表现正常;部分结果建议人工复核,终极软件包利用建优先级建议 openEuler已移植包>openEuler上人工重编译包>centos软件包。
4.1报告剖析打开html报告,逐行剖析,得出结论:在openEuler上直策应用centos的mysql包存在风险,风险如下:1个待确认接口表明mysql系列软件包会调用到libaio.so.1.0.1,其函数参数数量从4变为5,直接影响了功能,在某个功能调用时可能会触发非常;其余,报告显示须要确认3个依赖软件包,经由人工确认属于mysql系列包自闭环的依赖,故软件包安装无影响
4.2剖析结果建议
建议:由于函数调用风险,建议直策应用在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.rpmhttps://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mariadb-common-10.3.9-9.oe1.x86_64.rpmhttps://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-common-5.7.21-3.oe1.x86_64.rpmhttps://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-server-5.7.21-3.oe1.x86_64.rpmhttps://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mysql5-errmsg-5.7.21-3.oe1.x86_64.rpmhttps://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/x86_64/Packages/mecab-0.996-2.oe1.x86_64.rpm
5.安装数据库mysql5.1安装mysql并配置密码
1)安装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
2) 启动mysql。
systemctl start mysqld
3)mysql状态查询。
systemctl status mysqld
状态为running则启动成功:
root@vm-2p32g.2288hv5-2s44p-384g--b5-0 ~# 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.
4) 登录并修正默认密码。
mysql -uroot -p
a. 默认没有密码,按回车即可登录。
root@vm-2p32g.2288hv5-2s44p-384g--b5-0 /# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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) 验证密码。
退出后重新登录,查看密码是否修正成功。
root@vm-2p32g.2288hv5-2s44p-384g--b5-0 /# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>