离线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-data
            
            chown -R mysql:mysql /mnt/data/mysql/mysql-logs
            chmod -R 755 /mnt/data/mysql/mysql-logs
            
            chown -R mysql:mysql /mnt/data/mysql
            chown -R 755  /mnt/data/mysql
            

            5、配置命令

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

              • ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysql
                
                ln -snf /usr/local/mysql8/bin/mysqld /usr/sbin/mysqld 
                
                ln -snf /usr/local/mysql8/bin/mysqladmin /usr/bin/mysqladmin
                
                ln -snf /usr/local/mysql8/bin/mysqlbinlog /usr/bin/mysqlbinlog
                
                ln -snf /usr/local/mysql8/bin/mysqlcheck /usr/bin/mysqlcheck
                
                ln -snf /usr/local/mysql8/bin/mysql_config_editor /usr/bin/mysql_config_editor
                
                ln -snf /usr/local/mysql8/bin/mysqldump /usr/bin/mysqldump
                
                ln -snf /usr/local/mysql8/bin/mysqldumpslow /usr/bin/mysqldumpslow
                
                ln -snf /usr/local/mysql8/bin/mysqlimport /usr/bin/mysqlimport
                
                ln -snf /usr/local/mysql8/bin/mysqlpump /usr/bin/mysqlpump
                
                ln -snf /usr/local/mysql8/bin/mysql_secure_installation /usr/bin/mysql_secure_installation
                
                ln -snf /usr/local/mysql8/bin/mysqlshow /usr/bin/mysqlshow
                
                ln -snf /usr/local/mysql8/bin/mysqlslap /usr/bin/mysqlslap
                
                ln -snf /usr/local/mysql8/bin/mysql_tzinfo_to_sql /usr/bin/mysql_tzinfo_to_sql
                
                ln -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 mysql
                
                export 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/

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

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

相关文章

uni-app中web-view的使用

1. uni-app中web-view的使用 uni-app中的web-view是一个 web 浏览器组件,可以用来承载网页的容器,uni-app开发的app与web-view实现交互的方式相关简单,应用通过属性message绑定触发事件,然后在web-view的网页向应用 postMessage 触…

docker使用教程

寒假用了docker 2个月没用 结果还重新安装docker 忘了怎么用 为了免得以后忘写下下面内容 # If you dont have a docker installed, youll need to install docker curl -s https://get.docker.com/ | sh # Use pip to install docker-compose pip install docker-compose…

西门子S7-1200/200 Smart的采集方式有哪些?如何快速采集?

​在工业自动化领域中,西门子S7-1200和S7-200 Smart系列PLC因其卓越的性能和广泛的应用而备受瞩目。为了实现对这些PLC设备的精准数据采集与远程控制,我们引入了HiWoo Box这一高效的工业物联网关。 一、采集西门子S7-1200/200 Smart数据的方式有哪些&am…

uniapp开发h5,引入微信开放标签实现h5跳转小程序功能,全网最全最细踩坑记录

先贴上微信开放标签的官方文档 一、概述流程 首先需要在项目中引入微信的sdk,具体引入方式详见我写的另一篇文章,里面包含了引入sdk以及配置wx.config的详细教学以及踩坑记录。如果引入完微信sdk的前提下接下来就是根据微信文档提供的demo来引入开放标…

绘图技巧 | 双变量映射地图可视化绘制方法

本期推文我们绘制不常见的双变量主题地图,该类地图可以很好的在地图上用颜色展示两个变量的信息,相较于单一变量映射地图,此类地图表达的信息更加丰富和全面。本期推文主要涉及的内容如下: 双变量映射地图(Bivariate Choropleth M…

商城小程序项目实现监控的可观测性最佳实践

前言 微信小程序是一种轻量级的应用程序,用户可以在微信内直接使用,无需下载安装。它具有独立的开发框架和生态系统,支持丰富的功能和交互,包括社交、购物、服务等。 观测云对微信小程序的监控能够实时收集性能指标、错误日志和…

su怎么做展厅模型---模大狮模型网

要在SketchUp中创建展厅模型,你可以按照以下基本步骤进行: 绘制基本结构: 使用SketchUp的绘图工具(线条、矩形、圆形等)来创建展厅的基本结构,包括墙壁、地板和天花板等。确保按照实际尺寸和比例进行绘制。 添加家具和展品&…

Mysql新建数据库报错1044

mysql创建数据库报错 1044 - Access denied for user ‘root‘%‘ to database ‘XXX‘ 解决参考:MySQL新建表:1044 - Access denied for user ‘root‘%‘ to database ‘XXX‘终极解决方案_cannot create table [sheet]: 1044 - access denied -CSDN博…

windows允许指定IP段访问本地端口

虚拟机内部应用有时候需要访问windows的一些端口,例如数据库或Redis等,默认情况下,需关闭windows上的防火墙才可正常访问。本文通过在防火墙设置允许指定IP段进行访问来处理,不用每次操作都关闭防火墙。 入站规则-》新建规则 完成…

【Python】输出一个 Python 项目下需要哪些第三方包

方法一 pycharm 方法二 要分析一个 Python 项目下需要哪些第三方包并生成 requirements.txt 文件,你可以使用 pipreqs 工具。以下是具体的步骤: 首先,确保你已经安装了 pipreqs 工具。如果未安装,可以使用以下命令进行安装&a…

ArcGIS二次开发(一)——搭建开发环境以及第一个简单的ArcGIS Engine 程序

Arcgis10.2、Arcgis Engine10.2与Microsoft Visual Studio 2012的版本进行安装 1、推荐教程与安装包2、安装顺序3、安装成功测试VS新建项目可以创建ArcGIS项目,并且在VS中拖拽ArcGIS工具 4、搭建第一个简单的ArcGIS Engine 程序 ArcEngine和VS版本是有对应的&#x…

【已解决】Vue 3+TS项目,无法找到模块“XXX”的声明文件,项目报错无法找到声明文件

前言 最近在做vue 3 TS项目,创建项目时需要引入vue-router 4,在main根文件中引入路由时出现了无法找到引入文件的报错。 解决 最后发现是创建router文件中的index文件时错误的创建为了.js文件,但是在创建框架时默认使用的是TS。将文件类型…

Nginx log文件写入失败?log文件权限设置问题

首先,请确保在Nginx配置文件nginx.conf里允许日志写入,就是如下面这句(样例),把句前的#号去掉: access_log /home/wwwlogs/access.log;或者 access_log /home/wwwlogs/www.mysite.com/access.log;下面是log文件夹及文件权限设置。 1、wwwlogs文件夹权限设置 wwwlogs文…

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

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

一身素衣凭栏观景,携几缕清风伴皓月入梦

这个国风两件套真的很难不爱一套上身简直就是梦中的白月光素净优雅又不失清冷气质波浪型门襟绣加上花枝缠绕的绣花图案增添了设计感的同时又不失美感半裙做的是A摆小伞裙的版型裙摆的分割和收褶处理增加了层次感半裙里布很贴心的做了裤里,不易走光夏天穿上这套出街一…

宜搭低代码高级认证实操题1 todolist

进行中待办 已完成待办 待办事项 待办事项远程api和变量配置 回调函数 function didFetch(content) {//console.log(content.data);// content.b 1; 修改返回数据结构中的 b 字段为1let res content.data;let todoList [];for(let i in res){todoList.push(res[i]);}consol…

基于Springboot Vue医院管理系统+数据库脚本+文档(万字)

项目效果视频: 基于Springboot Vue医院管理系统 一、 项目介绍 角色:管理员、患者、医生 基于springboot vue实现的医院管理系统,有管理员、医生和患者三种角色。系统拥有丰富的功能,能够满足各类用户的需求,系统提供了登录和注册…

Reactor设计模式和Reactor模型

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

day07-缓存商品、购物车

1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 结果: 系统响应慢、用户体验差 1.2 实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓…

分享全栈开发医疗小程序 -带源码课件(课件无解压密码),自行速度保存

课程介绍 分享全栈开发医疗小程序 -带源码课件(课件无解压密码),自行速度保存!看到好多坛友都在求SpringBoot2.X Vue UniAPP,全栈开发医疗小程序 - 带源码课件,我看了一下,要么链接过期&…