zoukankan      html  css  js  c++  java
  • mysql数据库忘记密码时如何修改

     1.打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

    2.打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

    3.输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

    4.然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。

    5.输入show databases;   可以看到所有数据库说明成功登陆。

    6.其中mysql库就是保存用户名的地方。输入 use mysql;   选择mysql数据库。

    7.      show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

    8.输入select user,host,password from user;   来查看账户信息。

    9.更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';

    10.再次查看账户信息,select user,host,password from user;   可以看到密码已被修改。

    11.退出命令行,重启mysql数据库,用新密码尝试登录。

    12.测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

    13.我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。 

    Linux下忘记密码情况下修改密码

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 
    因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 

    2.修改MySQL的登录设置: 
    # vi /etc/my.cnf 
    在[mysqld]的段中加上一句:skip-grant-tables 
    例如: 
    [mysqld] 
    datadir=/var/lib/mysql 
    socket=/var/lib/mysql/mysql.sock 
    skip-grant-tables 
    保存并且退出vi。 

    3.重新启动mysqld 
    # /etc/init.d/mysqld restart 
    Stopping MySQL: [ OK ] 
    Starting MySQL: [ OK ] 

    4.登录并修改MySQL的root密码 
    # /usr/bin/mysql 
    Welcome to the MySQL monitor. Commands end with ; or g. 
    Your MySQL connection id is 3 to server version: 3.23.56 
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer. 
    mysql> USE mysql ; 
    Reading table information for completion of table and column names 
    You can turn off this feature to get a quicker startup with -A 
    Database changed 
    mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 
    Query OK, 0 rows affected (0.00 sec) 
    Rows matched: 2 Changed: 0 Warnings: 0 
    mysql> flush privileges ; 
    Query OK, 0 rows affected (0.01 sec) 
    mysql> quit 
    Bye 

    5.将MySQL的登录设置修改回来 
    # vi /etc/my.cnf 
    将刚才在[mysqld]的段中加上的skip-grant-tables删除 
    保存并且退出vi。 

    6.重新启动mysqld 
    # /etc/init.d/mysqld restart 
    Stopping MySQL: [ OK ] 
    Starting MySQL: [ OK ]
     
     
  • 相关阅读:
    如何最快速的找到页面某一元素所绑定的点击事件,并查看js代码
    Python3 实现 JS 中 RSA 加密的 NoPadding 模式
    Python实现京东自动登录
    使用Chrome或Fiddler抓取WebSocket包
    python的ws库功能,实时获取服务器ws协议返回的数据
    js遍历对象所有的属性名称和值
    selenium webdriver 实现Canvas画布自动化测试
    CE教程
    How to Get Text inside a Canvas using Webdriver or Protractor
    HTML <​canvas> testing with Selenium and OpenCV
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5103417.html
Copyright © 2011-2022 走看看