Linux CentOS 安装 MySQL 服务教程
Linux CentOS 安装 MySQL 服务教程
1. 查看系统和GNU C库(glibc)版本信息
1.1 查询机器 glibc 版本信息
glibc,全名GNU C Library,是大多数Linux发行版中使用的C库,为系统和应用程序提供核心的API接口。在Linux系统中,特别是在需要编译或运行依赖特定版本glibc的软件时,了解当前安装的glibc版本是非常重要的。
要查看CentOS 7系统中glibc的版本信息,你可以通过执行命令行指令来实现。以下是一些获取glibc版本信息的方法:
- 使用
ldd
命令:ldd
命令通常用于打印程序或文件所以来的共享库列表,但也可以用来查看 glibc 的版本信息。
执行命令:
这个命令会打印出ldd的版本信息,它通常与glibc的版本相匹配。输出的第一行会显示glibc的版本号,操作后如下所示:ldd --version
- 查询 glibc 包的版本: 在基于RPM的系统(如CentOS)中,glibc作为一个软件包安装。你可以使用
rpm
命令查询 glibc 包的版本信息。
执行命令:
这个命令会返回已安装的glibc软件包的版本信息。rpm -a glibc
如下所示:
1.2 查询系统 CPU 架构信息
lscpu
命令在 Linux 系统中用于显示 CPU 架构信息,包括CPU的类型、核心数、每个核心的线程数、CPU的家族、型号等详细信息。这个命令聚合了从系统的多个资源(如/proc/cpuinfo
文件)收集的信息,以便为用户提供一个用于系统CPU配置的全面视图。
以下是lscpu
能够提供的一些关键信息:
- 架构:显示处理器架构,比如x86_64表示64位处理器。
- CPU运行模式:显示 CPU 支持的运行模式,通常是32位或64位。
- CPU数量:物理CPU数量。
- 每个CPU的核心数:每个物理CPU中核心的数量。
- 每个核心的线程数:每个核心能够同时处理的线程数,有助于了解CPU的超线程技术。
- CPU家族和型号:提供CPU的制造商、家族和具体型号信息。
- 缓存大小:显示CPU缓存的大小,这对于评估处理器性能非常重要。
如下所示:
2. 根据系统版本信息下载合适的 MySQL 服务
从上面的截图中可以看到,我本地的系统是架构是 aarch64
,glibc 版本是 glibc-2.17-317.el7.aarch64
,访问 MySQL 服务下载的官网:https://dev.mysql.com/downloads/mysql/
下载对应的版本如下所示:
下载好后,可以用 scp
命令将安装包上传至服务器中。
安装 MySQL 服务
-
解压压缩包
使用命令tar -xvf mysql-8.0.36-linux-glibc2.17-aarch64.tar.xz
-
移动MySQL文件
将解压后的文件重命名,并移动到你指定的目录下
mv mysql-8.0.36-linux-glibc2.17-aarch64 mysql-8.0.36
-
添加用户和用户组
添加mysql用户和用户组:useradd mysql
-
创建 mysql 数据目录
使用命令mkdir data
创建数据目录,如下所示:
并修改权限:chown mysql:mysql -R /opt/mysql/mysql-8.0.36
-
在MySQL目录下创建my.cnf文件
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/opt/mysql/mysql-8.0.36 datadir=/opt/mysql/mysql-8.0.36/data socket=/opt/mysql/mysql-8.0.36/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd character_set_server=utf8 log-error=/opt/mysql/mysql-8.0.36/logs/mysql.log pid-file=/opt/mysql/mysql-8.0.36/logs/mysql.pid# # include all files from the config directory # # !includedir /etc/my.cnf.d
-
初始化 mysql
命令如下:
/opt/mysql/mysql-8.0.36/bin/mysqld --defaults-file=/opt/mysql/mysql-8.0.36/my.cnf --basedir=/opt/mysql/mysql-8.0.36/ --datadir=/opt/mysql/mysql-8.0.36/data/ --user=mysql --initialize -
查看数据库密码
-
安装 MySQL 服务
创建 systemd 服务文件,在 /etc/systemd/system/ 目录下,创建 mysql8.service 文件:[Unit] Description=MySQL 8 Server After=network.target After=syslog.target[Install] WantedBy=multi-user.target[Service] User=mysql Group=mysql ExecStart=/opt/mysql/mysql-8.0.36/bin/mysqld --defaults-file=/opt/mysql/mysql-8.0.36/my.cnf LimitNOFILE = 5000
确保 ExecStart 中的路径指向你的 mysqld 可执行文件的位置,并且 --defaults-file 参数指向正确的配置文件。
重新加载 systemd 配置,让 systemd 识别新的服务:
sudo systemctl daemon-reload
启动 MySQL 服务:
sudo systemctl start mysql8
设置开机自启:
sudo systemctl enable mysql8 -
登录数据库
使用命令 /opt/mysql/mysql-8.0.36/bin/mysql -u root -p 如果使用 mysql -u root -p 需自行配置环境变量
输入之前初始化时候的密码,如果日志路径配置正确,密码会打印在日志中,如下所示:
如果之前修改了 socket file,需要执行 /opt/mysql/mysql-8.0.36/bin/mysql -u root -p --socket=/opt/mysql/mysql-8.0.36/mysql.sock 命令连接数据库,连上之后如下所示:
-
修改登录密码,并允许从任意主机连接
执行以下SQL命令修改密码:# 进入mysql库 use mysql; # 重新设置root用户密码为你想要设置的密码, 这里只能本地登录,可以将 localhost 替换成 % alter user 'root'@'localhost' identified with mysql_native_password BY '12345678'; # 刷新用户权限信息 flush privileges;
-
开放 3306 端口允许远程连接
firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload
登录 mysql,执行如下命令允许 root 账号可以远程登录:
use mysql; update user set host = '%' where host = 'localhost' and user = 'root'; flush privileges;
修改后可以看到:
之后通过 sqlyog 或其他连接工具连接即可:
其他问题
通过设置别名来连接特定的 mysql 服务
由于上面的安装方法是在自定义的目录中保存的,如果本地安装了多个 MySQL 服务,通过设置环境变量我们不好决定要连接哪个版本的 MySQL,如果你只是偶尔需要使用这个特定版本的 MySQL 客户端,或者你不想修改 PATH 环境变量,设置一个别名(alias)可能是一个更简单的选择。
- 打开你的 shell 配置文件。同样地,根据你的 shell 和 Linux 发行版,找到对应的配置文件:~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.profile 等。
- 在文件中添加一个别名。在文件的末尾,添加以下行:
这会创建一个名为 mysql 的别名,当你在命令行中输入 mysql 时,实际上会调用你指定的路径下的 MySQL 客户端。alias mysql8='/opt/mysql/mysql-8.0.36/bin/mysql --socket=/opt/mysql/mysql-8.0.36/mysql.sock'
- 保存文件并重新加载配置。保存你的配置文件后,使用下面的命令使改动生效:
source ~/.bashrc
之后我们可以直接使用命令 mysql8 -u root -p
来连接我们的 MySQL 服务了
相关文章:

Linux CentOS 安装 MySQL 服务教程
Linux CentOS 安装 MySQL 服务教程 1. 查看系统和GNU C库(glibc)版本信息 1.1 查询机器 glibc 版本信息 glibc,全名GNU C Library,是大多数Linux发行版中使用的C库,为系统和应用程序提供核心的API接口。在Linux系统中,特别是在…...

MSSQL 命令行操作说明 sql server 2022 命令行下进行配置管理
说明:本文的内容是因为我在导入Access2019的 *.accdb 格式的数据时,总是出错的背景下,不得已搜索和整理了一下,如何用命令行进行sql server 数据库和用户管理的方法,作为从Access2019 直接导出数据到sql server 数据库…...

【系统分析师】系统安全分析与设计
文章目录 1、安全基础技术1.1 密码相关1.1.1对称加密1.1.2非对称加密1.1.3信息摘要1.1.4数字签名1.1.5数字信封 1.2 PKI公钥体系 2、信息系统安全2.1 保障层次2.2 网络安全2.2.1WIFI2.2.2 网络威胁与攻击2.2.3 安全保护等级 2.3计算机病毒与木马2.4安全防范体系 1、安全基础技术…...

ActiveMQ 07 集群配置
Active MQ 07 集群配置 官方文档 http://activemq.apache.org/clustering 主备集群 http://activemq.apache.org/masterslave.html Master Slave TypeRequirementsProsConsShared File System Master SlaveA shared file system such as a SANRun as many slaves as requ…...

Redis(哨兵模式)
什么是哨兵机制 问题: redis 主从复制模式下, 一旦主节点由于故障不能提供服务, 需要人工进行主从切换, 同时大量客户端需要被通知切换到新的主节点上, 对于有一定规模的应用来说, 对于人力的资源消耗会很大.解决: 通过哨兵对主从结构进行监控, 一旦出现主节点挂了的情况, 自动…...
一种基于镜像指示位办法的RingBuffer实现,解决Mirror和2的幂个数限制
简介 在嵌入式开发中,经常有需要用到RingBuffer的概念,在RingBuffer中经常遇到一个Buffer满和Buffer空的判断的问题,一般的做法是留一个单位的buffer不用,这样做最省事,但是当RingBuffer单位是一个结构体时࿰…...

【Java开发指南 | 第十一篇】Java运算符
读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 算术运算符关系运算符位运算符逻辑运算符赋值运算符条件运算符(?:)instanceof 运算符Java运算符优先级 Java运算符包括:算术运算符、关系运算符、位运算符、逻辑运算符、赋值…...

【IC前端虚拟项目】验证环境方案思路和文档组织
【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 对于mvu的验证环境,从功能角度就可以分析出需要搭建哪些部分,再看一下mvu的周围环境哈: 很明显验证环境必然要包括几个部分: 1.模拟idu发送指令; 2.模拟ram/ddr读写数据; 3.rm模拟mvu的行为; …...

程序设计|C语言教学——C语言基础1:C语言的引入和入门
一、程序的执行 1.定义 解释:借助一个程序,那个程序能够试图理解你的程序,然后按照你的要求执行。下次执行的时候还需要从零开始解释。 编译:借助一个程序,能够像翻译官一样,把你的程序翻译成机器语言&a…...

初学python记录:力扣928. 尽量减少恶意软件的传播 II
题目: 给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示。在节点网络中,只有当 graph[i][j] 1 时,节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点直接连接,…...

LlamaIndex 组件 - Storing
文章目录 一、储存概览1、概念2、使用模式3、模块 二、Vector Stores1、简单向量存储2、矢量存储选项和功能支持3、Example Notebooks 三、文件存储1、简单文档存储2、MongoDB 文档存储3、Redis 文档存储4、Firestore 文档存储 四、索引存储1、简单索引存储2、MongoDB 索引存储…...

在Linux系统中设定延迟任务
一、在系统中设定延迟任务要求如下: 要求: 在系统中建立easylee用户,设定其密码为easylee 延迟任务由root用户建立 要求在5小时后备份系统中的用户信息文件到/backup中 确保延迟任务是使用非交互模式建立 确保系统中只有root用户和easylee用户…...

JVM之方法区的详细解析
方法区 方法区:是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、即时编译器编译后的代码等数据,虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是也叫 Non-Heap(非堆) 设置方法…...
Go 使用ObjectID
ObjectID介绍 MongoDB中的ObjectId是一种特殊的12字节 BSON 类型数据,用于为主文档提供唯一的标识符,默认情况下作为 _id 字段的默认值出现在每一个MongoDB集合中的文档中。以下是ObjectId的具体组成: 1. 时间戳(Timestamp&…...

基于SpringBoot+Vue的疾病防控系统设计与实现(源码+文档+包运行)
一.系统概述 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对疾病防控信息管理的提升&a…...

2024年阿里云4核8G配置云服务器价格低性能高!
阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R) Platinum处理器,阿里云优惠 aliyunfuwuqi…...
关于ContentProvider这一遍就够了
ContentProvider是什么? ContentProvider是Android四大组件之一,主要用于不同应用程序之间或者同一个应用程序的不同部分之间共享数据。它是Android系统中用于存储和检索数据的抽象层,允许不同的应用程序通过统一的接口访问数据,…...
《1w实盘and大盘基金预测 day23》
这几天预测错麻了,哈哈哈,完全和技术没关系,全是消息面。 昨日预测: 2958-2984-3010 证券继续下跌,昨天诱多把我诱惑进去了(看2-3天的反弹也没了),今天直接出掉昨天买的。 整体操作…...

向量数据库与图数据库:理解它们的区别
作者:Elastic Platform Team 大数据管理不仅仅是尽可能存储更多的数据。它关乎能够识别有意义的见解、发现隐藏的模式,并做出明智的决策。这种对高级分析的追求一直是数据建模和存储解决方案创新的驱动力,远远超出了传统关系数据库。 这些创…...

WIN7用上最新版Chrome
1.下载WIN10最新版Chrome的离线安装包 谷歌浏览器 Chrome 最新版离线安装包下载地址 v123.0.6312.123 - 每日自动更新 | 异次元软件 文件名称:123.0.6312.123_chrome_installer.exe。 123.0.6312.123_chrome_installer.exe 文件右键解压缩得到 chrome.7z&#x…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...