离线linux服务器安装mysql8

本文的服务器环境: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.mzph.cn/news/771832.shtml

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

相关文章

使用Docker本地搭建蚂蚁笔记并实现无公网IP远程访问

文章目录 1. 安装Docker2. Docker本地部署Leanote蚂蚁笔记3. 安装cpolar内网穿透4. 固定Leanote蚂蚁笔记公网地址 本篇文章介绍如何使用Docker部署Leanote蚂蚁笔记,并且结合cpolar内网穿透实现公网远程访问本地笔记编辑并制作个人博客等。 Leanote 蚂蚁笔记是一款云…

Echarts 仪表盘

1、效果图 2、代码 createTenantChartOne(){var myChart1 this.$echarts.init(document.getElementById(tenant-chart-1));var dataArr 82;var title 仪表盘;let option {graphic: {type: text,left: center,top: 85%,style: {text: title,textAlign: center,//居中对齐fi…

微服务高级篇(五):可靠消息服务

文章目录 一、消息队列MQ存在的问题?二、如何保证 消息可靠性 ?2.1 生产者消息确认【对生产者配置】2.2 消息持久化2.3 消费者消息确认【对消费者配置】2.4 消费失败重试机制2.5 消费者失败消息处理策略2.6 总结 三、处理延迟消息?死信交换机…

application.properties 里面和 application.yml 里面都配置了同样的参数 ,哪个会生效

在Spring Boot中,如果application.properties和application.yml,application-dev.yml(application.yml中指定了avtive: dev)中同时配置了相同的参数,Spring Boot默认会按照一定的加载顺序加载配置文件,并且…

【保姆级带你了解机器学习的概念,步骤,分类和实践】

🔥博主:程序员不想YY啊🔥 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 🤗点赞🎈收藏⭐再看💫养成习惯 🤝希望本文对您有所裨益,如有…

方案功能开发:智能机器人玩具

玩具电动趣萌机器人方案开发定制,东莞市酷得智能科技有限公司是研发型芯片贸易公司,可为制造厂商朋友定制软件底层方案。下面介绍一下机器人方案可实现的功能: 基础功能: 方向:前进,后退,左转&a…

springboot项目中如何实现邮件告警功能(监控平台服务模拟)

介绍 模拟服务器故障&#xff0c;然后实现邮件告警 一、首先配置邮件的maven依赖 代码如下&#xff1a; <!--邮件告警--><!-- Spring Boot的邮件发送依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spri…

【嵌入式——QT】多语言界面

【嵌入式——QT】多语言界面 多语言页面开发步骤tr()函数 多语言页面开发步骤 第一步 在你编写的代码中添加tr()函数&#xff0c;方便之后可以精准的定位到你所需要翻译的部分。 第二步 在.pro文件中添加以下代码&#xff0c;这样会让你生成相应的.ts文件&#xff0c;ts文件是…

深度学习Top10算法之深度神经网络DNN

深度神经网络&#xff08;Deep Neural Networks&#xff0c;DNN&#xff09;是人工神经网络&#xff08;Artificial Neural Networks&#xff0c;ANN&#xff09;的一种扩展。它们通过模仿人脑的工作原理来处理数据和创建模式&#xff0c;广泛应用于图像识别、语音识别、自然语…

安捷伦Agilent 85033E机械校准套件

181/2461/8938产品概述&#xff1a; 网络分析中的测量误差可分为两类:随机误差和系统误差。随机误差和系统误差都是矢量。随机误差是不可重复的测量变化&#xff0c;通常是不可预测的。系统误差是测试设置中可重复的测量变化。 系统误差包括阻抗不匹配、系统频率响应和测试设…

javaSwing超级玛丽游戏

一、摘要 摘要 近年来&#xff0c;Java作为一种新的编程语言&#xff0c;以其简单性、可移植性和平台无关性等优点&#xff0c;得到了广泛地应用。J2SE称为Java标准版或Java标准平台。J2SE提供了标准的SDK开发平台。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序…

人工智能聊天机器人与大型语言模型 (LLM):哪个适合您的业务?

简介&#xff1a;欢迎来到未来 您可能听说过人工智能聊天机器人和大型语言模型 (LLM)&#xff0c;对吧&#xff1f; 这些技术奇迹正在重塑企业的沟通和运营方式。 但是&#xff0c;这是一个价值百万美元的问题&#xff1a;哪一个适合您的业务&#xff1f; 让我们深入了解一下&…

【C++航海王:追寻罗杰的编程之路】queue

目录 1 -> queue的介绍和使用 1.1 -> queue的介绍 1.2 -> queue的使用 1.3 -> queue的模拟实现 1 -> queue的介绍和使用 1.1 -> queue的介绍 queue的文档介绍 1. 队列是一种容器适配器&#xff0c;专门用于在FIFO(先进先出)上下文中操作&#xff0c;其…

力扣刷题31-33(力扣 0024/0070/0053)

今日题目&#xff1a; 24. 两两交换链表中的节点 题目&#xff1a;给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09; 思路&…

Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建11g容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g查看容器是否创建成功 docker ps -a导出oracle容器&#xff0c;查看…

深入探索MySQL高阶查询语句的艺术与实践

目录 引言 一、条件查询 &#xff08;一&#xff09;比较运算符查询 1.使用匹配符号查询 2.范围查找 &#xff08;二&#xff09;逻辑运算符 二、关键字排序 三、分组与聚合函数 四、限制查询 五、别名 &#xff08;一&#xff09;设置列别名 &#xff08;二&#x…

YoloV5改进策略:Block改进|ECA-Net:用于深度卷积神经网络的高效通道注意力|ECA+压缩膨胀Block实现涨点(独家原创)

摘要 本文使用ECA-Net注意力机制配合压缩膨胀的Block实现涨点。涨点方法是我自己独创的&#xff0c;改进方法简单易用&#xff0c;方便大家用于论文的改进。 论文&#xff1a;《ECA-Net&#xff1a;用于深度卷积神经网络的高效通道注意力》 arxiv.org/pdf/1910.03151.pdf 最…

后端系统开发之——功能完善

原文地址&#xff1a;https://blog.yiming1234.cn/?p830 下面是正文内容&#xff1a; 前言 通过SpringBoot开发用户模块的部分也就差不多要结束了&#xff0c;这一片文章就主要提一些在系统开发中需要注意到的细节部分和功能&#xff0c;也就是剩余的部分。 但是这个专栏只介…

安达发|电子产品制造企业APS生产排程软件

在电子脉动的世界中&#xff0c;时间是芯片上的电流&#xff0c;效率是电路板上的速度。在这个时代&#xff0c;每一微秒都蕴藏着无限可能&#xff0c;每一决策都关乎着企业的生死存亡。APS生产排程软件&#xff0c;是您的电子制造帝国中的智慧大脑&#xff0c;以卓越的创造力&…

Reactor设计模式和Reactor模型

Reactor设计模式 翻译过来就是反应堆&#xff0c;所以Reactor设计模式本质是基于事件驱动。 角色 Handle&#xff08;事件&#xff09;EventHandler&#xff08;事件处理器&#xff09;ConcreteEventHandler&#xff08;具体事件处理器&#xff09;Synchronous Event Demult…