• Linux环境下MySQL的安装、密码策略、忘记密码后的破解及用户授权等。


    mysql安装、用户密码、密码策略、授权用户等(mysql5.7版本)

    1.mysql安装后相关目录与文件:
        主配置文件: /etc/my.cnf
        数据库目录: /var/lib/mysql/
        默认端口号: 3306
        进程名: mysqld
        传输协议: TCP
        进程所有者: mysql
        进程所属组: mysql
        错误日志文件: /var/log/mysql.log

    2.mysql密码策略:
        0或者LOW 长度;
        1或者MEDIUM 长度;数字、小写/大写,特殊字符
        2或者STRONG 长度;数字、小写/大写,特殊字符;字典文件

    3.恢复root密码的相关配置说明(当mysql的root密码忘记时使用)
        --skip_grant_tables:此选项会让MySQL服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证直接登陆MySQL服务器,并且拥有所有的操作权限。
        --skip_networking:此选项会关门MySQL服务器的远程连接。这是因为以--skip_grant_tables方式启动MySQL服务器会有很大的安全隐患,为了降低风险,需要禁止远程客户端的连接。

    4.mysql授权用户的权限:
      命令        权限
      usage          无权限
      SELECT      查询表记录
      INSERT       插入表记录
      UPDATE      更新表记录
      DELETE      删除表记录
      CREATE      创建库、表
      DROP       删除库、表
      RELOAD     有重新载入授权 必须拥有reload权限,才可以执行flush [tables | logs | privileges]
      SHUTDOWN    允许关闭mysql服务 使用mysqladmin shutdown 来关闭mysql
      PROCESS    允许查看用户登录数据库服务器的进程 ( show processlist; )
      FILE       导入、导出数据
      REFERENCES   创建外键
      INDEX      创建索引
      ALTER        修改表结构
      SHOW DATABASES             查看库
      SUPER               关闭属于任何用户的线程
      CREATE TEMPORARY TABLES   允许在create table 语句中使用 TEMPORARY关键字
      LOCK TABLES             允许使用 LOCK TABLES 语句
      EXECUTE             执行存在的Functions,Procedures
      REPLICATION SLAVE       从主服务器读取二进制日志
      REPLICATION CLIENT        允许在主/从数据库服务器上使用 show status命令
      CREATE VIEW             创建视图
      SHOW VIEW              查看视图
      CREATE ROUTINE         创建存储过程
      ALTER ROUTINE            修改存储过程
      CREATE USER             创建用户
      EVENT                有操作事件的权限
      TRIGGER,             有操作触发器的权限
      CREATE TABLESPACE        有创建表空间的权限

    5.授权用户的客户端地址:
      库名
      所有库所有表:    *.*
      一个库:       库名.*
      一张表:       库名.表名

    6.授权用户的用户名:
      授权时自定义 要有标示性,存储在mysql库的user表里

    7.授权用户的客户端地址
      所有主机:         %
      网段内的所有主机:   192.168.1.%
      1台主机:        192.168.1.1
      数据库服务器本机:   lsocalhost


    具体过程如下:

    将下载好的软件包使用tar -xvf 命令解压后使用yum软件管理工具安装(使用yum安装可以解决依赖关系)

      

    提示如下则安装成功。(也可以使用、rpm -qa | grep mysql 查看软件是否已安装)

      

    启动mysql服务

      

    利用grep 工具筛选包括password的行,使用随机密码登录mysql数据库,现在会发现无法执行查询语句,因为首次登录需要修改密码。

      

    修改数据库本地用户root登录密码为‘Aa123456...’(如下图修改密码后执行查询语句就不会报错)

      

    使用修改后的密码登录系统(修改的密码要遵循mysql默认的密码策略,即长度为8,包含数字、小写/大写,特殊字符)

      

     修改密码策略为0,长度为6,并设置密码为123456(密码策略为0是只验证密码长度,上述有详细介绍)

      

    退出当前连接,使用修改后密码连接

      

     上述命令行中密码策略的修改为临时修改,重启服务无效,永久修改需写入、/etc/my.cnf配置文件中,如下:

     在mysql命令行下也能执行系统命令,需在命令前加system 如修改配置文件system  /etc/my.cnf

       

    查看当前密码策略已经为LOW(0)长度为6

      

     在配置文件中添加如下配置项重启后实现跳过验证恢复root密码(必须把上述在配置文件的密码策略注释才会重启成功)

      

    重启服务后,输入mysql直接进入数据库

           

     通过mysql库下的user表修改本地root用户密码为654321,

           

    删除刚才的跳过验证无密码登录额配置或者注释,重启服务,使用刚刚修改的密码654321登录数据库服务

       

     新建jrjs库.jrjs表

       

     授权一个jrjs用户权限为所有权限,密码为“Aa123456.”

      

     使用授权用户jrjs登录数据库,查看当前登录用户权限。

       

      以上就是关于mysql数据库密码,用户授权,配置文件等的相关知识及具体操作方法。

                                                    2019-09-21

  • 相关阅读:
    DOM增删改替换
    DRF框架之序列化器serializers组件详解
    DRF基础操作流程
    DRF框架基础知识储备
    selectors模块
    并发编程——IO模型详解
    高性能web服务器——nginx
    Django中的ORM如何通过数据库中的表格信息自动化生成Model 模型类?
    使用cors完成跨域请求处理
    Flask基础
  • 原文地址:https://www.cnblogs.com/jrjs/p/11565228.html
Copyright © 2020-2023  润新知