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 服务了
在这里插入图片描述

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

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

相关文章

js 数组 按列循环二维数组

期待效果&#xff1a; 核心代码&#xff1a; //js function handle(array) {var result [];for (let i 0; i < array[0].length; i) {var item []; for (let j 0; j < array.length; j) {item.push(array[j][i])} result.push(item);} return result; } 运行代码&a…

酷开科技 | 酷开系统打破客厅局限让大家享受更智能便捷的服务

曾经电视是家庭场景中的重要屏幕&#xff0c;是家庭发现世界和获取资讯的中心。但经历了近一百年的发展&#xff0c;传统电视行业进入瓶颈期&#xff0c;电视在家庭中的地位被逐渐替代。特别是智能手机的诞生&#xff0c;让手机成为个人生活的中心和全社会关注焦点&#xff0c;…

STM32F7 MPU Cache的原理和一致性问题

目录 概述 1 Cache 及其原理 2 结构及策略 2.1 Cache类型 2.2 Cache实例 3 Cache 及 MPU 属性 4 Cache 一致性问题 4.1 未Clean写Cache情况 4.2 DMA 更新物理内存情况 4.3 一个实例 4.3.1 功能描述 4.3.2 代码实现 4.3.3 结论 概述 本文主要从结构原理以及应用方…

接口自动化测试(python+pytest+requests)

一、选取自动化测试用例 优先级高:先实现业务流程用例、后实现单接口用例功能较稳定的接口优先开展测试用例脚本的实现二、搭建自动化测试环境 核心技术:编程语言:python;测试框架:pytest;接口请求:requests安装/验证requests:命令行终端分别输入 pip install requests / p…

助力低碳出行 | 基于ACM32 MCU的电动滑板车方案

随着智能科技的快速发展&#xff0c;电动滑板车的驱动系统也得到了长足的发展。国内外的电动滑板车用电机驱动系统分为传统刷式电机和无刷电机两种类型。其中&#xff0c;传统的刷式电机已经逐渐被无刷电机所取代&#xff0c;无刷电机的性能和寿命都更出色&#xff0c;已成为电…

蓝桥杯-单片机基础16——利用定时计数中断进行动态数码管的多窗口显示

综合查阅了网络上目前能找到的所有关于此技能的代码&#xff0c;最终找到了下述方式比较可靠&#xff0c;且可以自定义任意显示的数值。 传统采用延时函数的方式实现动态数码管扫描&#xff0c;在题目变复杂时效果总是会不佳&#xff0c;因此在省赛中有必要尝试采用定时计数器中…

HCIP课后习题之一

1、路由协议用工作机制上分为那几种&#xff1f;分别是&#xff1f; A&#xff1a;两种。分别是静态路由和动态路由&#xff08;可分为IGP和EGP&#xff09; 2、IGP和EGP协议有哪些&#xff1f; A&#xff1a;IGP: RIP、OSPF、ISIS、EIGRP EGP: BGP 3、路由优先级的用途&…

嵌入式学习52-ARM1

知识零散&#xff1a; 1.flash&#xff1a; nor flash 可被寻地址 …

如何设置端口映射?

端口映射是一种网络技术&#xff0c;通过在网络路由器或防火墙上设置规则&#xff0c;将外部网络请求转发到内部特定设备或服务的端口上。这样可以实现不同地区电脑与电脑、设备与设备、电脑与设备之间的信息远程通信&#xff0c;提供更加便捷的网络连接。 2. 天联组网 天联是…

Day:005 | Python爬虫:高效数据抓取的编程技术(爬虫效率)

爬虫之多线程-了解 单线程爬虫的问题 因为爬虫多为IO密集型的程序&#xff0c;而IO处理速度并不是很快&#xff0c;因此速度不会太快如果IO卡顿&#xff0c;直接影响速度 解决方案 考虑使用多线程、多进程 原理&#xff1a; 爬虫使用多线程来处理网络请求&#xff0c;使用线程…

废品回收 小程序+APP

用户实名认证、回收员实名认证、后台审核、会员管理、回收员管理、订单管理、提现管理、地图、档案管理。 支持&#xff0c;安卓APP、苹果APP、小程序 流程&#xff1a; 一、用户端下单&#xff0c;地图选择上门位置、填写具体位置、废品名称、预估重量、选择是企业废旧、家…

MySQL - 掌握MySQL锁的必备知识

1. 多个事务更新同一行数据时是如何加锁避免脏写? 当有多个事务同时并发更新一行数据的时候,不就是会有脏写的问题吗?那么脏写是靠什么防止的呢? 其实就是靠锁机制,依靠锁机制让多个事务更新一行数据的时候串行化,避免同时更新一行数据。 在MySQL里,假设有一行数据摆…

基于JAVA的校园失物招领平台

采用技术 基于JAVA的校园失物招领平台的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringMVCMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员功能 论坛管理 失物认领管理 寻物启事管理 用户管理 失物…

neo4j-01

Neo4j是&#xff1a; 开源的&#xff08;社区版开源免费&#xff09;无模式&#xff08;不用预设数据的格式&#xff0c;数据更加灵活&#xff09;noSQL&#xff08;非关系型数据库&#xff0c;数据更易拓展&#xff09;图数据库&#xff08;使用图这种数据结构作为数据存储方…

基于java的某超市进销存管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

lovesql 手工sql注入

1.页面 2.万能密码登录成功 我还傻乎乎的以为密码就是flag 但不是 3. 继续注入 判断列数 确定了只有三列 开始尝试联合注入 4.使用联合注入之前先判断显示位 5.之后一步一步的构造&#xff0c;先得到当前数据库名 利用database&#xff08;&#xff09; 再得到库里有哪些表 …

前端保留两位小数

一、保留两位小数&#xff08;四舍五入&#xff09; 解决方案&#xff1a;使用 toFixed(x) 方法可以对小数进行指定位数保留&#xff0c;其中x是要保留的位数用法&#xff1a;num.toFixed(x)&#xff0c;其中num为需要操作的数据&#xff0c;x为要保留的位数示例&#xff1a;1…

20240410解决OK3588-C的核心板刷机之后无法启动的问题

20240410解决OK3588-C的核心板刷机之后无法启动的问题 2024/4/10 19:38 1、编译OK3588的LINUX/Buildroot&#xff1f;forlinxubuntu: ~/3588/OK3588_Linux_fs$ sudo ./build.sh BoardConfig-linuxfs-ok3588.mk 2、进行全编译 forlinxubuntu: ~/3588/OK3588_Linux_fs$ sudo ./bu…

互联网轻量级框架整合之MyBatis核心组件

在看本篇内容之前&#xff0c;最好先理解一下Hibernate和MyBatis的本质区别&#xff0c;这篇Hibernate和MyBatis使用对比实例做了实际的代码级对比&#xff0c;而MyBatis作为更适合互联网产品的持久层首选必定有必然的原因 MyBatis核心组件 MyBatis能够成为数据持久层首选框&a…

每日一题(leetcode1702):修改后的最大二进制字符串--思维

找到第一个0之后&#xff0c;对于后面的子串&#xff08;包括那个0&#xff09;&#xff0c;所有的0都能调上来&#xff0c;然后一一转化为10&#xff0c;因此从找到的第一个0的位置开始&#xff0c;接下来是&#xff08;后半部分子串0的个数-1&#xff09;个1&#xff0c;然后…