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

Linux中修改MySQL密码

Linux中MySQL的密码操作

1、给用户设置/更新密码

mysqladmin -u用户名 -p原密码 password "新密码"

该命令在终端直接执行,不需要进入mysql视图

该命令适用于以下情况:

  • 用户的密码为空,为用户设置密码
  • 用户密码需要更新,更换密码

注意事项: 使用该命令需要知道原密码

示例

[root@yun01 ~]# mysqladmin -uroot -p password "123"
Enter password: 
[root@yun01 ~]# 

2、忘记密码操作一(命令行操作)

1、先查看当前有没有MySQL服务在运行

ps -ef | grep -i mysql

示例:

[root@yun01 ~]# ps -ef | grep -i mysql
mysql      3553      1  0 16:22 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql      3720   3553  0 16:22 ?        00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root       3792   2175  0 16:47 pts/1    00:00:00 grep --color=auto -i mysql

2、关闭当前的MySQL服务

systemctl stop mariadb
  • 示例:
[root@yun01 ~]# systemctl stop mariadb
[root@yun01 ~]# ps -ef | grep -i mysql
root       3809   2175  0 16:48 pts/1    00:00:00 grep --color=auto -i mysql
[root@yun01 ~]# 

3、启动 MySQL,允许在不检查或使用权限系统的情况下访问 MySQL 数据库

  • 命令:
mysqld_safe --skip-grant-tables
  • 解释:
  • mysqld_safe --skip-grant-tables 是用来启动 MySQL 的一种特殊模式,允许在不检查或使用权限系统的情况下访问 MySQL 数据库。

  • mysqld_safe:这是一个用于启动 MySQL 服务器的脚本,它比直接使用 mysqld 启动 MySQL 更安全。它提供了日志记录、错误检测和自动重启 MySQL 的功能。

  • --skip-grant-tables:这个选项告诉 MySQL 启动时不加载权限表,即不启用 MySQL 的用户权限系统。这意味着在这个模式下,任何用户都可以访问数据库,而不需要验证用户名和密码。这种模式常用于重置 MySQL 密码或解决由于权限问题导致的无法访问 MySQL 的情况。

  • 示例:
[root@yun01 ~]# mysqld_safe --skip-grant-tables
240926 20:20:55 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
240926 20:20:55 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
  • 此时,MySQL服务以前台运行的方式启动,我们需要新开一个终端进行后续操作

4、进入MySQL客户端,修改用户表中的密码

# 1、直接输入mysql进入客户端
msyql  
# 在mariadb中,默认登入的是root账户,若在MySQL中要指定其用户登录可使用以下命令
mysql -uroot
  • 修改user表中的密码
update mysql.user set password=password("") where user="root"; 
# ""表示将root的密码设置为空
# password()表示使用该函数将密码加密后存储
  • 重新加载用户权限表,确保对权限的更改立即生效。
flush privileges;

5、关闭mysqld_safe模式下启动的MySQL服务,并使用系统命令启动MySQL服务

pkill -9 mysql
# 等待几秒
systemctl start mariadb

6、重新设置root账号的密码

  • 也可以在第四步直接将root的密码设置好

  • 此步骤参考第一小节

7、注意事项

UPDATE mysql.user SET password = PASSWORD('new_password') WHERE user = 'root';

这条命令在使用时得注意MySQL的版本

  • MySQL5.7以上版本中,用户的密码不存在password字段中,而是存在于authentication_string,应该使用以下命令。

  • UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE user = 'root';
    

3、忘记密码操作二(修改配置文件)

1、修改 my.cnf 文件,跳过权限表

my.cnf 文件是 MySQL 的主要配置文件,用于设置 MySQL 数据库服务器的各种参数和行为。在该文件中,可以定义服务器的运行模式、存储路径、缓存大小、网络配置等。my.cnf 文件是 MySQL 在启动时读取的第一个配置文件。

  • 文件位置 /etc/my.cnf

  • 编辑 my.cnf 文件,在 [mysqld] 部分中添加以下行,以跳过 MySQL 的权限表:

[mysqld]
skip-grant-tables
# 此设置允许 MySQL 在启动时不加载权限系统,从而可以直接登录 MySQL 而不需要输入密码。

2、重启 MySQL 服务

systemctl restart mariadb

3、修改user表中的用户密码

update mysql.user set password=password("你的新密码") where user="root"; 

4、将my.cnf中加入的配置删掉,并重启服务

[mysqld]
skip-grant-tables  # 删掉此项systemctl restart mariadb # 重启服务

4、 忘记密码操作三(使用脚本)

  • --init-file 是 MySQL 启动时的一个选项,允许指定一个包含 SQL 语句的文件,当 MySQL 启动时,文件中的 SQL 语句会被自动执行。这种方式可以用于在 MySQL 启动时初始化数据库、重置密码或者执行其他重要的数据库操作。这个文件中的 SQL 语句在 MySQL 完全启动之前执行

1、编写一个sql脚本,用于修改用户密码

cd /opt
vim reset_password.sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';  # mysql 5.6 以上版本使用该命令SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123'); # mysql 5.6 以下版本使用该命令

2、保存后停止当前的MySQL服务,使用mysql_safe命令启动MySQL服务

mysqld_safe --init-file=/opt/reset_password.sql &  # &符号表示以后台模式运行

3、测试使用新密码来登录客户端,若登录成功则删除sql脚本,并关闭当前的sql服务,并使用系统命令重启服务

4、注意事项

文件权限:确保 SQL 文件有足够的权限被 MySQL 服务读取,通常 MySQL 服务以 mysql 用户身份运行,因此 SQL 文件的权限需要至少对 mysql 用户可读。

一次性操作--init-file 是一个一次性操作,SQL 语句在启动时执行完成后文件不再起作用。记得在操作完成后删除 SQL 文件,防止安全问题。

文件内容要求:SQL 文件中的每条 SQL 语句必须完整且符合 MySQL 的语法要求。

5、mysql_secure_installation的使用

  • mysql_secure_installation 是一个 MySQL 提供的安全配置脚本,用于帮助用户强化 MySQL 数据库的安全性。这个脚本可以执行一系列任务,包括设置 root 用户密码、删除匿名用户、禁止远程 root 登录、删除测试数据库等。

使用方法

  1. 运行脚本

    mysql_secure_installation
    
  2. 输入 MySQL root 密码: 脚本启动后,首先会要求你输入 MySQL root 用户的密码。如果这是全新安装,可能没有设置密码,你可以直接按 Enter 键跳过。

    Enter current password for root (enter for none): 
    
  3. 设置 root 密码: 如果 root 用户尚未设置密码,脚本会询问你是否要设置一个密码。输入两次相同的新密码。

    Set root password? [Y/n] Y
    New password: 
    Re-enter new password: 
    
  4. 删除匿名用户: 脚本会提示你是否要删除 MySQL 中的匿名用户。选择 Y 以删除匿名用户。

    Remove anonymous users? [Y/n] Y
    
  5. 禁止远程 root 登录: 脚本会询问你是否要禁止 root 用户的远程登录。选择 Y,确保只有本地登录的 root 用户可以访问数据库。

    Disallow root login remotely? [Y/n] Y
    
  6. 删除测试数据库: 脚本会询问你是否要删除默认的测试数据库。选择 Y 以删除它。

    Remove test database and access to it? [Y/n] Y
    
  7. 刷新权限表: 脚本会自动刷新 MySQL 的权限表,确保所有更改立即生效。

    Reload privilege tables now? [Y/n] Y
    

输出示例

在运行完所有步骤之后,脚本会输出类似以下的结果:

All done! If you've completed all of the above steps, your MySQL installation should now be secure.Thanks for using MySQL!

相关文章:

Linux中修改MySQL密码

Linux中MySQL的密码操作 1、给用户设置/更新密码 mysqladmin -u用户名 -p原密码 password "新密码"该命令在终端直接执行,不需要进入mysql视图 该命令适用于以下情况: 用户的密码为空,为用户设置密码用户密码需要更新&#xff0c…...

华为OD真题机试-英文输入法(Java)

华为OD机试真题中的“英文输入法”题目主要考察的是字符串处理、单词提取、以及基于前缀的单词联想功能。以下是对该题目的详细解析: 题目描述 主管期望你来实现英文输入法单词联想功能。具体需求如下: 依据用户输入的单词前缀,从已输入的…...

【React 】入门Day01 —— 从基础概念到实战应用

目录 一、React 概述 二、开发环境创建 三、JSX 基础 四、React 的事件绑定 五、React 组件基础使用 六、组件状态管理 - useState 七、组件的基础样式处理 快速入门 – React 中文文档 一、React 概述 React 是什么 由 Meta 公司开发,是用于构建 Web 和原生…...

2024年9月总结及随笔之丢卡

1. 回头看 日更坚持了639天。 读《软件开发安全之道:概率、设计与实施》更新完成读《软件设计的要素》开更并更新完成读《构建可扩展分布式系统:方法与实践》开更并更新完成读《数据湖仓》开更并持续更新 2023年至2024年9月底累计码字1555996字&#…...

sql语法学习 sql各种语法 sql增删改查 数据库各种操作 数据库指令

sql语法学习 sql各种语法 sql增删改查 数据库各种操作 数据库指令 学习SQL语法时,理解其基本结构和用法是关键。下面是SQL语法的详细学习指南,涵盖了SQL的主要部分,包括查询、插入、更新、删除、表操作等。 1. 基本查询语法 SQL 的查询语句…...

鸡兔同笼,但是线性代数

灵感来自:bilibili,巨佬! 我们有 14 14 14 个头, 32 32 32 只脚,所有鸡和兔都没有变异,头和脚都完整,没有数错。还有什么 Bug 吗 小学奥数 假设全是鸡,则有 14 2 28 14 \time…...

01---java面试八股文——springboot---10题

01-你是怎么理解Spring Boot 的约定优于配置 约定优于配置是一种软件设计的范式,它的核心思想是减少软件开发人员对于配置项的维护,从而让开发人员更加聚焦在业务逻辑上。Spring Boot 就是约定优于配置这一理念下的产物,它类似于 Spring 框架…...

计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...

【进阶OpenCV】 (3)--SIFT特征提取

文章目录 sift特征提取一、基本原理二、特点三、代码实现1. 函数方法2. 检测图像中的关键点3. 绘制关键点4. 计算关键点描述符5. 输出特征坐标点 总结 sift特征提取 SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)特征检测是一种…...

HarmonyOS/OpenHarmony Audio 实现音频录制及播放功能

关键词:audio、音频录制、音频播放、权限申请、文件管理 在app的开发过程中时常会遇见一些需要播放一段音频或进行语音录制的场景,那么本期将介绍如何利用鸿蒙 audio 模块实现音频写入和播放的功能。本次依赖的是 ohos.multimedia.audio 音频管理模块&am…...

css 中 ~ 符号、text-indent、ellipsis、ellipsis-2、text-overflow: ellipsis、::before的使用

1、~的使用直接看代码 <script setup> </script><template><div class"container"><p><a href"javascript:;">纪检委</a><a href"javascript:;">中介为</a><a href"javascript:…...

Activiti 工作流大致了解

一、什么是 Activiti 简而言之&#xff0c;就是系统的流程图&#xff0c;如&#xff1a;请假审批流程、账单审批流程等。 二、mysql与pom配置 mysql要使用jdbc:mysql://localhost:3306/activiti?autoReconnecttrue pom文件要添加关键依赖 <!--activiti核心依赖--> &…...

速盾:高防 CDN,网站安全的有力保障

在当今数字化时代&#xff0c;网站安全已成为企业和个人关注的焦点。随着网络攻击手段的不断升级&#xff0c;传统的安全防护措施已经难以满足需求。而高防 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;的出现&#xff0c;为网站安全提供了有…...

宝塔搭建nextcould 30docker搭建onlyoffic8.0

宝塔搭建nextcould 宝塔搭建nextcould可以参考这两个博文 我搭建的是30版本的nextcould&#xff0c;服务组件用的是下面这些&#xff0c;步骤是一样的&#xff0c;只是版本不一样而已 nginx 1.24.0 建议选择nginx&#xff0c;apache没成功。 MySQL 8.0以上都可以 php 8.2.…...

【源码+文档+调试讲解】交通信息管理系统

摘 要 智能交通信息管理系统是一种基于计算机技术的软件系统&#xff0c;旨在提高交通管理的效率和服务质量。通过该系统可以实现智能交通管理的全面管理和优化。智能交通信息管理系统具备集成管理功能。它能够整合智能交通管理的各个业务环节&#xff0c;包括个人中心、用户管…...

小阿轩yx-案例:Ansible剧本文件实践

小阿轩yx-案例&#xff1a;Ansible剧本文件实践 Playbook 介绍 什么是 playbook playbook 顾名思义&#xff0c;即剧本&#xff0c;现实生活中演员按照剧本表演在 ansible 中&#xff0c;由被控计算机表演&#xff0c;进行安装&#xff0c;部署应用&#xff0c;提供对外的服…...

【ShuQiHere】深入理解微架构(Microarchitecture):LC-3 的底层实现 ️

【ShuQiHere】&#x1f5a5;️ 微架构&#xff08;Microarchitecture&#xff09; 是计算机体系结构中的重要概念&#xff0c;它定义了如何将 指令集架构&#xff08;Instruction Set Architecture, ISA&#xff09; 转化为实际硬件。通过微架构&#xff0c;我们可以理解计算机…...

Ubuntu24.04.1系统下VideoMamba环境配置

文章目录 前言第一步&#xff1a;基本的环境创建第二步&#xff1a;causal-conv1d和mamba_ssm库的安装第三步&#xff1a;安装requirements.txt 前言 VideoMamba环境的配置折磨了我三天&#xff0c;由于Mamba对Cuda的版本有要求&#xff0c;因此配置环境的时候Cuda版本以及各种…...

c++第十二章续(队列结构类模拟)

队列类 设计类&#xff0c;需要开发公有接口和私有实现 Queue类接口 公有接口&#xff1a; 默认初始化&#xff0c;和可以用显式初始化覆盖默认值 Queue类的实现 如何表示队列数据&#xff1a; 一种方法是使用new动态分配一个数组&#xff0c;它包含所需的元素数。不过&…...

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall

数据集-目标检测系列-豹子 猎豹 检测数据集 leopard>> DataBall 数据集-目标检测系列-豹子 猎豹 检测数据集 leopard 数据量&#xff1a;5k 想要进一步了解&#xff0c;请联系。 DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#x…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...