当前位置: 首页 > news >正文

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版本信息的方法:

  1. 使用ldd命令ldd命令通常用于打印程序或文件所以来的共享库列表,但也可以用来查看 glibc 的版本信息。
    执行命令:
    ldd --version
    
    这个命令会打印出ldd的版本信息,它通常与glibc的版本相匹配。输出的第一行会显示glibc的版本号,操作后如下所示:
    在这里插入图片描述
  2. 查询 glibc 包的版本: 在基于RPM的系统(如CentOS)中,glibc作为一个软件包安装。你可以使用 rpm 命令查询 glibc 包的版本信息。
    执行命令:
    rpm -a glibc
    
    这个命令会返回已安装的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 服务

  1. 解压压缩包
    使用命令 tar -xvf mysql-8.0.36-linux-glibc2.17-aarch64.tar.xz

  2. 移动MySQL文件
    将解压后的文件重命名,并移动到你指定的目录下
    mv mysql-8.0.36-linux-glibc2.17-aarch64 mysql-8.0.36

  3. 添加用户和用户组
    添加mysql用户和用户组:useradd mysql
    在这里插入图片描述

  4. 创建 mysql 数据目录
    使用命令mkdir data创建数据目录,如下所示:
    在这里插入图片描述
    并修改权限:chown mysql:mysql -R /opt/mysql/mysql-8.0.36

  5. 在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
    

    在这里插入图片描述

  6. 初始化 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

  7. 查看数据库密码
    在这里插入图片描述

  8. 安装 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

  9. 登录数据库
    使用命令 /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 命令连接数据库,连上之后如下所示:
    在这里插入图片描述

  10. 修改登录密码,并允许从任意主机连接
    执行以下SQL命令修改密码:

    # 进入mysql库
    use mysql;
    # 重新设置root用户密码为你想要设置的密码, 这里只能本地登录,可以将 localhost 替换成 %
    alter user 'root'@'localhost' identified with mysql_native_password BY '12345678';
    # 刷新用户权限信息
    flush privileges;
    

    在这里插入图片描述

  11. 开放 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)可能是一个更简单的选择。

  1. 打开你的 shell 配置文件。同样地,根据你的 shell 和 Linux 发行版,找到对应的配置文件:~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.profile 等。
  2. 在文件中添加一个别名。在文件的末尾,添加以下行:
    alias mysql8='/opt/mysql/mysql-8.0.36/bin/mysql --socket=/opt/mysql/mysql-8.0.36/mysql.sock'
    
    这会创建一个名为 mysql 的别名,当你在命令行中输入 mysql 时,实际上会调用你指定的路径下的 MySQL 客户端。
  3. 保存文件并重新加载配置。保存你的配置文件后,使用下面的命令使改动生效:
    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单位是一个结构体时&#xff0…...

【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 最初被恶意软件感染。只要两个节点直接连接&#xff0c…...

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…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...