Linux下安装MySQL8.0

news2024/12/28 4:41:49

一、安装

1.下载安装包

先创建一个mysql目录,在将压缩包下载到此

# 下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

等待下载成功

在这里插入图片描述

2.解压mysql8.0安装包

tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

在这里插入图片描述

查看版本

mysql --version

3.重命名解压出来的文件夹

这里改成mysql-8.0

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0

/mysql-8.0文件夹下创建data文件夹 存储文件

mkdir data

4.分别创建用户组以及用户和密码

(如果提示已存在说明之前有创建过了)

groupadd mysql
useradd -g mysql mysql

授权刚刚新建的用户

chown -R mysql.mysql /opt/mysql/mysql-8.0
chmod 750 /opt/mysql/mysql-8.0/data -R

5.始化数据库

bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-8.0 --datadir=/opt/mysql/mysql-8.0/data

注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:7Jl44eCeJ!.u

在这里插入图片描述

可能会出现的问题:

在这里插入图片描述

解决方法:

# 检查库是否安装
rpm -qa|grep libaio   
# 安装库
yum install  libaio-devel.x86_64

6.编辑配置文件my.cnf

vim /etc/my.cnf
[mysqld]
 basedir=/usr/local/mysql8
 datadir=/usr/local/mysql8/data
 socket=/tmp/mysql.sock
 character-set-server=utf8
 default_authentication_plugin=mysql_native_password
 port=3306

7.创建MySQL服务

添加Mysql到系统服务(当前目录应为:/usr/local/mysql8)

cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql

检查服务是否生效

chkconfig --list mysql

在这里插入图片描述

二、启动服务调整配置

1.启动服务

启动服务

service mysql start

这里可能出现的问题:
在这里插入图片描述

解决办法:

mkdir /var/log/mariadb     
touch /var/log/mariadb/mariadb.log

# mysql 用户和用户对目录进行授权
chown -R mysql:mysql /var/log/mariadb/

# 再次启动mysql服务,每次开机后,要手动启动一下
/opt/mysql/mysql-8.0/support-files/mysql.server start

在这里插入图片描述

查看状态

service mysql status

在这里插入图片描述

2.修改密码

登录mysql可能会出现如下错误
在这里插入图片描述

解决办法:

ln -s /opt/mysql/mysql-8.0/bin/mysql /usr/bin

登录mysql

mysql -uroot -p

输入或粘贴之前记录的临时密码并回车:7Jl44eCeJ!.u
在这里插入图片描述

修改密码

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

# 例如
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';

3.添加远程登录配置

create user root@'%' identified by '新密码';
grant all privileges on *.* to root@'%' with grant option;

# 例如
create user root@'%' identified by '654321';
grant all privileges on *.* to root@'%' with grant option;

root表示想要被连接的数据库的用户名

其中“%”表示允许所有机器能访问root用户

刷新权限

flush privileges;

查看设置结果

use mysql;
select host,user,plugin,authentication_string from user;

在这里插入图片描述

4.开放防火墙3306端口

到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行

–permanent代表永久生效,否则重启linux后则需要再次开启

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload

查看防火墙端口开放状态

firewall-cmd --list-all

自此在linux系统上安装mysql8已经完成,并且可以使用图形化界面远程连接

5.添加全局环境变量

编辑 / etc/profile 文件

vi /etc/profile

在文件底部添加,保存退出

export PATH=$PATH:/opt/mysql/mysql-8.0/bin:/opt/mysql/mysql-8.0/lib
export PATH

刷新配置

source /etc/profile

Navicat 连接mysql

在这里插入图片描述

参考:

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux安装MySQL8

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

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

相关文章

sqli-labs第五、六关详解

第五关不同于前面四关,涉及到盲注 首先看看是字符型注入还是数字型注入 用单引号闭合后,and 12无回显,说明字符型注入,接下来就要靠猜了,首先猜数据库长度是多少 长度为8的时候,正常回显,所以数…

DFS解决floodfill算法

文章目录 1. 图像渲染2. 岛屿数量3. 岛屿的最大面积4. 被围绕的区域5. 太平洋大西洋水流问题6. 扫雷游戏7. 机器人的运动范围 1. 图像渲染 算法原理: 这题不需要创建visit数组去记录使用过的节点,因为我每次dfs都尝试修改image数组的值,当下…

电阻器件的选型

电阻选型需要的注意点: 老化系数:电阻器在额定功率长期负荷下,阻值相对变化的百分数,它是表示电阻器寿命长短的参数。 噪声:包括热噪声和电流噪声两部分,电阻是一个耗能的器件,电阻器是消耗能量的。 电阻的选型需要关注…

STM32 Debug卡死在BKPT 0xAB

今天在调试程序的时候遇到了这个问题,最后发现是因为没有初始化串口,就调用了printf函数导致的,如果不需要用串口调试数据,那么需要把它们注释掉,否则就会出现这个问题!

Force Yc团队最新第五次创作引导页源码

Force Yc团队最新第五次创作引导页源码 此源码可以播放自己的音乐 无法播放视频背景!~ 音乐修改:music 音乐名称:bgm.mp3 LOGO修改:images 图片名字:top-logo.mp4 文本修改:index.html Notepad编辑 Force Yc团队最新第五次创作引导页源码

window下使用msys2安装openssl

目录 参考官网解压用cmake直接安装msys2安装配置编译安装 用perl安装打开命令行工具安装编译 参考 openssl 安装 官网 https://www.openssl.org/source 解压 D:\c\openssl-3.0.1 D:\c\openssl-1.1.1u用cmake直接安装 参考官方教程https://github.com/libevent/libevent/b…

Python画笔案例-026 绘制三星连线

1、绘制三星连线 通过 python 的turtle 库绘制三星连线的图案,如下图: 2、实现代码 绘制一个三星连线的图案,以下为实现代码: """三星连线.py """ import turtleturtle.pensize(2)for _ in range(…

用EM算法估计GMM参数的实现

EM算法,即期望最大化算法(Expectation Maximization Algorithm),是一种在统计学中用于估计概率模型参数的类似极大似然估计的迭代算法,特别适用于模型中包含隐变量或者数据由多个混合分布组成的情况。隐变量&#xff0…

模型 RULER情绪管理

系列文章 分享 模型,了解更多👉 模型_思维模型目录。识别情绪,智慧表达,和谐生活。 1 RULER情绪管理模型的应用 1.1 RULER情绪管理模型在小学教育中的实践 背景: 在一所注重学生全面发展的小学中,教师们发…

【kubernetes】Service 介绍和应用

一,Service介绍 四层代理是基于传输层(第四层)工作的代理,主要在传输层(如TCP、UDP协议)上转发和管理数据流 七层代理是基于应用层(第七层)工作的代理,能够对应用层协议…

nginx启动报错:worker_connections exceed open file resource limit: 1024

一、问题描述 某次,nginx重启报错: nginx: [warn] 4096 worker_connections exceed open file resource limit: 1024;如下所示: 二、处理 1)原因:nginx默认最大的并发数为1024,如果你设置work…

IDEA提示:java: 常量字符串过长

大家好,我是瑶山,今天聊聊java执行字符串过长的问题 起因 main方法测试一个上传人脸的请求,人脸图片使用Base64格式字符串,执行失败,提示:java: 常量字符串过长 在Java中,当你在main方法中直接…

Java | Leetcode Java题解之第390题消除游戏

题目: 题解: class Solution {public int lastRemaining(int n) {int a1 1;int k 0, cnt n, step 1;while (cnt > 1) {if (k % 2 0) { // 正向a1 a1 step;} else { // 反向a1 (cnt % 2 0) ? a1 : a1 step;}k;cnt cnt >> 1;step s…

三大CSS特效与灵感宝藏网站:加速前端开发,提升网站视觉盛宴

在日常的Web开发旅程中,前端程序员扮演着至关重要的角色,他们不仅是页面结构的搭建者,更是用户体验的塑造者。随着技术的不断进步,用户对于网页的视觉效果和交互体验要求越来越高,这就要求前端开发者必须掌握更多高级技…

Session钝化与活化:深度解析

Session钝化与活化:深度解析 1、钝化(Passivation)2、活化(Activation)3、序列化要求4、总结 💖The Begin💖点点关注,收藏不迷路💖 在Web开发中,Session扮演着…

自搭靶机实现SSH爆破复现记录

编写脚本实现ssh爆破。可使用paramiko、pexpect、pxssh等Python模块进行编写。但在ssh服务端将配置加密方式为非常用加密方式3des-cbc,端口为9981端口。 创建 了一个新的Kali虚拟机作为靶机,使用原本的Kali作为攻击机。 设置一个用户为target1234&#…

数学建模强化宝典(5)整数规划

前言 整数规划是数学规划中的一种特殊类型,它要求决策变量的取值必须是整数。这种规划问题在实际应用中非常普遍,因为很多决策问题(如生产数量、人员分配、车辆调度等)的解都必须是整数。整数规划可以分为几类,主要包括…

07:【江科大stm32】:编码器通过定时器测速

编码器通过定时器测速 编码器的转动方向不同,则输出波形的相位也不同。如下图所示: 编码器标准库的编程接口: ①Encoder.c文件的代码如下: #include "stm32f10x.h" // Device header//使用PA6&…

黑马-Cloud21版-实用篇05:分布式搜索引擎02:DSL查询文档、搜索结果处理、RestClient查询文档、黑马旅游案例

分布式搜索引擎02 在昨天的学习中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以今天,我们研究下elasticsearch的数据搜索功能。我们会分别使用DSL和Res…

[Linux]:基本指令(上)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 与Windows环境不同,我们在linux环境下需要通过指令进行各操作&…