乐趣区

关于mysql:MySQL-5721-移植指南openEuler-2003-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

软件 版本 备注
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 并配置明码

  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

  1. 启动 mysql。

systemctl start mysqld

  1. 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.
  1. 登录并批改默认明码。

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>

相干链接:

  1. openEuler 官网:www.openeuler.org/
  2. OS 迁徙专区: https://www.openeuler.org/zh/…
  3. openEuler 兼容性列表:https://www.openeuler.org/zh/…
  4. openEuler 迁徙指南:https://www.openeuler.org/zh/…
退出移动版