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密码

  1. 使用sudo命令免密码进入MySQL
sudo mysql

某些博客推荐使用修改配置文件--skip-grant-tables,跳过密码认证登录MySQL,但我这里使用这种方法修改密码时会报错显示处于--skip-grant-tables模式下无法修改密码

  1. 尝试修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';	
# 123456为新密码,如果配置MySQL时选择了允许远程登录,将localhost改为%

由于MySQL8密码安全策略的升级,此时大概率修改失败,可能报错为
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

  1. 修改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

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

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

相关文章

读图数据库实战笔记04_路径与图变异

1. Groovy 1.1. Java编程语言的一个超集 1.2. Gremlin Console的一个特性是能和Groovy配合使用 1.2.1. Gremlin Console会自动地迭代结果 1.3. 从技术上说,Gremlin Console就是Groovy交互式解释器(read-eval-print loop,REPL)…

【广州华锐互动】城市水处理VR仿真实训平台

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为我们带来了前所未有的沉浸式体验。在教育领域,VR技术的应用也日益广泛,为传统的教学模式带来了革命性的变革。本文将以城市水处理VR仿真实训…

[架构之路-246/创业之路-77]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 客户关系管理系统CRM

目录 前言: 一、企业信息化的结果:常见企业信息化软件 1.1 客户关系管理系统CRM 1.1.1 什么是客户关系管理系统 1.1.2 CRM总体架构 1.1.3 什么类型的企业需要CRM 1.1.4 创业公司在什么阶段需要CRM 1.1.5 研发型创业公司什么时候需要CRM 1.1.6 C…

3D RPG Course | Core 学习日记一:初识URP

前言 最近开始学习Unity中文课堂M_Studio(麦大)的3D RPG Course,学习一下3D RPG游戏核心功能的实现,第一课我们学习到的是地图场景的编辑,其中涉及到了URP渲染。 我们首先进入Unity资源商店把地图素材和人物素材导入好…

stable diffusion简介和原理

Stable Diffusion中文的意思是稳定扩散,本质上是基于AI的图像扩散生成模型。 Stable Diffusion是一个引人注目的深度学习模型,它使用潜在扩散过程来生成图像,允许模型在生成图像时考虑到文本的描述。这个模型的出现引起了广泛的关注和讨论&am…

leetcode-二叉树

B树和B树的区别 B树,也即balance树,是一棵多路自平衡的搜索树。它类似普通的平衡二叉树,不同的一点是B树允许每个节点有更多的子节点。 B树内节点不存储数据,所有关键字都存储在叶子节点上。B树: B树: 二叉…

mac安装并使用wireshark

mac安装并使用wireshark 1 介绍 我们在日常开发过程中,遇到了棘手的问题时,免不了查看具体网络请求情况,这个时候就需要用到抓包工具。比较著名的抓包工具就属:wireshark、fildder。我这里主要介绍wireshark。 2 安装 以mac安装为…

前端开发必备技能!用简单CSS代码绘制三角形,提升用户体验

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、前…

Docker 容器服务的注册、发现及Docker安全

目录 Docker容器服务的注册和发现 1、什么是服务注册与发现? 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1)建立 Consul 服务 2)设置代理,在后台启动 consul 服务端 3)查看集群信息 4&a…

图像视觉特效处理工具:Boris FX Optics 2024.0.1

BorisFX光效插件Optics首发2024版:3大新功能详解 2023年9月15日,全球领先的视觉后期软件开发公司BorisFX推出了旗下知名软件Boris FX Optics的全新2024版本,这款备受后期处理爱好者喜爱的Photoshop插件和独立程序再次升级,为您的…

Docker Consul概述及构建

Docker Consul概述及构建 一、Consul概述1.1、什么是Consul1.2、consul 容器服务更新与发现1.3、服务注册与发现的含义1.4、consul-template概述1.5、registrator的作用 二、consul部署2.1、环境配置2.2、在主节点上部署consul2.3 、配置容器服务自动加入nginx集群2.3.1、安装G…

Redis测试新手入门教程

在测试过程中,我们或多或少会接触到Redis,今天就把在小破站看到的三丰老师课程,把笔记整理了下,用来备忘,也希望能给大家带来亿点点收获。 主要分为两个部分: 一、缓存技术在后端架构中是如何应用的&#…

K8s集群

统一时间:ntpdate(都做) ntpdate -b ntp1.aliyun.com */1 * * * * /usr/sbin/ntpdate -b ntp1.aliyun.com systemctl status docker vi /etc/docker/daemon.json systemctl restart docker m: vim kubernetes.sh cat >> /etc/yum.repos.d/kubernetes.repo…

50元买来的iPhone手机刷机经验

前段时间,家里的iPad被家人误操作,导致iPad变成不可使用状态。自己折腾了半天,没有找到解决办法。没有办法,只好拿到手机维修店去修理,很快就修理好了.其实也很简单--就是对iPad进行了刷机操作。当然我也看到了刷机的方法。今天&a…

优化改进YOLOv5算法:加入SPD-Conv模块,让小目标无处遁形——(超详细)

1 SPD-Conv模块 论文:https://arxiv.org/pdf/2208.03641v1.pdf 摘要:卷积神经网络(CNNs)在计算即使觉任务中如图像分类和目标检测等取得了显著的成功。然而,当图像分辨率较低或物体较小时,它们的性能会灾难性下降。这是由于现有CNN常见的设计体系结构中有缺陷,即使用卷积…

MSQL系列(十) Mysql实战-Join驱动表和被驱动表如何区分

Mysql实战-Join驱动表和被驱动表如何区分 前面我们讲解了Mysql的查询连接Join的算法原理, 我发现大家都知道小表驱动大表,要让小表作为驱动表, 现在有2个问题 查询多表, 到底哪个是驱动表?哪个是被驱动表, 如何区分?索引如何优化,到底是加在驱动表上,还是被驱动表上? &…

初学编程入门基础教学视频,中文编程开发语言工具箱之豪华编辑构件,免费版中文编程软件下载

初学编程入门基础教学视频,中文编程开发语言工具箱之豪华编辑构件,免费版中文编程软件下载 构件的其中一个属性、方法,查找内容,替换内容。 构件工具箱非常丰富,其中该构件在 文本件构件板菜单下。 编程系统化课程总目…

C++类模板再学习

之前已经学习了C类模板;类模板的写法和一般类的写法有很大的差别;不容易熟悉;下面再做一遍; 做一个椭圆类,成员有长轴长度和短轴长度; // ellipse.h: interface for the ellipse class. // //#if !define…

李宏毅老师浅谈机器学习

李宏毅老师浅谈机器学习 引例 - 宝可梦/数码宝贝 分类器如何定义损失函数?- 经验这里定义一个直观的loss函数根据全体数据,得到最好的模型参数(理想)如何衡量现实损失和理想损失接近程度?如何得到跟含所有样本数据集很像的取样数据…

MFC实现堆栈窗口:多个子界面可任意切换

1、效果 在Qt中可使用QStackedWidget控件直接拖动布置即可实现,但在MFC中并未提供类似的控件,因此需要自己简单实现。 2、实现原理 实现原理比较简单,父级对话框在显示的区域部分,通过切换子对话框即可实现。子对话框去掉边框后…