当前位置: 首页 > news >正文

【配置环境】Linux下安装MySQL

目录

一,环境

二,安装步骤

1.使用包管理器安装MySQL

2.配置MySQL的安全选项

3.设置root用户使用密码进行身份验证(可选)

三,拓展知识

1.如何修改MySQL的密码策略?


  • VMware® Workstation 16 Pro (版本:16.1.2 build-17966106)
  • ubuntu-22.04.2-desktop-amd64

1.使用包管理器安装MySQL

  • 对于Ubuntu/Debian系统,使用apt-get命令安装:
    • sudo apt-get update
    • sudo apt-get install mysql-server
  • 对于CentOS/RHEL系统,使用yum命令安装:
    • sudo yum update
    • sudo yum install mysql-server
  • 安装完成后,MySQL服务会自动启动。使用以下命令检查MySQL服务的状态:
    • sudo systemctl status mysql
  • 如果MySQL服务没有自动启动,可以手动启动MySQL服务:
    • 对于Ubuntu/Debian系统,使用以下命令:
      • sudo service mysql start
    • 对于CentOS/RHEL系统,使用以下命令:
      • sudo systemctl start mysql
  • 可以通过以下命令来检查MySQL服务是否在运行:
    • sudo systemctl is-active mysql
  • 停止MySQL服务命令如下:
    • sudo systemctl stop mysql

2.配置MySQL的安全选项

  • 对于MySQL 5.7版本及以上,运行以下命令进行初始配置:(这个命令会要求你设置MySQL的root用户密码和其他安全选项)
    • sudo mysql_secure_installation
  • 然后提示是否对密码验证组件进行配置,输入y
  • 接下来会显示选择设置密码的强度,输入0
  • 询问是否要移除匿名用户,输入y(上一步选择密码强度后会有一个输入要设置的密码过程,但是直接跳过了,原因看下一节
  • 询问是否禁用root用户进行远程登录,输入y
  • 询问是否删除测试数据库并访问它,输入y
  • 询问是否重新加载权限表,就是让到目前为止作出的设置将立即生效。输入y
  • 最后出现 All done,说明设置完成!
  • 安装完成后,可以通过以下命令登录MySQL服务器(此时是通过auth_socket插件进行身份验证的)
    • sudo mysql

3.设置root用户使用密码进行身份验证(可选)

  • 在配置MySQL的安全选项时,选择设置密码的强度后直接跳过了输入密码的一步,并显示如下红框中的内容
  • 这是因为在MySQL中,默认情况下,root用户使用的是auth_socket插件进行身份验证,而不是使用密码。auth_socket插件通过Unix套接字文件来验证用户的凭据。因此,如果使用auth_socket插件进行身份验证,就没有必要为root用户设置密码。

如果希望为root用户使用密码进行身份验证,可以按照以下步骤操作:

  • 以root用户身份登录MySQL(此时是通过auth_socket插件进行身份验证):
    • sudo mysql
  • 登录后,切换到MySQL系统数据库:
    • USE mysql;
  • 将root用户的身份验证方法更新为使用mysql_native_password插件:(将your_password替换为root用户的密码,密码长度至少为8个字符)
    • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
  • 刷新权限表使更改生效:
    • FLUSH PRIVILEGES;
  • 完成这些步骤后,root用户将可以通过密码进行身份验证,而不是通过auth_socket插件。
  • 最后通过以下命令并输入前面设置的MySQL的root用户密码,即可登录MySQL服务器:
    • mysql -u root -p

1.如何修改MySQL的密码策略?

  • 在设置MySQL的登录密码时,会遇到如下错误提示
  • 出现这个错误是因为MySQL默认启用了密码策略来确保密码的安全性。根据密码策略,密码必须满足一定的要求才能被接受,要求如下红框中内容。
  • 但在MySQL中,可以通过修改密码策略变量来调整密码策略的要求。具体来说,可以修改以下两个相关的变量:
    • validate_password.policy:该变量定义了密码策略的要求。其取值可以是一个或多个如下策略的组合。
      • LOW:密码只要求长度满足即可。
      • MEDIUM:密码至少要求包含数字、字母和特殊字符。
      • STRONG:密码至少要求包含数字、字母、特殊字符和其它字符。
    • validate_password.length:该变量定义了密码的最小长度要求,默认为8,可以根据需要进行调整。

可以按照以下步骤在MySQL中调整密码策略:

  • 以root身份登录MySQL:
    • sudo mysql
  • 执行以下命令修改密码策略:(将密码策略设置为LOW,密码最小长度设置为4)
    • SET GLOBAL validate_password.policy='LOW';
    • SET GLOBAL validate_password.length=4;
  • 刷新权限表使更改生效:
    • FLUSH PRIVILEGES;
  • 退出MySQL的命令行界面:
    • QUIT;

相关文章:

【配置环境】Linux下安装MySQL

目录 一,环境 二,安装步骤 1.使用包管理器安装MySQL 2.配置MySQL的安全选项 3.设置root用户使用密码进行身份验证(可选) 三,拓展知识 1.如何修改MySQL的密码策略? 一,环境 VMware Workst…...

【100天精通python】Day30:使用python操作数据库_数据库基础入门

专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 数据库基础知识介绍 1.1 什么是数据库? 数据库是一个结构化存储和组织数据的集合,它可以被有效地访问、管理和更新。数据库的目的是为了提供一种可靠的…...

android 如何分析应用的内存(十八)终章——使用Perfetto查看内存与调用栈之间的泄露

android 如何分析应用的内存(十八) 在前面两篇文章中,先是介绍了如何用AS查看Android的堆内存,然后介绍了使用MAT查看 Android的堆内存。AS能够满足基本的内存分析需求,但是无法进行多个堆的综合比较,因此…...

arcpy实现kml批量转出为shp 包括shp合并

参考文章 arcpy实现 kml批量转出为shp_kml批量合并转shp_A873054267的博客-CSDN博客 参考帮助是arcgis里边自带的KMLToLayer_conversion函数 应用场景: 两步路产生的多个轨迹文件KML,批量转换成arcgis 的gdb数据库 最后合并成一个shp 第一步&#…...

高等数学:泰勒公式

注:第三条 e x e^x ex的展开式,在 1 1 1和 1 2 x 2 \frac{1}{2}x^2 21​x2之间添上一个 x x x。 1 1 − x ∑ n 0 ∞ x n 1 x x 2 x 3 ο ( x 3 ) , x ∈ ( − 1 , 1 ) . \begin{aligned}\frac{1}{1-x}\sum_{n0}^\infty x^n1xx^2x^3\omicron(x^…...

JZ32 从上往下打印二叉树(Java)

题目地址:从上往下打印二叉树_牛客题霸_牛客网 题目回顾: 不分行从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入{8,6,10,#,#,2,1},如以下图中的示例二叉树,则依次打印8,6,10,2,1(空节点不打印&…...

hackNos靶机

靶机训练1 - hackNos: Os-hackNos 靶机平台 Vulnhub 是一个提供各种漏洞环境的靶场平台,供安全爱好者学习使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目…...

取地址及 const取地址操作符重载

取地址及 const取地址操作符重载 #include <iostream> using namespace std;class A { public:A(int year, int month, int day){_year year;_month month;_day day;}//它们是默认成员函数&#xff0c;我们不写编译器会自动生成&#xff0c;自动生成就够用了&#xff…...

【Linux初阶】进程间通信介绍 管道

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;进程间通信介绍&#xff0c;管道概述&#xff0c;匿名管道应用&#xff0c;命名管道应用 &#x1f6a2;&#…...

App 在macOS Catalina下提示已损坏无法打开解决办法:

App 在macOS Catalina下提示已损坏无法打开解决办法&#xff1a; 打开终端&#xff1b; 输入以下命令&#xff0c;回车&#xff1b; sudo xattr -d com.apple.quarantine /Applications/xxxx.app注意&#xff1a;/Applications/xxxx.app 换成你的App路径&#xff08;推荐直接…...

ad+硬件每日学习十个知识点(26)23.8.6 (DCDC的降压电路、升压电路、降压-升压电路,同步整流,选型考虑同步、隔离)

文章目录 1.DCDC的降压原理2.DCDC的升压原理3.DCDC的升压和降压原理4.什么是肖特基二极管造成的死区电压&#xff1f;5.MOS管有死区电压么&#xff1f;6.DCDC的同步整流&#xff08;用MOS管取代整流二极管&#xff0c;避免死区电压的影响&#xff09;7.DCDC选型——同步与非同步…...

Elasticsearch3节点集群配置账号密码安全验证

Elasticsearch3节点集群配置账号密码安全验证 ES配置文件 rootnode1:~# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml cluster.name: es-pre node.name: node1 node.master: true node.data: true path.data: /data/elk/es/data path.logs: /data/elk/…...

ffmepg滤镜

视频按顺时针方向旋转90度 ffplay -vf transpose1 -i juren-30s.mp4 ffplay -f lavfi -i testsrc -vf transpose1 -f lavfi -i testsrc这个滤镜是ffmpeg给用户的一个测试使用的视频 视频水平翻转(左右翻转) -vf hflip 实现慢速播放&#xff0c;声音速度是原始速度的50% ffpla…...

Linux 基础(六)常用命令 - find locate which whereis gzip gunzip tar

find & locate & which & whereis & gzip & gunzip & tar findlocatewhichwhereisgzipgunzipzip/unziptar find 在指定目录下查找文件或目录 find --help Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...…...

【Ajax】回调地狱解决方法

回调地狱&#xff08;Callback Hell&#xff09;是指在异步编程中&#xff0c;特别是在嵌套的回调函数中&#xff0c;代码变得深度嵌套、难以阅读和维护的现象。这通常发生在处理多个异步操作时&#xff0c;每个操作都依赖于前一个操作的结果。回调地狱使代码变得难以理解、扩展…...

解决Vue根组件设置transition失效的问题

解决Vue根组件设置transition失效的问题 1.代码 <div id"app"><!-- :name"$route.meta.transitionName" --><transition :name"animation" mode"out-in"><router-view /></transition></div>&…...

【剑指 Offer 40】最小的k个数

题目&#xff1a; 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入 4、5、1、6、2、7、3、8 这 8 个数字&#xff0c;则最小的 4 个数字是 1、2、3、4。 示例&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] 或者 [2,1] …...

vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)

问题 如下图&#xff1a; 方法一 下载TypeScript Vue Plugin (Volar)插件就不报红了&#xff0c;看它的描述应该就是ts文件可以识别vue文件。 方法二 在src文件夹下添加env.d.ts文件&#xff0c;添加以下代码&#xff1a; declare module *.vue {import type { DefineC…...

【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II

作者&#xff1a;小卢 专栏&#xff1a;《Leetcode》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节…...

HTML详解连载(2)

HTML详解连载&#xff08;2&#xff09; 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽超链接作用代码示例解释经验分享 音频标签代码示例注意强调 视频标签代码示例注意强调 列表作用&#xff1a;布局内容排列整齐的区域。分类&#xff1a;无序列表&#x…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...