zoukankan      html  css  js  c++  java
  • day55-mysql-用户权限、修改秘密、忘记密码

    1.用户权限:新创建的用户没有库,如果想让新用户访问我的库,必须给它授权才可以。我在使用的navicat要关闭新用户的连接才可以授权给它。
        1.创建用户
            create user 'hanshe'@'127.0.0.1' identified by '123';  -- 创建用户
        2.移除用户
            drop user 'hanshe'@'127.0.0.1' ; -- 移除用户(要先关闭连接)
        3.修改用户
            RENAME user 'hanshe'@'127.0.0.1'  to 'hanxiaoqiang'@'192.168.0.1' -- 修改用户
        4.查看授权
            show GRANTS for 'hanshe'@'127.0.0.1';-- 查看用户权限
        5.授权
            GRANT select,update ON db1.info to 'hanshe'@'127.0.0.1';-- 授权
            GRANT all PRIVILEGES on *.* to 'hanshe'@'127.0.0.1'; -- 授权所有权限,*.* 表示所有库所有表。
        6.移除授权
            REVOKE all PRIVILEGES on *.* FROM 'hanshe'@'127.0.0.1'; -- 移除权限
        7.主机开放权限给新用户:
    
            1create user 'test'@'%' identified by '123'; 主机创建新用户'test','%'表示所有IP地址(其他电脑)都可以访问主机,密码是123.
    
                 GRANT all PRIVILEGES on *.*  to 'test'@'%';
    
                 FLUSH PRIVILEGES; -- 刷新权限
            2、用户连接主机的方法:点连接--MySQL--连接名随便输(例如输入test1),主机名或IP地址要输入主机的ip地址192.168_____,用户名test,密码123--连接测试。
                                    (用户电脑只有一个连接名test1)
    
            3、为了便于测试,需要本机连接本机,上面的'%'修改为'127.0.0.1'。
                点连接--MySQL--连接名随便输(例如输入test1,本机已有的连接名是focus),主机名或IP地址要输入localhost或127.0.0.1,用户名test,密码123--连接测试。
                连接成功之后,会有两个连接名:focus 和 test1,当你在test1当中修改数据之后,focus的数据也一样被修改。意味着用户修改了主机mysql数据库的数据。
            4、用户root是在安装mysql的时候设置的,它拥有所有权限,包括grant授权。
                 而新用户获取了主机开放的所有权限(除了grant授权),只能使用它,无法把它复制给别的用户使用。            
    
        8.localhost、127.0.0.1 和 本机IP之间的区别:
            1、localhost等于127.0.0.1,不过localhost是域名,127.0.0.1是IP地址。
            2、localhost和127.0.0.1不需要联网,都是本机访问。
            3、本机IP需要联网,本机IP是本机或外部访问, 本机 IP 就是本机对外放开访问的IP地址,这个网址就是与物理网卡绑定的IP地址。
            
    2.修改密码:我通过cmd操作方法一二三发生错误:connect to server at 'localhost' failed,所以无法修改密码。
        1.方式一:使用 mysqladmin 命令
            mysqladmin -u用户名 -p原密码 password 新密码;
            
        2.方式二:直接设置密码
            set password for 'hanshe'@'%' = password('166')
    
        3.方式三: 直接修改
            update mysql.user set password = password('123') where user ='hanshe' and host ='%'
    
            flush PRIVILEGES;
         5.7 版本
            update mysql.user set authentication_string = password('123456') where user ='test' and host ='%';
    
            flush PRIVILEGES;
        4.方式四:     可以使用navicat里面拥有修改权限的用户(例如root)连接mysql去修改其他用户的密码。
    
    3.忘记密码:下面破解方法只限于本机,其他电脑是无法做到的。我的电脑报错,无法操作。
        在忘记root密码的时候,可以这样:
     
        #1.首先打开cmd 窗口,关闭mysql服务:net stop mysql 
     
        #2.然后跳过权限检查,启动mysql,输入命令:mysqld --skip-grant-tables
     
        #3.重新打开一个新的cmd窗口,启动客户端(已跳过权限检查,可以直接登录):mysql 
     
        #4.直接进来,修改密码:update mysql.user set authentication_string=password('123456') where user='root';
     
        #5. 刷新权限:flush privileges;
  • 相关阅读:
    SQL 分页存储
    ubuntu下删除openjdk,改用sun jdk
    LCD 驱动的整体分析。
    关于IT行业人员吃的都是青春饭?[透彻讲解]
    【转载】I.MX25上摄像头调试总结
    wifi 移植
    函数指针的透彻分析
    关于module_param()宏 (转)
    problem with aptget update ubuntu 11.10
    YUV 格式讲解
  • 原文地址:https://www.cnblogs.com/python-daxiong/p/12191107.html
Copyright © 2011-2022 走看看