MYSQL 8.0的Linux - Generic版本安装

1.本文适用范围

适用于MYSQL 8.0的Linux - Generic版本,原则上适用所有的操作系统。已测试的操作系统包括:

  • Ubuntu 16.04
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • Kylin Linux Advanced Server V10

注意:如果操作系统使用过包管理系统(如Yum或APT)安装过MySQL,请确保该MySQL安装已被完全卸载,否则安装会产生错误。

2.获取依赖库

  • MySQL依赖于libaio库、libncurses库和libtinfo库,因此需要提前进行安装。下载地址见:https://download.csdn.net/download/weixin_35804181/89210892
  • 下载后将库文件放入/usr/local/lib/,并执行ldconfig命令即可。

3.获取安装包

到MYSQL官网下载合适的安装包,官网访问地址:https://dev.mysql.com/downloads/mysql/。

3.1.下载合适的版本

​ 使用ldd命令确认glibc的版本,如下:

root@014:~# ldd --version
ldd (Ubuntu  GLIBC 2.35-0Ubuntu 3.1) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

​ 由上面信息“GLIBC 2.35”可见版本为2.35,只要安装包版本低于2.35都可以使用。综合我的环境,这里选择的是"8.0.36 、Linux-Generic、Linux-Generic(glibc 2.17)(x86,64-bit) "的Minimal Install版本(mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz)。下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz

注意:Minimal Install版本不包括调试二进制文件,并且去掉了调试符号,因此包大小明显小于常规二进制发行版。

3.2.安装包结构说明

目录名称目录内容
binmysqld服务器、客户端和实用程序
docsInfo格式的MySQL手册
manUnix手册页
include头文件
lib库文件
share数据库安装的错误消息、字典和SQL
support-files其他支持文件

4.安装数据库

4.1.创建mysql用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql #useradd -r -g mysql mysql

4.2.解压并安装

​ 将安装包进行解压,并安装到/usr/local/mysql目录(注意:目录位置不要修改,否则后续比较麻烦)

cd  [安装包( mysql-8.0.36-linux-glibc2.17-x86_64-minimaltar.xz)的目录]
tar  -xvf   mysql-8.0.36-linux-glibc2.17-x86_64-minimaltar.xz
mv   mysql-8.0.36-linux-glibc2.17-x86_64-minimal     /usr/local/mysql

4.3.创建MySQL相关目录并给予权限

mkdir  -p  /usr/local/mysql/data
mkdir  -p  /var/log/mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 750 /usr/local/mysql
chown -R mysql:mysql /var/log/mysql

4.4.修改可执行文件

if [ ! -f /usr/local/bin/mysql ];thenln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysqlchmod 777 /usr/local/bin/mysql
fi
if [ ! -f /usr/local/bin/mysqldump ];thenln -s /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldumpchmod 777 /usr/local/bin/mysqldump
fi

4.5.创建配置文件my.cnf

​ 在/etc目录下创建my.cnf文件,我已将我使用的文件上传,可以直接使用。下载:https://download.csdn.net/download/weixin_35804181/89211130

4.6.初始化Data目录

cd /usr/local/mysql && ./bin/mysqld --user=mysql --datadir=/usr/local/mysql/data --basedir= /usr/local/mysql --lower-case-table-names=1 --initialize-insecure

​ 命令执行后会在/usr/local/mysql/data目录中产生一系列文件,并且创建的root用户是没有密码的,因此需要在后续配置密码。

4.7.添加启动文件

cp /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysql.server
chmod +x /etc/init.d/mysql.server
Debain版本添加启动服务的指令:update-rc.d mysql.server defaults 90
RHEL版本添加启动服务的指令:chkconfig --add mysql.server 

4.8.启动服务

/etc/init.d/mysql.server  start

4.9.验证

​ 使用mysql指令尝试进行连接,如mysql -uroot。如果成功则说明安装顺利。

5.配置参数

此处新密码以"jhn@KSJASDD_12345"为例,设置root密码,并允许远程登陆。

mysql -uroot -e "update mysql.user set host = '%' where user = 'root'"
mysql -uroot -e "flush privileges"
mysql -uroot -e "ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'jhn@KSJASDD_12345'"
mysql -uroot -e "flush privileges"
##运行外部IP连接
mysql -uroot -pjhn@KSJASDD_12345 -e "update mysql.user set host = '%' where user = 'root'"
mysql -uroot -pjhn@KSJASDD_12345 -e "flush privileges"
mysql -uroot -pjhn@KSJASDD_12345 -e "ALTER USER 'root'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'jhn@KSJASDD_12345'"
mysql -uroot -pjhn@KSJASDD_12345 -e "flush privileges"

至此MYSQL的安装就算完成了,包括的开机自启动的设置、设置root密码和允许远程登陆。

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

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

相关文章

深入理解Java消息中间件-使用Spring Framework进行消息驱动的开发

结合Spring Framework,特别是Spring for Apache Kafka项目,Java开发者可以更加便捷高效地实现Kafka的生产者和消费者应用。本文将详细介绍如何在Spring环境中开发Kafka应用,确保内容的准确性并避免技术误导。 环境准备 首先,确保您…

GITEE本地项目上传到远程

由于需要,我这边将本地的仓库上传至GITEE。之前在网上搜索了相关的文档,但是步骤很繁琐,我这边介绍一个非常简单的。 一、在GITEE新建仓库 跟着指引一步步新建。 二、打开本地仓库,删除.git文件 默认情况下不会有这个.git文件&a…

【全面认知YOLO系列】看见未来:目标检测技术在各行业应用的全景解读第二部分

【全面认知YOLO系列】看见未来:目标检测技术在各行业应用的全景解读第二部分 一、目标检测技术在环境保护上的应用1、野生动物监测:2、森林火灾早期检测:3、水体污染监测:4、空气质量监测:5、垃圾分类与回收&#xff1…

【干货】【常用电子元器件介绍】【常用传感器】--常用传感器的识别、检测、选用

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。   传感器就是可以将一些变化的参量(温度、速度、亮度、磁场等)转换为电信号的器件。 人类用眼、耳、鼻、舌、身等感觉器官捕获信息,而在自动控制电路中,是用传感器来进行 信息捕获的。传感…

STM32H745BIT6上的ARM Cortex-M7和Cortex-M4核心共享SRAM4中的数据的方法

目录 1.Cortex-M7 Core (主核心) 2.Cortex-M4 Core (从核心) 3.具体代码示例 (1)Cortex-M7 Core (主核心) (2)Cortex-M4 Core (从核心) (3)总结 4.额外的知识点:原子操作 (1…

插入排序算法(Python版)

1、什么是插入排序算法 插入排序算法是一种简单直观的排序算法,它的基本思想是将一个元素逐个插入到已排序的序列中,从而构建出完整的有序序列。 插入排序算法的时间复杂度为O(n^2),其中n为待排序序列的长度。虽然插入排序在大规模数据上可…

java坦克大战1.0——敌人坦克发射子弹+敌人消失+爆炸

目录 1.敌人坦克发射子弹 1.功能分析 2.代码: 1.EnemyTank类: 2.MyPanel类 2.敌人消失 1.功能分析: 2.代码 1.EnemyTank类: 2.MyPanel类 3.Shot类 3.爆炸效果 1.功能分析 2.代码 1.Bomb类 2.MyPanel类 最终代码&…

【保姆级讲解如何安装与配置Xcode】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

在kuboard中添加k8s集群

1.登录kuboard后,点击添加集群面板 系统会跳转到k8s集群添加页面,按照页面提示输入自身的集群信息即可,此处没有什么难点。 添加成功后,点击集群面板,然后点击集群概要信息,就可以查看集群节点信息。 集群节…

【QEMU系统分析之启动篇(二十)】

系列文章目录 第二十章 QEMU系统仿真设置完成后开放轮询的分析 文章目录 系列文章目录第二十章 QEMU系统仿真设置完成后开放轮询的分析 前言一、QEMU是什么?二、QEMU系统仿真的启动分析1.系统仿真的初始化代码2.主循环数据初始化3. resume_mux_open()get_chardevs_…

ssm092基于Tomcat技术的车库智能管理平台+jsp

车库智能管理平台设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本车库智能管理平台就是在这样的大环境下诞生,其可以帮助管理者在短…

Android14音频进阶之车载音频系统AAOS:VehicleService服务学习<下篇>(六十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

Java字符缓冲区

字符缓冲区是在计算机编程中非常重要的一种数据结构,它主要用于存储和高效地操作字符序列。 在 Java 中,StringBuffer类就是典型的字符缓冲区实现。与String类不同,StringBuffer具有动态可变性,这意味着我们可以在原有的字符序列…

springboot集成-mybatis-puls

Spring Boot中集成MyBatis Plus是一个相对简单的过程,MyBatis Plus是一个MyBatis的增强工具,它简化了CRUD操作,并且提供了一些额外的功能,比如性能优化、自动填充等。以下是集成MyBatis Plus的基本步骤: 1.添加依赖&am…

firefox 浏览器常见问题(技巧)总结

目录 问题火狐浏览器firefox 如何取消更新提醒? 待续、更新中 问题 火狐浏览器firefox 如何取消更新提醒? 1、用户在电脑桌面上找到火狐浏览器,接着用鼠标右键点击,在弹出来的右键菜单中,用户选择其中的打开文件所在的位置选项火狐浏览器怎…

Hive数据库base64 加解密字段或字符串

加码: select BASE64([{"name":"晁盖","mid":"002J81Pr09ytag","id":12384782}]) 解码: SELECT string(unbase64(W3sibmFtZSI6IuS4geeoimRqyIsIm1pZCI6IjAwMko4MVByMDl5amFnIiwiaWQiOjE0NTE2OTl9XQ)…

共享模型之不可变——不可变设计、享元模式

文章目录 不可变设计final 的使用保护性拷贝 享元模式简介体现包装类String 串池BigDecimal BigInteger DIY 不可变设计 另一个大家更为熟悉的 String 类也是不可变的,以它为例,说明一下不可变设计的要素 public final class Stringimplements java.io…

设计不外流,保护创意的同时锁住图纸安全!

在设计行业中,图纸和创意文稿的安全至关重要,因为它们体现了企业的创新能力和核心竞争力。华企盾DSC数据防泄密系统提供了一系列功能,可以有效地保护这些珍贵的设计和文档不被外泄。以下是如何利用华企盾DSC系统保障设计图纸安全的关键措施&a…

stable-diffusion教程

下载代码 https://gitee.com/stable_diffusion/stable-diffusion-webui.git 然后执行自动安装环境命令 ./webui.sh

MySQL怎么看死锁记录

这个结果分成三部分: (1) TRANSACTION,是第一个事务的信息; (2) TRANSACTION,是第二个事务的信息; (3)WE ROLL BACK TRANSACTION (1),是最终的处理结果,表示回滚了第一个事务。 第一个事务的信…