Linux系统安装MySQL8.40(保姆级教程)

前言:

说明:本文章是在阿里云ecs上安装MySQL,即:Linux是在联网状态下。

一、安装前环境准备

1.查看MySQL应用是否已存在

rpm -qa |grep mysql

说明:若返回空信息,就说明当前环境没有安装MySQL。

2.查看mariadb是否已存在

rpm -qa | grep mariadb

说明:若返回空信息,就说明当前环境没有安装Mariadb。

3.查看系统磁盘是否够用

df -lh

[root@iZbp15nia15xpkq7pshpu0Z /]# df -lh
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 452K 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/vda3 80G 4.3G 76G 6% /
/dev/vda2 100M 7.3M 93M 8% /boot/efi
tmpfs 363M 0 363M 0% /run/user/0

通过上述命令可以看出根目录空间比较充足(76G)。

二、去官网查看需要安装的版本

MySQL官网:https://dev.mysql.com/downloads/mysql/

2.1 根据系统选择相应的安装包:

  • 不知道linux系统机构的,可以执行如下命令查看系统处理器架构
uname -m

在这里插入图片描述

在这里插入图片描述

  • 若不知道自己的系统信息,可以执行如下命令:
cat /etc/os-release

在这里插入图片描述

  • 选中需要安装的资源地址https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

2.2 用wget命令下载MySQL安装包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

在这里插入图片描述

三、安装和配置MySQL应用

3.1 解压文件

tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

在这里插入图片描述

3.2 移动文件到/usr/local/mysql路径下

mv mysql-8.4.0-linux-glibc2.28-x86_64 /usr/local/mysql
  • 当/usr/losal/msyql路径不存在时,会自动创建
    在这里插入图片描述

3.3 创建data目录,存储MySQL数据

cd /usr/local/mysql
mkdir data
# MySQL错误日志路径
mkdir data/error
# 日志文件
touch data/error/mysql.log
# 临时文件
mkdir data/tmp

在这里插入图片描述

3.4 创建用户并添加用户组

  • 保证Linux系统文件的用户隔离和安全性。
groupadd mysql # 创建mysql用户组
useradd -g mysql mysql # 创建用户mysql,并指定用户的组

3.5 为mysql用户分配文件权限

chown -R mysql:mysql /usr/local/mysqlchmod 750 /usr/local/mysql/data
  • 查看/usr/local/mysql文件权限
ll -al /usr/local/msyql

在这里插入图片描述

3.6 修改or创建mysql的配置文件

vim /etc/my.cnf
  • 输入以下内容
[mysqld]
bind-address=0.0.0.0
# 端口
port=3306
# 用户
user=mysql
# mysql根路径
basedir=/usr/local/mysql
# mysql数据路径
datadir=/usr/local/mysql/data[mysqld_safe]
# 会话信息
socket=/usr/local/mysql/data/tmp/mysql.sock
# 错误日志路径
log-error=/usr/local/mysql/data/error/mysql.log
# 进程存放路径
pid-file=/usr/local/mysql/data/mysql.pid#character config
# 服务编码格式
character_set_server=utf8mb4
# symbolic-links=0为是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
symbolic-links=0
# 对column属性是timestamp的处理模式,默认OFF
explicit_defaults_for_timestamp=ON# 关闭MySQL的only_full_group_by模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#忽略表名大小写
lower_case_table_names=1
[client]
# 客户端默认编码格式
default-character-set=utf8mb4
socket=/usr/local/mysql/data/tmp/mysql.sock

3.7 创建mysql-server服务

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。

  • 授权授权以及添加服务
chmod +x /etc/init.d/mysqlchkconfig --add mysql
  • 检查mysql服务是否生效
chkconfig  --list mysql

在这里插入图片描述

3.8 数据库初始化

  • 切换到/usr/local/mysql/bin目录下
cd /usr/local/mysql/bin
  • 执行数据库初始化命令
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

在这里插入图片描述
保存好初始密码。

四、环境配置与服务启动

4.1 配置MySQL全局变量

  • 编辑配置文件
vim /etc/profile.d/mysql_home.sh

写入下面参数配置,:wq!保存退出。

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

  • 设置环境变量立即生效使用source /etc/profile命令。
    在这里插入图片描述

4.2 启动MySQL服务

service mysql start

在这里插入图片描述

  • 查看MySQL服务进程
ps -ef|grep mysql

在这里插入图片描述

五、修改密码

5.1 使用上述初始化是的原始密码,登录MySQL服务

mysql -uroot -p

在这里插入图片描述

  • 修改mysql数据库密码,注意:此处123456修改为自己的需要密码即可。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

在这里插入图片描述

5.2 刷新权限配置&退出

flush privileges;exit;

在这里插入图片描述

5.3 验证使用修改后的密码登录

  • 重启MySQL服务
service mysql restart

在这里插入图片描述

  • 新密码登录验证通过
    在这里插入图片描述

六、设置远程登录

6.1 切换到mysql数据库

use mysql;

在这里插入图片描述

6.2 设置允许远程访问

update user set host='%' where user='root';

在这里插入图片描述

6.3 刷新权限配置&退出

flush privilege;exit;

在这里插入图片描述

6.4 远程连接验证

  • 这里是通过DataGrip工具进行的远程连接测试,当然,navicat也是一个常用的数据库连接工具。
    在这里插入图片描述

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

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

相关文章

解决方案:如何区分python里面绝对路径跟相对路径的不同

文章目录 一、现象二、解决方案 一、现象 在工作中,会经常混淆绝对路径跟相对路径的区别,我也是找了资料之后就懂了,但时间一长就混淆了,于是,我在这里记录下 二、解决方案 在Python中,绝对路径和相对路…

关于el-card的height设置100%后, el-card内容超出高度后,内容被隐藏这件事

1. 解决方法 全局样式添加以下代码 .el-card__body{height: 100%;width: 100%; }2. 问题原因 代码 <el-card style"height: 100%"><!-- ... --> </el-card>选中.el-card 元素发现这里的 .el-card 的 overflow:hidden 而内部 .el-card__body除…

WiFi无线连接管理安卓设备工具:WiFiADB

介绍 WiFi ADB 使您能够通过 WiFi TCP/IP 连接直接在设备上轻松调试和测试 Android 应用&#xff0c;无需使用 USB 数据线。在启用 WiFi 上的 ADB 后&#xff0c;打开控制台将电脑连接到设备。 手机和电脑在同一个WiFi然后电脑上运行adb connect x.x.x.x:x命令即可 下载 谷…

七段 LED 显示器(7段数码管)

7 段 LED 显示器, 通常简称为 LED 数码管 或 数码管. 通过 菜单--绘制--数字芯片--添加 7 段 LED 显示器 可以引入它. 普通模式 它内部其实就是七盏长条状的 LED 灯, 有的横着放, 有的竖着放. 七个灯用 a b c d e f g 分别表示. 灯的位置从上到下, 从里到外顺时针下来, 如上图…

青年女演员白澜闪耀亮相第五届庐山电影节红毯

2024年9月25日&#xff0c;演员白澜受邀出席了第五届庐山电影节盛典晚会&#xff0c;在这个星光熠熠的夜晚&#xff0c;青年演员白澜以一袭精心设计的礼服惊艳亮相&#xff0c;成为红毯瞩目的焦点。 整个第五届庐山国际爱情电影周以“庐山&#xff0c;你的爱情靠山”为主题&…

帆软通过JavaScript注入sql,实现数据动态查询

将sql语句设置为参数 新建数据库查询 设置数据库查询的sql语句 添加控件 JavaScript实现sql注入 添加事件 编写JavaScript代码 //获取评价人id var pjrid this.options.form.getWidgetByName("id").getValue();//显示评价人id alert("评价人&#xff1a;&…

re轻松拆分四则运算expression(^从头匹配、(?:xxxx)非捕获组、| 交替运算符联合演习)

与ai对抵聊“算式匹配”&#xff0c;发现^从头匹配、(?:xxxx)非捕获组、| “交替”运算符联合使用的妙处。 (笔记模板由python脚本于2024年09月27日 18:35:32创建&#xff0c;本篇笔记适合喜欢python喜欢正则的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;…

【RabbitMQ】死信队列、延迟队列

死信队列 死信&#xff0c;简单理解就是因为种种原因&#xff0c;无法被消费的消息。 有死信&#xff0c;自然就有死信队列。当一个消息在一个队列中变成死信消息之后&#xff0c;就会被重新发送到另一个交换器中&#xff0c;这个交换器就是DLX&#xff08;Dead Letter Excha…

连锁收银系统的五大功能 选择开源收银系统三要素

连锁收银系统的五大功能&#xff0c;很多新手是不清楚的&#xff0c;老手也只是知道一些大概&#xff0c;今天&#xff0c;商淘云为大家分享收银系统的五大功能&#xff0c;尤其是第五个&#xff0c;大部分人不清楚&#xff0c;有的企业前面选了不合适的收银系统&#xff0c;导…

如何在iPad上设置Chrome为默认浏览器

将Chrome设置为iPad上的默认浏览器&#xff0c;不仅能够享受到谷歌强大的搜索功能和丰富的扩展生态&#xff0c;还能通过一系列自定义设置来进一步提升浏览体验。本文将详细介绍如何在iPad上完成这一设置&#xff0c;并探讨如何通过优化Chrome浏览器的相关功能&#xff0c;让您…

c语言200例 64

大家好&#xff0c;欢迎来到无限大的频道。 今天带领大家来学习c语言。 题目要求&#xff1a; 设计一个进行候选人的选票程序。假设有三位候选人&#xff0c;在屏幕上输入要选择的候选人姓名&#xff0c; 有10次投票机会&#xff0c;最后输出每个人的得票结果。好的&#xff…

【LLM多模态】视频理解模型Cogvlm-video和MVBench评测基准

note Cogvlm-video模型通过视频抽帧&#xff08;24帧&#xff0c;每帧大小为224 x 224&#xff09;后经过ViT进行图像编码&#xff08;ViT中添加了2x2的卷积核更好的压缩视觉信息&#xff09;&#xff0c;使用adapter模块更好的将视觉特征和文本特征对齐&#xff0c;得到的图像…

5--苍穹外卖-SpringBoot项目中菜品管理 详解(一)

目录 公共字段自动填充 问题分析 实现思路 代码开发 步骤一 步骤二 功能测试 新增菜品 需求分析和设计 代码开发 文件上传接口 功能测试 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解&#xff08;一&#…

python绘制图像

柱状图 import os# 输入想要存储图像的路径 os.chdir(D:)import matplotlib.pyplot as plt import numpy as np # 改变绘图风格 import seaborn as snssns.set(color_codesTrue)cell [gen7, xgspon, 3081GB, vettel, totalplay, other] pvalue [21, 20, 18, 13, 7, 34]width…

【GUI设计】基于图像分割的GUI系统(6),matlab实现

博主简介&#xff1a; 如需获取设计的完整源代码或者有matlab图像代码项目需求/合作&#xff0c;可联系主页个人简介提供的联系方式或者文末的二维码。博客内容有疑问可联系沟通&#xff08;博主邮箱&#xff1a;3249726188qq.com&#xff09;。 ~~~~~~~~~~~~~~~~~~~~~~~…

实现简易 vuedraggable 的拖拽排序功能

一、案例效果 拖拽计数4实现手动排序 二、案例代码 <draggable:list"searchResult.indicator":group"{ name: indicators }"item-key"field"handle".drag-handle-icon"><divclass"field-item"v-for"(item…

快速创建第一个Spring Boot 项目

一、介绍 Spring Boot 是一个开源的 Java 基础框架&#xff0c;它基于 Spring 框架&#xff0c;用于创建独立、生产级别的基于 Spring 的应用程序&#xff0c;你可以“跑起来”&#xff08;run&#xff09;你的 Spring 应用程序。Spring Boot 让基于 Spring 的应用开发变得更容…

对onlyoffice进行定制化开发

基于onlyoffice8.0源码&#xff0c;进行二次开发&#xff0c;可实现包括但不限于以下的功能 1、内容控件的插入 2、内容空间的批量替换 3、插入文本 4、插入图片 5、添加&#xff0c;去除水印 6、修改同时在线人数限制 7、内容域的删除 8、页面UI的定制化 9、新增插件开发 10、…

生信初学者教程(四):软件

文章目录 RRstudioLinux系统其他软件本书是使用R语言编写的教程,用户需要下载R和RStudio软件用于进行分析。 版权归生信学习者所有,禁止商业和盗版使用,侵权必究 R R语言是一种免费的统计计算和图形化编程语言,是一种用于数据分析和统计建模的强大工具。它具有丰富的统计…

C语言 | Leetcode C语言题解之第429题N叉树的层序遍历

题目&#xff1a; 题解&#xff1a; #define MAX_LEVE_SIZE 1000 #define MAX_NODE_SIZE 10000int** levelOrder(struct Node* root, int* returnSize, int** returnColumnSizes) {int ** ans (int **)malloc(sizeof(int *) * MAX_LEVE_SIZE);*returnColumnSizes (int *)mal…