离线linux服务器安装mysql8

news/2024/5/16 5:02:11/文章来源:https://blog.csdn.net/ck00888/article/details/137015122

本文的服务器环境:openEuler毛坯版的,很多常用的指令都没有预装,比如rpm、tar等等,没有网络坏境,需要自己手动配置本地yum仓库,安装相关指令

 1、检查服务器是否已经安装了MySQL

        1.1、查询mysql以安装的相关依赖:
rpm -qa | grep mysql

        如图所示:

        将查询出的安装程序使用rpm命令依次卸载:

rpm -e mysql-xxxxxxx --nodeps
1.2、查找含有MySQL的目录
find / -name mysql

        如图所示:

        使用 rm -rf 命令, 删除上方的mysql相关目录依(根据自己查找出来的目录进行依次删除):

 2、下载mysql8的tar版本,即解压版

        点击下载版本包:mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

3、上传服务器(/home)并解压

  •   解压:
  • tar -xvf  mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
  •   转移及重命名:
  • mv mysql-8.0.30-linux-glibc2.12-x86_64  /usr/local/mysql8
  •   授权:chown -R  [所有者]:[组]  [目录或文件路径]
  • chown  -R  mysql:mysql  /usr/local/mysql8
     
    •   4、配置mysql所需的my.cnf文件

      •            4.1、在/etc/目录下添加my.cnf文件:
        • vi /etc/my.cnf

              配置文件内容:配置文件中的目录根据自己的实际情况可以做修改

          • # 优先读取/etc/my.cnf.d目录下配置文件,一般用不着
            #!includedir /etc/my.cnf.d# 客服端设置
            [client]# 服务套接字位置
            socket=/mnt/data/mysql/mysql.sock[mysqld]# 数据目录,路径的位置根据实际情况配置,给目录指定权限,否真会报权限问题
            datadir=/mnt/data/mysql/mysql-data# mysql端口号
            port = 3306# 日志文件输出,需要给目录配置权限,否则会报目录权限问题
            log-error=/mnt/data/mysql/mysql-logs/mysql.log# 不区分大小写
            # MySQL在Windows上会将所有的表名和数据库名转换为小写,并且在查询时不区分大小写。这有助于在不同操作系统之间移植数据库
            lower_case_table_names=1# 服务套接字位置,需要给目录配置权限
            socket=/mnt/data/mysql/mysql.sock# 是否与旧版本的客户端兼容,可能需要将此参数设置为mysql_native_password
            # default_authentication_plugin=mysql_native_password# 最大传输如果数据包超过这个大小,MySQL会报错
            # max_allowed_packet=64M# 最大连接并发数据量
            # max_connections=1000
            
                    4.2、给my.cnf配置文件中指定的目录配置权限:(否则会在初始化时或是启动时出现问题,如果出现问题,应该实时查看初始化时与启动时的mysql.log日志)
          • chown -R mysql:mysql /mnt/data/mysql/mysql-data
            chown -R 755  /mnt/data/mysql/mysql-datachown -R mysql:mysql /mnt/data/mysql/mysql-logs
            chmod -R 755 /mnt/data/mysql/mysql-logschown -R mysql:mysql /mnt/data/mysql
            chown -R 755  /mnt/data/mysql
            

            5、配置命令

            • 设置命令,方便命令操作,软链接执行mysql8下对应命令文件,执行下面所有的指令

              • ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysqlln -snf /usr/local/mysql8/bin/mysqld /usr/sbin/mysqld ln -snf /usr/local/mysql8/bin/mysqladmin /usr/bin/mysqladminln -snf /usr/local/mysql8/bin/mysqlbinlog /usr/bin/mysqlbinlogln -snf /usr/local/mysql8/bin/mysqlcheck /usr/bin/mysqlcheckln -snf /usr/local/mysql8/bin/mysql_config_editor /usr/bin/mysql_config_editorln -snf /usr/local/mysql8/bin/mysqldump /usr/bin/mysqldumpln -snf /usr/local/mysql8/bin/mysqldumpslow /usr/bin/mysqldumpslowln -snf /usr/local/mysql8/bin/mysqlimport /usr/bin/mysqlimportln -snf /usr/local/mysql8/bin/mysqlpump /usr/bin/mysqlpumpln -snf /usr/local/mysql8/bin/mysql_secure_installation /usr/bin/mysql_secure_installationln -snf /usr/local/mysql8/bin/mysqlshow /usr/bin/mysqlshowln -snf /usr/local/mysql8/bin/mysqlslap /usr/bin/mysqlslapln -snf /usr/local/mysql8/bin/mysql_tzinfo_to_sql /usr/bin/mysql_tzinfo_to_sqlln -snf /usr/local/mysql8/bin/mysql_upgrade /usr/bin/mysql_upgrade
                

                到此输入以下命令可以查看版本:

            • mysql -V
              mysqld  -V
              

              此步骤只有一台服务器遇到问题,是因为系统依赖坏境问题,缺少什么依赖库:

            • 如何跟新依赖库自行百度即可,本文是从本地的yum仓库中进行安装的:

              yum --disablerepo="*" --enablerepo="local" install ncurses-compat-libs

              此问题理论上是不影响向下继续操作的,如有强迫症对应的error可以百度

            • 6、修改系统配置

            • 6.1、修改配置文件:/etc/profile

              • vi  /etc/profile

                在最后追加:

              • # add mysqlexport PATH=$PATH:/usr/local/mysql8/bin
                6.2、配置启动项
                从mysql8下拷贝mysql.server到/etc/init.d目录下:
              • cp /usr/local/mysql8/support-files/mysql.server  /etc/init.d/mysqld

                修改/etc/init.d/mysqld的基础路径:

              • vi  /etc/init.d/mysqld

                修改目录位置:

              • basedir=/usr/local/mysql8 (安装路径)
                datadir=/mnt/data/mysql/mysql-data  (与配置文件保持一致)
                

                确保service mysql mysqld  start均可启动:

              • cp  /etc/init.d/mysqld  /etc/init.d/mysql

                 添加到启动列表:

chkconfig --add mysqld

刷新启动信息:

systemctl daemon-reload

查看启动项列表

 chkconfig –list

如图所示:

7、 初始化mysql服务

初始化命令:--basedir:根据实际mysql安装路径

mysqld --user=mysql --basedir=/usr/local/mysql8 --initialize 

        初始化后,查看mysqld.log(默认/var/log/mysqld.log或本文取决于my.cnf的日志路径配置),找到root初始密码,在执行上方initialize语句时mysqld.log文件中就会打印,如图:

启动mysql:

service mysqld start

使用root登录:

mysql -uroot  -p

首次需要修改密码 :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY  '新密码';

问题总结:


  • chown: invalid user: ?𻱭ysql:mysql?
    • 原因:这个错误表示在系统中没有找到名为mysql的用户或组
    • 解决方式:
      • 创建新用户:useradd mysql
        • 有时候创建用户的同时也会自动创建同名的组。
        • 创建新组:groupadd mysql

  • mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
    • 这个错误信息表明您在尝试运行MySQL客户端(mysql)时,系统无法找到名为libtinfo.so.5的共享库文件。这通常发生在新安装或升级MySQL后,尤其是当系统上缺少某些必需的库文件时。libtinfo.so.5ncurses库的一部分,它提供了终端处理功能,许多命令行和文本界面程序都依赖于它。不同版本的Linux发行版可能会预装不同版本的libtinfo,并且新版本的Linux可能不包含旧版本的libtinfo.so.5
    • 解决方式:
      • 以配置本地yum仓库: yum --disablerepo="*" --enablerepo="local" install ncurses-compat-libs
      • 有网环境:yum install ncurses-libs     
  • Could not open file '/mnt/data/mysql/mysql-logs/mysql.log' for error logging: Permission denied
    • /mnt/data/mysql/mysql-logs/ 这个目录下权限不够
    • 解决方式
      • 执行:
        • chown -R mysql:mysql /mnt/data/mysql/mysql-data/
        • chown -R 755 /mnt/data/mysql/mysql-data/
        • chown -R 755 /mnt/data/mysql/mysql-logs/
        • chown -R mysql:mysql /mnt/data/mysql/mysql-logs/

  • Starting MySQL.... ERROR! The server quit without updating PID file (/mnt/data/mysql/mysql-data/localhost.localdomain.pid).
    • /mnt/data/mysql/mysql-data这个目录权限不够
    • 解决方式
      • 执行:
        • chown -R 755 /mnt/data/mysql/
        • chown -R mysql:mysql /mnt/data/mysql/

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

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

相关文章

NRF52832修改OTA升级时的bootloader蓝牙MAC

NRF52832在OTA升级时,修改了APP的蓝牙MAC会导致无法升级,原因是OTA程序的蓝牙MAC没有被修改所以手机扫描蓝牙时无法连接 解决办法 在bootloader的程序里面加入修改蓝牙mac地址的代码实现原理: 在bootloader蓝牙广播开启之前修改蓝牙mac 通…

无人车网关案例:记SV900无人清扫车网关的现场应用

​随着无人驾驶技术的不断发展,无人车辆已经开始广泛应用于物流配送、环境保洁、巡逻监控等众多领域,助力城市运营更加高效智能。而要实现无人车辆的安全可靠运行,关键在于选择一款性能卓越的车载网络通信系统.在这一背景下,星创易联推出了SV900无人车网关系列产品。它集5G/4G网…

算法打卡day17

今日任务: 1)654.最大二叉树 2)617.合并二叉树 3)700.二叉搜索树中的搜索 4)98.证二叉搜索树 654.最大二叉树 题目链接:654. 最大二叉树 - 力扣(LeetCode) 给定一个不含重复元素的整…

计算机网络数据链路层知识总结

物理层知识总结传送门 计算机网络物理层知识点总结-CSDN博客 功能 功能概述 一些基本概念 结点:主机、路由器链路﹔网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。数据链路︰网络中两个结点之间的逻辑通道&a…

HarmonyOS实战开发-如何实现一个自定义抽奖圆形转盘

介绍 本篇Codelab是基于画布组件、显式动画,实现的一个自定义抽奖圆形转盘。包含如下功能: 通过画布组件Canvas,画出抽奖圆形转盘。通过显式动画启动抽奖功能。通过自定义弹窗弹出抽中的奖品。 相关概念 Stack组件:堆叠容器&am…

STM32第十节(中级篇):EXTI(第一节)——EXTI功能框图及初始化结构体讲解(包括STM32中断应用总结)

目录 前言 STM32第十节(中级篇):EXTI(第一节)——EXTI功能框图及初始化结构体讲解(包括STM32中断应用总结) EXTI功能框图 EXTI初始化结构体讲解 STM32中断应用总结 NVIC介绍 优先级 优先…

后端常问面经之并发

volatile 关键字 volatile关键字是如何保证内存可见性的?底层是怎么实现的? "观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令”lock前缀指令实际上相…

Radash一款JavaScript最新的实用工具库,Lodash的平替!

文章目录 Lodash 的痛点进入正题--Radash特点 举例几个常用的api 一说lodash应该大部分前端同学都知道吧,陪伴我们好多年的JavaScript工具库,但是自从 ES6 出现后就慢慢退出前端人的视线,能ES6写的代码绝对不会用Lodash,也不是完全…

C#预处理器指令(巨细版)

文章目录 一、预处理器指令的基本概念二、预处理器指令的基本规则三、C# 预处理器指令详解3.1 #define 和 #undef3.2 #if、#else、#elif 和 #endif3.3 #line3.4 #error 和 #warning3.5 #region 和 #endregion 四、高级应用:预处理器指令的最佳实践4.1 条件编译的最佳…

PS从入门到精通视频各类教程整理全集,包含素材、作业等复发(2)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 初级教程素材 等文件 https://www.alipan.com/s/fC…

【edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法】

edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法 edge浏览器无法登录某些网站,但chrome浏览器可以登录浏览器插件无法使用,比如迅雷如果重装插件重装浏览器重装迅雷后仍然出现问题 edge浏览器无法登录某些网站,但chro…

【生活】如何学习理财

文章目录 1. 了解基本财务知识2. 制定预算4321理财法则 3. 学习投资知识股票债券基金外汇房地产 4. 了解保险知识人身保险人寿保险健康保险意外伤害保险 财产保险财产损失保险责任保险信用保险 5. 寻求专业建议6. 持续学习和实践参考 首先我们想文心一言提问:如何学…

二十二、软考-系统架构设计师笔记-真题解析-2018年真题

软考-系统架构设计师-2018年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.在磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于21号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统…

EXCEL VBA根据表数据写入数据库中

EXCEL VBA根据表数据写入数据库中 Option Explicithttps://club.excelhome.net/thread-1687531-1-1.htmlSub UpdateAccess()Const adStateOpen 1Dim vData, i As Variant, j As LongDim AccessTable As String, ExcelTable As String, ExcelFile As String, AccessFile As Str…

力扣.21. 合并两个有序链表(c语言)

题目描述: 解题方法: struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {if(!list1)return list2;if(!list2)return list1;struct ListNode* l1list1,*l2list2,*newheadNULL,*newtailNULL;while(l1&&l2){if(l…

[羊城杯 2020]EasySer

[羊城杯 2020]EasySer 进入页面,发现是ubuntuapache2,但是好像没啥用 尝试访问/robots.txt,得到 访问/star1.php/,查看源码,得到提示 一看就知道是ssrf,使用http://127.0.0.1/ser.php,得到…

uniapp 微信小程序 前端登录流程

步骤: 1. 从uniapp button 中通过 getphonenumber 获取 encryptedData、iv 2. 调用 uni.login() 获取 wx code,然后用wx code 获取session_key、unionid 等信息(老用户直接用union_id调后端登录接口即可,新用户需进行加密解密获…

EXCEL通过VBA字典快速分类求和

EXCEL通过VBA字典快速分类求和 汇总截图 Option ExplicitOption Explicit Sub answer3() Dim wb As Workbook Dim sht As Worksheet Set wb ThisWorkbook Set sht wb.Worksheets(2) Dim ss1 As Integer Dim ss2 As Integer Dim i As Integer Dim j As Integer j 1Dim aa()…

智慧旅游中数据可视化的革新作用

在数字化浪潮席卷全球的今天,数据可视化技术已成为链接信息与用户的重要桥梁,尤其在智慧旅游领域,它的作用更是日益凸显。随着智慧旅游的概念越来越被重视,数据可视化成为其提供高效、直观服务的关键手段之一。本文将探讨数据可视…

C#使用SQLite(含加密)保姆级教程

C#使用SQLite 文章目录 C#使用SQLite涉及框架及库复制runtimes创建加密SQLite文件生成连接字串执行SQL生成表SQLiteConnectionFactory.cs 代码结构最后 涉及框架及库 自己在NuGet管理器里面安装即可 Chloe.SQLite:ORM框架Microsoft.Data.Sqlite.Core:驱…