位置: 编程技术 - 正文

MySQL 5.7 学习心得之安全相关特性(mysql5.7.)

编辑:rootadmin

推荐整理分享MySQL 5.7 学习心得之安全相关特性(mysql5.7.),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql 5.6 5.7,mysql5.7从零开始学,mysql学习资料,mysql5.7介绍,mysql5.5教程,mysql 5.7.1,mysql5.7从零开始学,mysql5.7.,内容如对您有帮助,希望把文章链接给更多的朋友!

1,账号安全相关的特性

1.1:创建用户

5.7版本的用户表mysql.user要求plugin字段非空,且默认值是mysql_native_password认证插件,并且不再支持mysql_old_password认证插件。5.7用户长度最大为字节,之前最大长度为字节,并且CREATE USER 和 DROP USER 命令里实现了 IF [NOT] EXISTS 条件判断。5.7之后用户通过grant创建用户报warning。如:

提示grant创建账户的语法将会被删除,用cerate user代替,创建用户分2步:创建和授权。

先通过create user 创建用户:

再通过grant来授权:

注意:授权管理用户的时候,不止只有all的权限,还要包括with grant option和proxy的权限。proxy权限需要在代理用户的时候用到。

查看用户权限:

查看用户密码:

1.2:密码过期策略

为用户设置密码过期时间,一定时间以后,强制用户修改密码。可以直接在create user的时候设置,也可以alter user设置:

PASSWORD EXPIRE DEFAULT   默认,过期时间受全局变量default_password_lifetime控制 PASSWORD EXPIRE NEVER 永不过期 PASSWORD EXPIRE INTERVAL N DAY   N天后过期 PASSWORD EXPIRE 过期

直接创建用户的时候设置:

对已有用户设置

注意:设置一个用户过期后,登陆会有提示修改密码,不能进行任何操作:适用让程序不能访问数据库。

设置用户密码过期:

执行任何命令报错:

解决办法:重置密码 alter user dxy@localhost identified by '';

1.3:锁定禁用用户 alter user

当某些场景需要"锁"住用户,暂时禁用某个用户:适用让程序不能访问数据库。

设置锁定用户:

登陆报错:

解决办法:解锁用户

1.4 代理用户

基于mysql_native_password的认证插件自带了代理用户的功能。代理用户相当于“代理”其他用户的权限,这样很方便的把一个账号的权限授予其他账号,而不需要每个账号都需要执行授权操作。开启代理用户的功能需要开启参数:check_proxy_users 和 mysql_native_password_proxy_users

创建原始账号:

授权:

创建代理账号:

MySQL 5.7 学习心得之安全相关特性(mysql5.7.)

授权代理权限:

查看:

用代理账号登陆测试:

查看登陆账号:代理账号current_user(),原始账号user()

查看权限:发现代理账号的权限显示的是原始账号的权限

验证代理账号是否有test库的权限:

验证得出代理账号(dxy_proxy)代理了原始账号(dxy)的权限。

1.5:其他选项:SSL、MAX_QUERIES_PER_HOUR、MAX_UPDATES_PER_HOUR、MAX_CONNECTIONS_PER_HOUR、MAX_USER_CONNECTIONS。当需要限制账号通过ssl登陆,需要添加require,当需要限制资源,需要添加with:

2,外部相关的安全

2.1:MySQL5.7已经删除了test数据库,默认安装完后是没有test数据库,原先任何用户都可以访问test数据库,增加安全隐患。

2.2:MySQL5.7提供了更为简单SSL安全访问配置,并且默认连接就采用SSL的加密方式。在5.7之前,生成SSL相关文件需要自己手动创建,可以查看这篇文章,5.7之后MySQL通过

mysql_ssl_rsa_setup可以直接生成了:

可以在数据目录下面看到一些以pem结尾的文件,而这些文件就是开启SSL连接所需要的文件(注意文件权限),之后用账号

默认登陆:

强制ssl登陆:

从上面看到均已ssl登陆,若在创建用户时,希望该用户每次必须通过SSL方式,则需在创建用户通过REQUIRE SSL来进行设置,上面已经介绍。姜承尧文章中的测试案例显示开启SSL性能开销在%左右:MySQL的SSL加密连接与性能开销

2.3:MySQL5.7开始建议用户使用 mysqld --initialize来初始化数据库,放弃之前的mysql_install_db的方式,新的方式只创建了一个root@localhost的用户,随机密码保存在~/.mysql_secret文件中,第一次使用必须reset password。

初始化数据库:新建实例。

mysqld --initialize --datadir=/var/lib/mysql/

2.4:MySQL5.7 sql_mode的变更,

5.7默认的sql_mode

select @@sql_mode;ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

5.7之前默认的sql_mode

select @@sql_mode;NO_ENGINE_SUBSTITUTION

看到在5.7中sql_mode更加严格。解释下各个mode的含义:

ONLY_FULL_GROUP_BY   不要让GROUP BY部分中的查询指向未选择的列   STRICT_TRANS_TABLES 为事务存储引擎启用严格模式,也可能为非事务存储引擎启用严格模式 NO_ZERO_IN_DATE 在严格模式,不接受月或日部分为0的日期 NO_ZERO_DATE 在严格模式,不将 '--'做为合法日期 ERROR_FOR_DIVISION_BY_ZERO 在严格模式,在INSERT或UPDATE过程中,如果被零除(或MOD(X,0)),则产生错误   NO_AUTO_CREATE_USER 防止GRANT自动创建新用户,除非还指定了密码 NO_ENGINE_SUBSTITUTION 如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎

在默认情况下5.7的情况:

注意:在一个主从环境下,为保证数据的一致性,一定要设置主从的sql_mode一样,在数据迁移的时候也要保证sql_mode的一致,不然复制和迁移遇到上面的限制均会失败,所以尽可能使用标准SQL语法。

3,总结:

在MySQL 5.7中,有不少安全性相关的改进:创建账号分2步:用create user来建立账号(账号长度加大),用grant 来授权;初始数据库的时候密码不为空;账号可以锁和可以设置密码过期;test库被删除;默认提供ssl连接;sql_mode增强等。文章从这些方面进行了介绍和测试,进一步加深对MySQL5.7的认识。

以上所述是小编给大家介绍的MySQL 5.7 学习心得之安全相关特性,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

MySQL 密码增强插件 介绍以前没有太注意MySQL密码安全策略的配置方法,只是人为了将密码设为复杂密码,但是没有找到配置的方法,今天姜承尧的微信公众号正好发布了一

MySql5.6使用validate password 插件加强密码强度的安装及使用方法 mysql5.6对密码的强度进行了加强,推出了validate_password插件。支持密码的强度要求。安装办法:在配置文件中打开[mysqld]plugin-load=validate_password.sovalidate-pas

Mysql row number()排序函数的用法和注意 虽然使用不多,但是也有情况是需要在mysql里面写语句开发功能的。在sqlserver使用惯了,习惯了使用row_number()函数进行排序,但是mysql确没有这样一个函

标签: mysql5.7.

本文链接地址:https://www.jiuchutong.com/biancheng/347889.html 转载请保留说明!

上一篇:MySQL命令行导出与导入数据库(mysql命令行导出表结构)

下一篇:MySQL 密码增强插件(mysql加密解密)

  • 个体工商户单位性质怎么填
  • 实收资本印花税怎么申报税目
  • 京东佣金费用计算公式
  • 什么情况下要交个人所得纳税
  • 小规模纳税人核算方式选什么
  • 生产企业出口货物会计分录
  • 广告合同印花税率怎么算
  • 退休人员基本养老金调整幅度需要综合考虑什么因素
  • 代扣代缴城建税可以享受六税两费
  • 农产品收购发票是普票还是专票
  • 收到增值税专用发票怎么处理
  • 生产企业外购商品经过加工
  • 经营性租出固定资产的租金收入计入
  • 增值税发票暂时无法查看怎么回事
  • 房地产开发企业预收款预缴增值税
  • 一次性奖金可以分2次发吗
  • 国税和地税分别占多少
  • 不是本公司员工
  • 新公司营业执照经营范围越多越好吗
  • 预收账款怎么冲减应收账款
  • 总分机构类型怎么选
  • 收到认证费用计入什么科目
  • 合作社未按时报税怎么处理?
  • 一般纳税人取得免税农产品进项怎么抵扣
  • 个人转租房子
  • 外聘老师课时费计入什么科目
  • 桌面图标变成了白色的
  • w11如何激活
  • 与存货相关的车间固定资产日常
  • 期末增值税进项税大于销项税的金额计入哪里
  • thinkphp i方法
  • 车辆被盗
  • 啥叫同比增长
  • 小程序常见问题
  • 境外机动车临时可以办理什么车险业务
  • 微信php接口
  • vue系列教程
  • 如何在亚马逊平台卖货
  • 开发票的销售收入,正规的做账怎么做
  • 支付中介费和物业费比例
  • 无实物的固定资产有哪些
  • 增值税电子普通发票和专票的区别
  • 关联方计提坏账吗
  • 将织梦dedecms转换到wordpress
  • mysql常用命令汇总
  • 记 vue-cli-plugin-dll 使用,优化vue-cli项目构建打包速度
  • 母公司给子公司借款要利息吗
  • 客户多付的货款计哪里
  • 企业应付账款科目的借方余额反映的是
  • 上月未结账本月不能结账
  • 企业稳岗补贴计算公式
  • 砖厂会计账务处理流程图
  • 报废的固定资产清理的净损失计入营业外支出
  • 差额征税问题
  • 主营业务利润率反映了企业的什么能力
  • 法院强制执行扣完款就完事了吗
  • 员工报销的话费要缴纳个税吗?
  • 固定资产的改良支出有哪些
  • 企业收到退回的银行汇票多余款项时,应作的会计处理有
  • 会计做账做错了
  • 承包工程合同书
  • sql多表关联修改操作
  • sql server查询
  • rhel7.4安装
  • 演示模式怎么设置
  • win7如何创建新桌面
  • win8microsoft账户
  • 滤镜调试
  • 在解决ul居中问题时想到的几点
  • 不易引起无意注意的是
  • jQuery 判断JSON
  • shell脚本怎么进入指定目录
  • unity arkit
  • jquery基础教程详解
  • Android的PopupWindow使用android学习之旅(四十三)
  • javascript闭包运行原理
  • 残疾人可以免增值税吗
  • 税务补录什么时候上班
  • 什么叫以物易物
  • 改革的财税制度是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设