openEuler 22.03 安装 Mysql 5.7,TAR离线安装

目录

    • 一、检查系统是否安装其他版本Mariadb数据库
    • 二、环境检查
      • 2.1 必要环境检查
      • 2.2 在线安装(有网络)
      • 2.3 离线安装(无网络)
    • 三、下载Mysql
      • 2.1 在线下载
      • 2.2 离线下载
    • 四、安装Mysql
    • 五、配置Mysql
    • 六、开放防火墙端口
    • 七、数据备份
    • 八、生产环境优化
    • 九、常用命令

前言:
安装目录:/usr/local/mysql
数据目录:/mnt/mysql/data
日志文件:/var/log/mysqld.log
运行目录:/var/run/mysqld

一、检查系统是否安装其他版本Mariadb数据库

# 查看已安装的 Mariadb 数据库版本
[root@openeuler ~]# rpm -qa|grep -i mariadb
# 卸载已安装的 Mariadb 数据库
[root@openeuler ~]# rpm -qa|grep mariadb|xargs rpm -e --nodeps

二、环境检查

2.1 必要环境检查

# 查看 libaio 版本
[root@openeuler ~]# rpm -q libaio
# 查看 numactl 版本
[root@openeuler ~]# rpm -q numactl
# 查看 ncurses-compat-libs 版本
[root@openeuler ~]# rpm -q ncurses-compat-libs

2.2 在线安装(有网络)

[root@openeuler ~]# sudo dnf install -y libaio numactl ncurses-compat-libs

2.3 离线安装(无网络)

1.3.1 软件包下载
openEuler软件中心:https://easysoftware.openeuler.org/zh/rpm
华为开源镜像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
华中科技大学镜像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
RPMFind:http://www.rpmfind.net/linux/rpm2html/search.php

依赖包下载:openEuler 22.03 离线安装 Mysql 5.7 依赖包
1.3.2 软件包安装

# 切换到 RPM 包所在目录,假设 RPM 包存放在 /home/rpm_packages 目录下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安装命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 强制安装命令
# 重要事项:没把握的话,千万不要用下面这个命令,这个命令会忽略依赖和兼容性,可能会导致基础组件被卸载掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force

小技巧:可以提前在有网络环境下下载安装包,移动到无网络环境
yumdownloader --resolve libaio
yumdownloader --resolve numactl
yumdownloader --resolve ncurses-compat-libs

三、下载Mysql

2.1 在线下载

# 创建安装目录
[root@openeuler ~]# cd /usr/local/
[root@openeuler local]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-el7-x86_64.tar.gz

2.2 离线下载

下载地址:https://downloads.mysql.com/archives/community/
上传到 /usr/local 目录下
在这里插入图片描述

四、安装Mysql

3.1 创建 MySQL 用户和组

# 创建用户和组
[root@openeuler ~]# sudo groupadd mysql
[root@openeuler ~]# sudo useradd -r -g mysql -s /bin/false mysql

3.2 初始化安装

# 进入安装目录
[root@openeuler ~]# cd /usr/local/
# 解压安装包
[root@openeuler local]# tar -zxvf mysql-5.7.44-el7-x86_64.tar.gz
# 重命名
[root@openeuler local]# sudo mv mysql-5.7.44-el7-x86_64 /usr/local/mysql
# 创建数据目录
[root@openeuler local]# sudo mkdir -p /mnt/mysql/data
# 初始化
[root@openeuler local]# sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mnt/mysql/data

初始化完成后,会在终端输出初始密码,如 [Note] A temporary password is generated for root@localhost: xxxxxx),请务必记录此密码。

3.3 Mysql 用户授权

# 安装目录授权
[root@openeuler local]# sudo chown -R mysql:mysql /usr/local/mysql
# PID目录授权
[root@openeuler local]# sudo mkdir -p /var/run/mysqld
[root@openeuler local]# sudo chown -R mysql:mysql /var/run/mysqld
# 日志目录授权
[root@openeuler local]# sudo touch /var/log/mysqld.log
[root@openeuler local]# sudo chown -R mysql:mysql /var/log/mysqld.log

3.4 配置 my.cnf

# 创建配置文件 /etc/my.cnf
[root@openeuler ~]# sudo tee /etc/my.cnf <<EOF[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
user=mysql
# 端口,默认3306
port=3366
# 安装路径
basedir=/usr/local/mysql
# 存储路径
datadir=/mnt/mysql/data
# 设置编码
# character-set-server=utf8
# collation-server=utf8_general_ci
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 默认采用InnoDB存储引擎
default-storage-engine=INNODB
# 设置大小写敏感
lower_case_table_names=1
# sql_mode定义了支持的sql语法、数据校验等
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 最大并行连接数
max_connections=100000[mysql]
# default-character-set = utf8
default-character-set = utf8mb4[mysql.server]
# default-character-set = utf8
default-character-set = utf8mb4[mysqld_safe]
# default-character-set = utf8
default-character-set = utf8mb4[client]
# default-character-set = utf8
default-character-set = utf8mb4
socket=/tmp/mysql.sock
EOF

3.5 设置环境变量

# /usr/local/mysql/bin 换成实际地址
[root@openeuler local]# echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile
[root@openeuler local]# source /etc/profile
[root@openeuler local]# env

3.6 配置 SELinux 安全上下文

[root@openeuler local]# sudo chcon -R -t mysqld_db_t /mnt/mysql/data
[root@openeuler local]# sudo semanage fcontext -a -t mysqld_db_t "/mnt/mysql/data(/.*)?"
[root@openeuler local]# sudo restorecon -Rv /mnt/mysql/data

3.7 配置 systemd 服务

# 创建自启动脚本
[root@openeuler local]# sudo vi /etc/systemd/system/mysqld.service# =============================================================================
# 复制粘贴以下内容:
[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/mnt/mysql/data
RuntimeDirectory=mysqld
RuntimeDirectoryMode=0755[Install]
WantedBy=multi-user.target
# =============================================================================

3.8 启动服务

# 注意:要保证 mysqld 后台服务未启动
# 设置开机自启
[root@openeuler ~]# sudo systemctl daemon-reload
[root@openeuler ~]# sudo systemctl enable mysqld
# 启动服务
[root@openeuler ~]# sudo systemctl start mysqld
# 查看服务状态
[root@openeuler ~]# sudo systemctl status mysqld

五、配置Mysql

# 登录 MySQL
[root@openeuler ~]# mysql -u root -p
Enter password:     ## 初始密码# 重置密码,新密码root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 授权远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
# 刷新策略
mysql> FLUSH PRIVILEGES;#修改密码长度限制策略
mysql> set global validate_password_policy=0;   #--表示将密码安全等级设置为low
mysql> set global validate_password_length=1;   #--表示将密码长度设置为最小6位
mysql> FLUSH PRIVILEGES;# 查看服务编码UTF8
mysql> SHOW VARIABLES LIKE 'character%';
# 查看最大连接数
mysql> SHOW VARIABLES LIKE 'max_connections';
# 查看存储路径
mysql> SHOW VARIABLES LIKE '%datadir%';# 退出
mysql> exit

六、开放防火墙端口

# 查询端口是否开放
[root@openeuler ~]# sudo firewall-cmd --query-port=3306/tcp
[root@openeuler ~]# sudo firewall-cmd --query-port=3366/tcp
# 开放端口(TCP协议)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=3366/tcp --permanent
# 重新加载防火墙规则
[root@openeuler ~]# sudo firewall-cmd --reload
# 验证端口是否开放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt

七、数据备份

Linux 环境下 Mysql 5.7 数据定期备份

八、生产环境优化

生产环境优化 Mysql 5.7

九、常用命令

# 启动服务
sudo systemctl start mysqld
# 查看服务状态
sudo systemctl status mysqld
# 重启服务
sudo systemctl restart mysqld
# 停止服务
sudo systemctl stop mysqld查看版本:mysql -V查看进程:ps -ef | grep mysqld
如果有mysqld_safe和mysqld两个进程,说明MySQL服务当前在启动状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

喷泉码技术在现代物联网中的应用 设计

喷泉码技术在现代物联网中的应用 摘 要 喷泉码作为一种无速率编码技术,凭借其动态生成编码包的特性,在物联网通信中展现出独特的优势。其核心思想在于接收端只需接收到足够数量的任意编码包即可恢复原始数据,这种特性使其特别适用于动态信道和多用户场景。喷泉码的实现主要…

GZIPInputStream 类详解

GZIPInputStream 类详解 GZIPInputStream 是 Java 中用于解压缩 GZIP 格式数据的流类,属于 java.util.zip 包。它是 InflaterInputStream 的子类,专门处理 GZIP 压缩格式(.gz 文件)。 1. 核心功能 解压 GZIP 格式数据(RFC 1952 标准)自动处理 GZIP 头尾信息(校验和、时…

网络编程——TCP和UDP详细讲解

文章目录 TCP/UDP全面详解什么是TCP和UDP&#xff1f;TCP如何保证可靠性&#xff1f;1. 序列号&#xff08;Sequence Number&#xff09;2. 确认应答&#xff08;ACK&#xff09;3. 超时重传&#xff08;Timeout Retransmission&#xff09;4. 窗口控制&#xff08;Sliding Win…

性能测试工具篇

文章目录 目录1. JMeter介绍1.1 安装JMeter1.2 打开JMeter1.3 JMeter基础配置1.4 JMeter基本使用流程1.5 JMeter元件作用域和执行顺序 2. 重点组件2.1 线程组2.2 HTTP取样器2.3 查看结果树2.4 HTTP请求默认值2.5 JSON提取器2.6 用户定义的变量2.7 JSON断言2.8 同步定时器&#…

rabbitMQ如何确保消息不会丢失

rabbitmq消息丢失的三种情况 生产者将消息发送到RabbitMQ的过程中时&#xff0c;消息丢失。消息发送到RabbitMQ&#xff0c;还未被持久化就丢失了数据。消费者接收到消息&#xff0c;还未处理&#xff0c;比如服务宕机导致消息丢失。 解决方案 生产者发送过程中&#xff0c;…

Beetle-RP2350 扩展板设计

Beetle-RP2350 扩展板设计 本文介绍了 DFRobot Beetle RP2350 开发板的扩展板设计&#xff0c;包括参数特点、效果展示、原理图、实物验证、工程测试等&#xff0c;为 RP2350 系列产品的开发提供了便捷。 PCB 工程详见&#xff1a;Beetle-RP2350扩展板 - 立创开源硬件平台 . …

2025年一加7pro刷twpr / magisk / kali nethunter教程+资源下载+避坑指南

从二手市场500淘了一个一加7pro 12+256 ,根据网上教程刷机但很多坑,折腾一周后搞定,记录下给后人避坑 资源下载:链接:https://pan.quark.cn/s/c16b972509f2 提取码:mUW7 本文是主流程+避坑指南,没有基础的需要手把手教学的shell都不会的就别看了,直接放弃或者tb找人花钱…

java HashMap,高效 哈希

java HashMap 有独特的设计。 哈希表数组的每个位置是一个哈希桶&#xff0c;里面由链表或红黑树实现。&#xff08;> 8 或 < 6 的变化时&#xff0c;避免频繁切换&#xff09; 容量&#xff08;capacity&#xff09;&#xff1a; 哈希表中桶&#xff08;bucket&#xf…

【业务领域】计算机网络基础知识

《计算机网络方面有哪些书籍值得推荐&#xff1f;》 知乎扫盲贴&#xff1a; 《网络是怎么链接的》 初识RDMA技术——RDMA概念&#xff0c;特点&#xff0c;协议&#xff0c;通信流程 采样 》 存储 》传输 》处理 》反应 传感器 存储器 接口 算法/cpu 机器

List--链表

一、链表 1.1 什么是List&#xff1f; 在C语言中&#xff0c;我们需要使用结构体struct来进行List(链表&#xff09;的实现&#xff1a; struct ListNode {DataType Data;//DataType是任意类型的变量定义struct ListNode* next;//指向下一个结点的指针变量 }; 与之前的vect…

tensor 的计算操作

1、创建tensor 常见创建 tensor 的方法 函数 作用 torch.Tensor(*size) 通过指定尺寸&#xff0c;生成一个 值全为 0 的 tensor torch.tensor(*list) 直接通过指定数据&#xff0c;生成tensor&#xff0c;支持 List、Numpy数组 torch.eye(row, column) 按照指定的行列数…

【Java面试题04】MySQL 篇

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、MySQL 篇&#xff1a;☀️☀️☀️1、MySQL 是如何实现事务的? 后序还在更新中~~~三、总结&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 你每一…

UDP/TCP协议知识及相关机制

一.UDP协议 UDP是一种无连接、不可靠、面向报文、全双工传输层的协议~ 1.无连接 &#xff1a; 知道对端的端口号和IP可以直接传输&#xff0c;不需要建立连接 2..不可靠&#xff1a;没有确认机制&#xff0c;没有重传机制&#xff0c;不知道数据包能否能正确到达对端&#xff0…

【AI面试准备】语言模型、语音、多模态等模型能力评估指标和能力边界

面试岗位提出这个要求:掌握语言模型、语音、多模态等模型能力评估指标和能力边界。 以下是针对语言模型、语音模型、多模态模型能力评估指标与能力边界的结构化总结,结合高频面试考点和实际应用场景: 目录 **一、语言模型(LLM)评估与边界**1. **核心评估指标**2. **能力边…

优雅关闭服务:深入理解 SIGINT / SIGTERM 信号处理机制

目录 为什么需要优雅关闭&#xff1f; 什么是 SIGINT 和 SIGTERM&#xff1f; 如何实现优雅关闭&#xff08;以 C 为例&#xff09; 示例代码&#xff08;gRPC 服务 Boost 信号监听&#xff09;&#xff1a; 优雅关闭时的清理内容通常包括&#xff1a; 与 SIGKILL 的区别…

容器化-Docker-集群

一、Docker 集群基础概念​ 1、什么是 Docker 集群​ Docker 集群是由多个 Docker 主机组成的集合,这些主机通过网络连接在一起,共同管理和运行容器。在集群中,我们可以将容器服务均匀地分布到各个节点上,实现负载均衡和资源的高效利用。Docker 集群的核心组件包括管理器…

关于kafka

1.为什么需要消息队列 举个经典的例子。 你是一个网购达人&#xff0c;经常在网上购物。快递小哥到了你的小区后&#xff0c;立刻给你打电话说&#xff1a;“你的快递到了&#xff0c;请马上来取。” 但你是一个合格的牛马&#xff0c;在上班&#xff0c;不方便取快递&#…

微服务即时通信系统(十二)---入口网关子服务

目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程 网关HTTP接口 网关WebSocket接口 总体流程 服务代码实现 客户端长连接管理封装(connectionManage.hpp) proto文件的编写 身份鉴权proto 事件通知proto 各项请求的URL的确定 服务端完成入口网关服务类…

存储器层次结构:理解计算机记忆的金字塔

存储器层次结构&#xff1a;理解计算机记忆的金字塔 在计算机系统中&#xff0c;“速度”与“成本”常常处于对立面。为了在速度与成本之间取得平衡&#xff0c;计算机体系结构采用了一种名为“存储器层次结构&#xff08;Memory Hierarchy&#xff09;”的设计思想。本文将通…

HTTP 错误 500.19 - Internal Server Error

1.HTTP 错误 500.19 - Internal Server Error NetCore项目托管到IIS后&#xff0c;报错如下&#xff1a; 原因是因为IIS中没有安装AspNetCoreModuleV2导致的&#xff0c; 1.打开IIS 2.选中服务器根节点&#xff0c;找到模块&#xff0c;双击进入&#xff0c;确认模块中是否存…