Ubuntu20.04下安装MySQL8环境
Ubuntu20.04下安装MySQL8环境
- 1.下载MySQL客户端和服务器
- 2.配置MySQL
- 3.测试MySQL
- 4.设置MySQL服务开机自启动
- 5.修改root密码
- MySQL数据库基本使用
- 启动MySQL数据库服务
- 重启MySQL数据库服务
- 停止MySQL数据库服务
- 查看MySQL运行状态
- 设置MySQL服务开机自启动
- 停止MySQL服务开机自启动
- MySQL的配置文件
- 修改MySQL密码认证方式
- 退出MySQL命令行
Ubuntu默认插件不支持Mysql5,apt中自带Mysql8,我们可以用过
apt-get命令快捷下载
1.下载MySQL客户端和服务器
sudo apt-get update
sudo apt-get install mysql-server
sudo apt-get install mysql-client
2.配置MySQL
sudo mysql_secure_installation
运行MySQL初始化安全脚本,mysql_secure_installation脚本设置的东西:更改root密码、移除MySQL的匿名用户、禁止root远程登录、删除test数据库和重新加载权限。除了询问是否要更改root密码时,看情况是否需要更改,其余的问题都可以按Y,然后ENTER接受所有后续问题的默认值。使用上面的这些选项可以提高MySQL的安全。
3.测试MySQL
systemctl status mysql.service
# 或
sudo service mysql status

4.设置MySQL服务开机自启动
sudo service mysql enable
# 或
sudo systemctl enable mysql.service
5.修改root密码
- 使用sudo命令免密码进入MySQL
sudo mysql
某些博客推荐使用修改配置文件
--skip-grant-tables,跳过密码认证登录MySQL,但我这里使用这种方法修改密码时会报错显示处于--skip-grant-tables模式下无法修改密码
- 尝试修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 123456为新密码,如果配置MySQL时选择了允许远程登录,将localhost改为%
由于MySQL8密码安全策略的升级,此时大概率修改失败,可能报错为
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- 修改MySQL8默认密码安全策略
(1)查看数据库用户及其主机信息
mysql> SELECT user,host FROM mysql.user

(2)查看密码策略配置
mysql> SHOW VARIABLES LIKE 'validate_password%';

解释如下:
validate_password.changed_characters_percentage:允许密码中的更改字符的百分比。设置为 0,表示不要求密码包含已更改的字符。
validate_password.check_user_name:检查密码是否包含用户名称。设置为 ON,表示要检查密码中是否包含用户名称。
validate_password.dictionary_file:密码字典文件的路径。为空,表示没有指定密码字典文件。
validate_password.length:密码的最小长度。设置为 6,表示密码必须至少包含 6 个字符。
validate_password.mixed_case_count:密码中要求包含的大写字母数量。设置为 1,表示密码必须包含至少 1 个大写字母。
validate_password.number_count:密码中要求包含的数字数量。设置为 1,表示密码必须包含至少 1 个数字。
validate_password.policy:密码策略的级别。设置为 LOW,表示密码策略较宽松。MySQL 提供四个级别的密码策略:LOW、MEDIUM、STRONG 和 STRONGER,它们分别代表不同的密码要求,对应设置0、1、2、3。
validate_password.special_char_count:密码中要求包含的特殊字符数量。在你的配置中,它设置为 1,表示密码必须包含至少 1 个特殊字符。
# 根据实际需要进行修改,如要设置密码长度为6,只包含数字,则进行如下设置
# 格式:SET GLOBAL key = value
mysql> SET GLOBAL validate_password.length = 6; # 最小长度6
mysql> SET GLOBAL validate_password.mixed_case_count = 0; # 可以不包含大写字母
mysql> SET GLOBAL validate_password.special_char_count = 0; # 可以不包含特殊字符
mysql> flush privileges;
根据需要修改完成后,可以重新执行
SHOW VARIABLES LIKE 'validate_password%';查看是否修改成功
(3)修改认证方式
mysql> select host,user,plugin from user;
# root默认为auth_socket,修改为mysql_native_password
mysql> update user set plugin='mysql_native_password' where user='root';
# 立即生效
mysql> flush privileges;
(4)修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 123456为新密码,如果配置MySQL时选择了允许远程登录,将localhost改为%
# 查看3(1)执行结果
mysql> flush privileges;
(5)重启数据库
sudo service mysql restart
MySQL数据库基本使用
启动MySQL数据库服务
sudo service mysql start
# 或
sudo systemctl start mysql.service
重启MySQL数据库服务
sudo service mysql restart
# 或
sudo systemctl restart mysql.service
停止MySQL数据库服务
sudo service mysql stop
# 或
sudo systemctl stop mysql.service
查看MySQL运行状态
sudo service mysql status
# 或
sudo systemctl status mysql.service
设置MySQL服务开机自启动
sudo service mysql enable
# 或
sudo systemctl enable mysql.service
停止MySQL服务开机自启动
sudo service mysql disable
# 或
sudo systemctl disable mysql.service
MySQL的配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改MySQL密码认证方式
# auth_socket、caching_sha2_password、mysql_native_password
mysql> update user set plugin='auth_socket' where user='root';
mysql> flush privileges;
退出MySQL命令行
mysql> quit
参考博客
https://blog.csdn.net/hwx865/article/details/90287715
相关文章:
Ubuntu20.04下安装MySQL8环境
Ubuntu20.04下安装MySQL8环境 1.下载MySQL客户端和服务器2.配置MySQL3.测试MySQL4.设置MySQL服务开机自启动5.修改root密码MySQL数据库基本使用启动MySQL数据库服务重启MySQL数据库服务停止MySQL数据库服务查看MySQL运行状态设置MySQL服务开机自启动停止MySQL服务开机自启动MyS…...
html鼠标悬停图片放大
要在HTML中实现鼠标悬停时图片放大的效果,你可以使用CSS和JavaScript来完成。下面是一个简单的示例: 首先,创建一个HTML文档,包含一张图片和相应的CSS和JavaScript代码。 <!DOCTYPE html> <html lang"en">…...
基于hugging face的autogptq量化实践
1.量化并保存到本地的 #导入库: from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfig model_id "facebook/opt-125m"quantization_config GPTQConfig(bits4,group_size128,dataset"c4",desc_actFalse, )tokenizer A…...
MySQL2:MySQL中一条查询SQL是如何执行的?
MySQL2:MySQL中一条查询SQL是如何执行的? MySQL中一条查询SQL是如何执行的?1.连接怎么查看MySQL当前有多少个连接?思考:为什么连接数是查看线程?客户端的连接和服务端的线程有什么关系?MySQL参数…...
C++入门01—从hello word!开始
1.第一个C程序 1.1 创建项目 第一次使用Visual Studio时: 1.2 创建文件 1.3 编写代码 编写第一个代码: #include<iostream> using namespace std; int main() {cout << "hello word!" << endl;system("pause"…...
Mingw下载---运行vscodeC++文件
下载 下载网址: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/ 翻到最下面,选择win64的安装: 下载完,解压到没有空格和中文字符的路径。不然在vscode中运行不了C代码。...
数据安全与PostgreSQL:最佳保护策略
在当今数字化时代,数据安全成为了企业不可或缺的一环。特别是对于使用数据库管理系统(DBMS)的组织来说,确保数据的完整性、保密性和可用性至关重要。在众多DBMS中,PostgreSQL作为一个强大而灵活的开源数据库系统&#…...
火山引擎实时、低延时拥塞控制算法的优化实践
摘要 火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congestion Control)是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法(如…...
adb设备调试常用命令
自从工作越来越忙后,越来越懒得写文章了,趁着1024程序员节,仪式性地写篇文章,分享一下最近调试设备经常用到的adb指令~ 1.查看应用内存占用 1.1 dumpsys meminfo package dumpsys是查看系统服务信息的一个常用指令,可…...
ubuntu下Docker的简单使用并利用主机显示
首先分享一个docker镜像的网站:https://hub.docker.com/search?q 这个网站里面有很多配置好的镜像,可以直接拉取。 下面介绍一下docker的安装和使用。 1、docker得到安装: sudo apt-get install docker 2、docker拉取一个镜像到本地,这里我…...
第12章 PyTorch图像分割代码框架-1
从本章开始,本书将会进行深度学习图像分割的实战阶段。PyTorch作为目前最为流行的一款深度学习计算框架,在计算机视觉和图像分割任务中已经广泛使用。本章将介绍基于PyTorch的深度学习图像分割代码框架,在总体框架的基础上,基于PA…...
2023CSPJ 旅游巴士 —— dijkstra
This way 题意: 给你一个有向图,1号点为起点,n为终点。你可以在k的倍数的时间点在起点开始,每条边的边长为1,同时,每条边有一个限定时间ai,表示你必须在大于等于ai的时间点才能走这条边。 …...
数据结构之栈的讲解(源代码+图解+习题)
我们在学习过顺序表和链表之后,了解了使用数组存储数据,使用结构体来存储数据和有关的指针,这些都是底层的东西,链表是靠指针的链接,顺序表是靠数组的下标才能得以实现增删查改。众多数据结构其实底层都离不开数组&…...
内网渗透-内网信息收集
内网信息收集 前言 当我们进行外网信息收集,漏洞探测以及漏洞利用后,获得了主机的权限后,我们需要扩大渗透的战果时,这是我们就要进行内网的渗透了,内网渗透最重要的还是前期的信息收集的操作了,就是我们的…...
LeetCode解法汇总2520. 统计能整除数字的位数
目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个整…...
Lua语言编写爬虫程序
以下是一个使用luasocket-http库和Lua语言编写的爬虫程序。此程序使用了https://www.duoip.cn/get_proxy的代码。 -- 引入所需的库 local http require("socket.http") local ltn12 require("ltn12") local json require("json") -- 获取…...
安防监控项目---概要
文章目录 前言一、项目需求二、环境介绍三、关键点四、主框架分析总结 前言 各位小伙伴,在蛰伏了将近有半年的时间又要和大家分享新的知识了,这次和大家分享的是一个项目,因此呢我准备分项目阶段去和大家分享,希望大家都能够在每…...
数仓经典面试题
1.什么是数据仓库?请谈谈你对数据仓库的理解。 数据仓库是一个用于存储和管理数据的系统,它可以将分散的、异构的数据源中的数据进行抽取、转换、清洗和整合,然后按照一定的模型和架构进行组织和存储,以便更好地支持决策分析和业…...
【ARM Coresight 系列文章 15.2 – components power domain 详细介绍】
文章目录 1.1. Coresight 电源域模型1.1.1 CDBGPWRUPREQ 和 CDBGPWRUPACK1.1.2 CSYSPWRUPREQ 和 CSYSPWRUPACK1.1.3 Power Domain ID In RomTable1.1.4 Power domain entries1.1.5 Algorithm to discover power domain IDs1.1.6 Debug power requests1.1.7 System power reques…...
Flutter Android IOS 获取通讯录联系人列表
1.在pubspec.yaml 文件中添加 contacts_service 和 permission_handler 插件的依赖: dependencies:contacts_service: ^0.6.3 #获取联系人permission_handler: ^11.0.1 #权限请求2.在你的 Dart 代码中,导入 contacts_service 插件: impo…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
raid存储技术
1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...
【java】【服务器】线程上下文丢失 是指什么
目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...
C# WPF 左右布局实现学习笔记(1)
开发流程视频: https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码: GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用(.NET Framework) 2.…...
在ubuntu等linux系统上申请https证书
使用 Certbot 自动申请 安装 Certbot Certbot 是 Let’s Encrypt 官方推荐的自动化工具,支持多种操作系统和服务器环境。 在 Ubuntu/Debian 上: sudo apt update sudo apt install certbot申请证书 纯手动方式(不自动配置)&…...
mq安装新版-3.13.7的安装
一、下载包,上传到服务器 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.7/rabbitmq-server-generic-unix-3.13.7.tar.xz 二、 erlang直接安装 rpm -ivh erlang-26.2.4-1.el8.x86_64.rpm不需要配置环境变量,直接就安装了。 erl…...
Go爬虫开发学习记录
Go爬虫开发学习记录 基础篇:使用net/http库 Go的标准库net/http提供了完善的HTTP客户端功能,是构建爬虫的基石: package mainimport ("fmt""io""net/http" )func fetchPage(url string) string {// 创建自定…...
