热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:收藏MySQL忘记密码怎么办?MySQL安装远程链接密码重置,一文全掌握!

本文由编程笔记#小编为大家整理,主要介绍了收藏MySQL忘记密码怎么办?MySQL安装远程链接密码重置,一文全掌握!相关的知识,希望对你有一定的参考价值。实验环境:
本文由编程笔记#小编为大家整理,主要介绍了收藏MySQL忘记密码怎么办?MySQL安装远程链接密码重置,一文全掌握!相关的知识,希望对你有一定的参考价值。


实验环境:





  • vagrant构建的 ubuntu18.04虚拟机


mysql全新安装步骤

以下步骤假设没有任何版本的MySQL安装在你的系统上。


增加MySQL APT仓库




  • 下载 MySQL APT仓库,点击







  • 安装下载的MySQL APT仓库


    sudo dpkg -i /PATH/version-specific-package-name.deb
    //例如我这里就是
    sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb



    1


    上图表示三个配置(默认配置)


    如果你想更改默认配置,可以挨个点选进去,进行配置






    • MySQL Server & Cluster 当前选择的是 mysql-8.0



    • MySQL Tool & Connetor 当前的选择是 Enable(激活)



    • MysSQL Preview Packages 当前的选择是 Disabled(禁用)




  • 执行更新apt仓库的操作,执行后,MySQL-8.0的安装包将会被加入到apt仓库中


    sudo apt-get update



使用APT安装MySQL

sudo apt-get install mysql-server


【收藏】MySQL忘记密码怎么办?MySQL安装、远程链接、密码重置,一文全掌握!

2

输入密码,选择 ,重复两次就可以了。



【收藏】MySQL忘记密码怎么办?MySQL安装、远程链接、密码重置,一文全掌握!

image-20210221161127948

这里,我们选择 Use Strong Password Encryption(强密码加密),到此,MySQL安装就算完成了。

我们来执行一下mysql链接

#mysql -h$ip -P$port -u$user -p
#由于我们的MySQLServer和MySQLClient都在一台虚拟机中,且使用默认端口3306,所以我们可以省略 ip和port
vagrant@ubuntu-bionic:~$ mysql -uroot -p
Enter password: 
mysql> 

修改MySQL配置,使其允许远程访问

默认情况下,MySQLServer仅允许本机访问。

但在一些情况下我们需要MySQLServer允许其他计算机访问,例如内网中的其他机器,亦或者是开发环境中,为了方便开允许所有的机器连接。

那这些操作怎么做呢,我们继续看

vagrant@ubuntu-bionic:~$ mysql -uroot -p
Enter password: 
mysql> use mysql;
mysql> CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'iamsuperman';
mysql> GRANT ALL ON *.* TO 'remoteuser'@'%';
mysql> ALTER USER 'remoteuser'@'%' IDENTIFIED WITH mysql_native_password BY 'iamsuperman';
#如果你想只允许特定的Ip连接MySQLServer,那么可以这么写
#mysql> ALTER USER 'remoteuser'@'{指定ip}' IDENTIFIED WITH mysql_native_password BY 'iamsuperman';
mysql> FLUSH PRIVILEGES; 
mysql> exit
(base) vagrant@ubuntu-bionic:~$ sudo service mysql restart

重启MySQLServer后,我们发现下图情况,表示我们可以使用remoteuser进行远程连接。



由于我们我们执行了 GRANT ALL ON . TO 'remoteuser'@'%'; 语句,所以remoteuser等同于root用户,拥有所有权限





image-20210221163440865


忘记root密码怎么办

一不小心,忘了密码怎么办呢?肯定不是凉拌就咸菜。

不要着急咱们继续往下讲





  • 第一步


    $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    #/etc/mysql/mysql.conf.d/mysqld.cnf
    [mysqld]
    pid-file = /var/run/mysqld/mysqld.pid
    socket = /var/run/mysqld/mysqld.sock
    datadir = /var/lib/mysql
    log-error = /var/log/mysql/error.log
    skip-grant-tables

    在文件末尾添加 skip-grant-tables,用于使MySQLServer重启后,不在检查用户权限





  • 第二步,重启MySQL服务


    $ sudo service mysql restart




  • 第三步,输入mysql直接登录MySQL服务


    $ mysql
    mysql> use mysql;
    mysql> select authentication_string  from user where user='root';
    # 我们会看到
    +------------------------------------------------------------------------+
    | authentication_string                                                  |
    +------------------------------------------------------------------------+
    | $A$005$xQI&%/b/]=h5BM8FODO3pX6gSlaFCv9tJkUgt9bMFAZLVDYJqAAcGeaLA |
    +------------------------------------------------------------------------+
    # authentication_string就是加密后的密码,但是却不能直接修改成我们想要的密码。
    # 这里我们先将该值置空,然后取消skip-grant-tables,再重启,登陆,修改密码

    mysql>
     update user set authentication_string = '' where user = 'root';
    mysql> quit
    $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    # 删除之前加在末尾的 skip-grant-tables
    $ sudo service mysql restart
    $ mysql -u root -p //提示输入密码时直接敲回车。
    mysql> use mysql;
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    # 退出,重启MySQL即可。至此MySQL密码重



文中涉及的软件包获取




直截了当公众号

长按扫码关注





  • 回复 mysqlapt 获取 mysql-apt-config_0.8.16-1_all.deb





  • 回复 navicat 获取 navicat 安装包和注册机,激活教程 https://www.bilibili.com/video/BV12K41157iR





精选文章






















创作不易,点个
在看吧,很实用建议收藏



推荐阅读
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 树莓派4B:安装基础操作系统指南
    本文将详细介绍如何为树莓派4B安装基础操作系统,包括所需材料、镜像下载、镜像烧录以及更换国内源等步骤。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
author-avatar
G路过的彩虹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有