公司新项目需要用CentOS8.0以上的系统和mysql8.0;于是在虚拟机上开始操作测试;

一实验环境

1、系统版本:CentOS8.3
2、数据库版本:mysql-8.0.23
3、数据库下载链接:https://dev.mysql.com/downloads/mysql/

二、遇到的问题

  这里不讲安装过程,之前博客有写只不过用的是mysql5.7,安装过程是一样的;直接说问题;

  当解压完mysql8.0压缩包后,配置完环境变量后就可以直接执行mysql -V命令去测试环境变量是否成功;但是执行mysql -V命令报错了,报错信息如下:

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

  当看到这个信息的时候我初步判断是因为我没有对数据库做初始化,导致没有加载libtinfo.so.5这个公共库;于是我接着初始化了mysql,并且mysql成功启动,但是当我再次执行mysql命令的时候,依然是之前的报错;于是我find / -name libtinfo.so.5这个模块,发现确实没有,就又执行了yum install libtinfo.so.5 -y来安装该模块;安装完成之后成功的在/usr/lib/目录下找到了该模块,以为问题解决了,但是当再一次执行mysql命令的时候发现仍然是之前的报错;

于是,开始思考它到底在找哪个目录没有找到,因为lib目录有两个lib和lib64,于是我将/usr/lib/目录下的libtinfo.so.5做了个软连接到/usr/lib64目录下(ln -s /usr/lib/libtinfo.so.5 /usr/lib64/libtinfo.so.5),再次执行mysql命令发现报错信息并非原来的那个No such file or directory了,报错信息如下:

mysql: error while loading shared libraries: libtinfo.so.5: wrong ELF class: ELFCLASS32

  由此报错可以判断,mysql确实是找的lib64目录中的libtinfo.so.5;又百度了下“ELFCLASS32”,表示调用的so文件是32位的;既然32位的不对,那么就需要一个64位的so文件,于是我在lib64目录下执行了以下命令:

[root@slave lib64]# ll libtinfo*
lrwxrwxrwx. 1 root root 15 5月 11 2019 libtinfo.so.6 -> libtinfo.so.6.1
-rwxr-xr-x. 1 root root 208616 5月 11 2019 libtinfo.so.6.1

  发现有关于libtinfo.so的模块,于是抱着尝试的心态在lib64目录下面又做了一个软连接:

[root@slave lib64]# ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
[root@slave lib64]# ll libtinfo*
lrwxrwxrwx 1 root root 24 3月 4 17:33 libtinfo.so.5 -> /usr/lib64/libtinfo.so.6
lrwxrwxrwx. 1 root root 15 5月 11 2019 libtinfo.so.6 -> libtinfo.so.6.1
-rwxr-xr-x. 1 root root 208616 5月 11 2019 libtinfo.so.6.1

  然后再次执行mysql命令,执行成功了;问题解决;

  后续我又将/usr/lib64下面的软连接libtinfo.so.5删除,将其软链接到了/lib64目录下,发现也是可以的;所以又学习了这几个目录的关系,总结下来就是:/lib64是内核级的,/usr/lib64是系统级的,/usr/local/lib64是用户级的;

三、工作中遇到的一些关于mysql问题的整理

  1、客户反馈接口调用无响应

  客户反馈他们有个产品调用我们的接口没有响应,由于产品是部署在客户侧设备的,我没有登录权限,只能远程指导客户去排查,起初根据客户描述接口没有响应,就用curl命令发起了一次POST请求,这里data数据是错误的,返回了400状态码,这表示接口是有响应的;因为服务在内网环境下,外面又接了负载均衡,怀疑是负载均衡是不是有什么安全限制给拦截了,于是让客户直接在部署服务的设备上直接用curl命令调用以127.0.0.1为ip的接口,这时候data数据依然是错误的,返回的还是400状态码,这时候也排除了安全限制的问题,查看程序后台日志,也是有返回的,提示参数错误,本身data数据就是有问题的,所以这也是意料之中的事情;

为什么要用错误的data数据来发起POST请求呢,这个解释下,因为客户反馈的问题是调用接口无响应,用错误的data数据只是为了节省时间,初步判断下接口是否给响应;这步工作做完后还是没有定位到问题,于是让客户找了一条正确的data数据用curl命令发起了一次真实的POST请求,发现接口果真没有响应,一直是请求等待中;因为这条接口返回的数据是从mysql库里拿的,接口不返回数据也就意味着数据库没有返回,于是让客户看了3306端口也是起的;又让客户看了mysql所在的设备的磁盘容量,结果发现问题了,mysql的data目录挂载的磁盘使用率100%了,让客户清理了一些无用数据之后,空间释放,再去测试接口,接口响应正常;

有问题后续还会更新。。。。。。。。。。。。。

mysql8.0二进制安装遇到的问题的更多相关文章

  1. MySql-8.0.12 安装教程

    MySql-8.0.12 安装教程随笔https://www.cnblogs.com/CrazyDemo/p/9409995.html MySQL 安装https://m.runoob.com/mys ...

  2. 【MySQL-123】MySQL8.0.12 安装于Win10

    参考blog:MySQL8.0.12 安装及配置 [坑一]输入net start mysql时,MYSQL服务无法启动. 问题:第三步my.ini文件编码错误. 解决方案:https://blog.c ...

  3. Apache2.4.34 + php 7.28 + MySQL8.0.12 安装及配置

    服务端的学习 Apache2.4.34 的安装及配置 1.基本安装 最新的 Apache 已经不提供 Windows 的安装版本,所以我们这里使用的是解压版 -下载地址:https://www.apa ...

  4. mysql8.0.13安装、使用教程图解

    mysql8.0.13安装.使用教程图解 MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Manageme ...

  5. 01. MySQL8.0 MAC-OS-X安装

    目录 MySQL8.0 MAC-OS-X安装 8.0较与5.7变化 下载 安装 启动 登录查看数据库 安装后mysql文件分布 MySQL8.0 MAC-OS-X安装 换mac啦,搭建开发环境,安装m ...

  6. MySQL8.0 下载安装启动(Windows10)

    2019年6月13日20:13:21 MySQL8.0 下载安装启动(Windows10) 下载 下载地址:https://dev.mysql.com/downloads/mysql/8.0.html ...

  7. Windows系统MySQL8.0的安装教程

    MySQL推出的8.0版本亮点多多,尤其是两倍的提速更让我们迫不及待地安装一睹为快.然而目前我们所用的版本还在5.7之前,今天小编给家分享一下MySQL8.0的安装,尤其是多版本MySQL的共存. 方 ...

  8. (Win10)Java,Maven,Tomcat8.0,Mysql8.0.15安装与环境配置,以及IDEA2019.3使用JDBC连接MySQL、创建JavaEE项目

    之前用windows+linux的双系统,最近不怎么舒服就把双系统给卸了,没想到除了问题,导致有linux残余,于是就一狠心重装了电脑,又把Java及其相关的一些东西重新装了回来,还好当初存了网盘链接 ...

  9. MySQL8.0.20安装教程,MySQL8.0.20安装详细图文教程

    1.下载链接如下: MySQL8.0.20版本 https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html 其他版本:MySQL8 ...

随机推荐

  1. Markdown基础语法(上)

    前言 按照官方文档,和根据自己所用和所理解所写 一.标题语法 一级标题最大,六级标题最小 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标 ...

  2. os模块,sys模块,json模块,subprocess模块

    os模块 一·什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同 的平台进行相应的操作,在python编程时,经常和文件.目录打交道 ...

  3. 干掉RedisHelper,请这样用分布式缓存

    前言 我们在项目中使用Redis时通常是写一个单例模式的RedisHelper静态类,暴露一些常用的Get.Set等操作,在需要使用地方直接RedisHelper.StringGet(xx,xx)就可 ...

  4. GIT速查手册

    一.GIT 1.1 简单配置 git是版本控制系统,与svn不同的是git是分布式,svn是集中式 配置文件位置 # 配置文件 .git/config 当前仓库的配置文件 ~/.gitconfig 全 ...

  5. Html name与id属性的区别

    id----id属性规定为 HTML 元素的唯一的标识.当使用html,CSS时,id属性可用作链接锚(link anchor),通过 JavaScript(HTML DOM)getElementBy ...

  6. 04C++核心编程

    Day01 笔记 1 C++概述 1.1 C++两大编程思想 1.1.1 面向对象 1.1.2 泛型编程 1.2 移植性和标准 1.2.1 ANSI 在1998制定出C++第一套标准 2 c++初识 ...

  7. Unity中通过深度优先算法和广度优先算法打印游戏物体名

    前言:又是一个月没写博客了,每次下班都懒得写,觉得浪费时间.... 深度优先搜索和广度优先搜索的定义,网络上已经说的很清楚了,我也是看了网上的才懂的,所以就不在这里赘述了.今天讲解的实例,主要是通过自 ...

  8. 用Arduino玩GM65二维码扫描模块

    目录 用Arduino玩GM65二维码扫描模块 用Arduino玩GM65二维码扫描模块 最近在做Capstone,内容是我们之前实验室参加过的工程训练的物流搬运小车,所以现在来复盘一下我使用Ardu ...

  9. mysql中max_connections与max_user_connections使用区别

    问题描述:把max_connections和max_user_connections参数进行分析测试,顾名思义,max_connections就是负责数据库全局的连接数,max_user_connec ...

  10. 循环码、卷积码及其python实现

    摘要:本文介绍了循环码和卷积码两种编码方式,并且,作者给出了两种编码方式的编码译码的python实现 关键字:循环码,系统编码,卷积码,python,Viterbi算法 循环码的编码译码 设 \(C\ ...