• 找回丢失的mysql服务的root用户的密码


        一、关闭mysqld服务。服务名称则根据电脑上的实际服务名来决定,windows下则用以管理员身份运行cmd.exe程序,然后输入:net stop mysql的服务名称。

        二、打开一个cmd窗口,以跳过权限检查的方式启动mysql服务。在cmd窗口中输入如下:

    mysqld  --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"  --console --skip-grant-tables。--defaults-file选项指定mysql服务器的默认配置文件。而--skip-grant-tables选项表示忽略权限检查。这个窗口一直开着

       三、更新名称为mysql这个数据库名中的user表中的root用户名的密码字段authentication_string。操作如下:

    先开启另一个cmd窗口,然后输入命令:mysql --user=root -p

    然后直接回车,不用输入密码

    然后查看该服务器上的所有数据库名称,输入命令:show databases;

    然后进入名称为mysql的这个数据库,输入命令:use mysql;

    然后修改密码:update user set authentication_string=password('1314520') where user='root';

    然后刷新权限输入命令:flush privileges;

    再退出输入命令:quit;

    最后重启服务器:net start mysql57;

       四、到此,mysql服务的root权限的密码重置了。注意上面的authentication_string字段,因版本不同而有所不同,mysql5.7版本的是authentication_string字段,以前的版本有的是password字段;赋值密码时,需要使用数据库自带的password函数,而不能直接赋值为明文密码。另外还有可能因为The innodb_system data file 'ibdata1' must be writable服务器无法启动,所以建议重启该服务前删除mysql的配置文件my.ini中datadir所代表的目录下面的两个文件ib_logfile0,ib_logfile1这两个文件。

    --------------------------------------------------------------------------------------

    --------------------------------------------------------------------------------------

    针对ubuntu上面的mysql5.7.22上面的密码丢失找回如下:

       1、找到配置文件mysqld.cnf。文件路径如下:

       2、添加如下内容skip-grant-tables

       3、重启服务:# sudo service mysql restart

       4、输入:# mysql。直接回车。然后进入mysql库:use mysql;

       5、修改mysql数据库中user表的密码字段authentication_string和字段plugin。然后退出:#quit

     

       6、注释掉my.cnf文件中的skip-grant-tables。

       7、重启mysql服务。

    igoodful@qq.com
  • 相关阅读:
    大数据Hadoop第二周——配置新的节点DataNode及ip地址
    vue环境搭建详细步骤
    苹果电脑Mac系统如何下载安装谷歌Chrome浏览器
    点云的基本特征和描述
    ModuleNotFoundError: No module named 'rospkg'
    ROS的多传感器时间同步机制Time Synchronizer
    Spring Cloud 2020 版本重大变革,更好的命名方式!
    Spring MVC 接收请求参数所有方式总结!
    阿里为什么不用 Zookeeper 做服务发现?
    微服务之间最佳调用方式是什么?
  • 原文地址:https://www.cnblogs.com/igoodful/p/9013698.html
Copyright © 2020-2023  润新知