精华内容
下载资源
问答
  • eclipse调试时F6不管用怎么办,是怎么回 难道是系统没有按好、
  • 我昨天引入cube-ui的scroll组件横向滚动组件的时候,就是这个横向滚动 - Horizontal,一直无法滚动,我找了半天都找出来是什么,由于昨天心情不好,也没有很认真去研究,今天再来看这个问题,终于发现原因了。...

    我昨天引入cube-ui的scroll组件横向滚动组件的时候,就是这个 横向滚动 - Horizontal,一直无法滚动,我找了半天都找不出来是为什么,由于昨天心情不好,也没有很认真去研究,今天再来看这个问题,终于发现原因了。

    按照文档给出的如下代码是完全没有问题的:

    <cube-scroll
      ref="scroll"
      :data="items"
      direction="horizontal"
      class="horizontal-scroll-list-wrap">
      <ul class="list-wrapper">
        <li v-for="item in items" class="list-item">{{ item }}</li>
      </ul>
    </cube-scroll>
    .horizontal-scroll-list-wrap
      border: 1px solid rgba(0, 0, 0, 0.1)
      border-radius: 5px
      .cube-scroll-content
        display: inline-block
      .list-wrapper
        padding: 0 10px
        line-height: 60px
        white-space: nowrap
      .list-item
        display: inline-block

    可是我作死啊,偏偏把它改成 less语法。。。然后就GG了,less语法不能正确编译出来,缺少了一个样式,最关键的一个:

    .cube-scroll-content
        display: inline-block

     所以,现在改回来就可以了。

    展开全文
  • 重要且紧急的:因时而变,一般不得做的快要到达dead line。重要但紧急的:学习python,图像处理知识,机器学习,深度学习,ROS操作。紧急但重要的:完成老师布置的各项任务,还有很长时期。紧急且...

    重要且紧急的事:因时而变,一般为不得不做的事快要到达dead line。

    重要但不紧急的事:学习python,图像处理知识,机器学习,深度学习,ROS操作。

    紧急但不重要的事:完成老师布置的各项任务,还有很长时期。

    不紧急且不重要的事:打游戏,看电影等娱乐活动

    遇到新的问题,在现有的基础上改,不要推翻重做。

    没有什么努力使白费的,现在的每一次尝试虽然短期没什么用处,但在长远看来是有用的。

    展开全文
  • MySQL安全你知道的

    万次阅读 多人点赞 2020-11-30 11:35:49
    多得是,你知道的

    有情怀,有干货,微信搜索【三太子敖丙】关注这个不一样的程序员。

    本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点、资料以及我的系列文章。

    MySQL这么多章节了,前前后后20多篇了,我看了下自己本地的目录,已经可以说是很全了,但是有一点我发现很关键但是我还没提过,那就是安全。

    安全对任何一个系统都至关重要,只有在保证安全的前提下,才能追求稳定性和高性能。

    对于一个企业来说,数据就是企业的财富,之前我们也看到过微盟删库以及顺丰删库导致服务长时间不可用的惨案,那么如何保证数据的安全变得尤为重要,下面就聊聊跟MySQL安全相关的那些事,希望对大家有所帮助咯。

    MySQL服务器安全

    对于自建机房的MySQL服务器安装都会经历网络配置,存储规划,安装服务器以,安装MySQL。

    存储安全

    自建MySQL服务器

    对于自建MySQL服务器来说,为了磁盘不出现单点故障,一般都会使用RAID磁盘冗余阵列的方式,有两种模式:硬件RAID和软件RAID,硬件RAID需要购买RAID卡支撑,软件RAID通过软件包mdadm生成即可,生产环境建议选择硬件RAID,一般需要对多块盘先做RAID,对于数据库服务器来说,通常选择RAID10(也称为RAID 1 + 0,先进行镜像RAID1,再进行条带化RAID0存储),读写性能都比较好。

    在实际的生产环境,一般都会有8块盘,每块盘800G,在服务器启动的时候,先做磁盘RAID划分,通常划分两个卷组(volume group),一个是操作系统内置目录使用rootvg,一个就是MySQL的数据相关的卷组datavg,LVM操作主要的步骤如图:

    通过以上的存储划分及配置RAID10,MySQL产生的数据都会写到/data目录下,同步到逻辑卷lvdata中,进而同步到物理卷中,最终同步到物理磁盘中镜像存储,有效避免了单盘损坏导致的数据不可用。

    公有云RDS

    对于RDS来说,线上环境一般都选择高可用版,即一主一从模式,默认情况下Slave只做failover(故障切换),主要是由于Master和Slave服务器的磁盘没有做RAID。

    网络安全

    • 设置白名单

    对于自建机房,一般都会使用硬件防火墙来做网络隔离以及IP白名单限制,只允许指定的应用服务器通过3306端口连接MySQL Server,其他的恶意请求应该在防火墙层面进行拦截,例如RDS控制台的数据安全可以添加指定IP。

    • 外网访问

    数据库服务器只需要内网访问,禁止开通外网地址或者公网地址。

    操作系统安全

    安装完操作系统(例如CentOS 7.4)后,要进行安全漏洞扫描及定期巡检,主要有以下几个方面需要注意:

    root启动MySQL

    MySQL Server安装完之后,如果用root启动MySQL,则任何具有FILE系统权限的用户都可以读写root用户下的文件,会造成严重的安全隐患,应该将软件目录属主设置成root用户,数据目录属主设置成mysql用户,使用mysql用户启动MySQL实例。

    账号弱密码

    Linux服务器的所有账号密码不能是弱密码(例如密码是纯数字,纯字母,账号的一部分等,长度太短),建议所有的账号都设置20位长度,包括数字,大写字母,小写字母以及特殊字符。

    对外开放端口

    对于MySQL数据库服务器,除了3306端口开发给指定的应用服务器访问外,其他的端口都应该禁用掉,例如ssh, ftp, telent服务端口。

    服务漏洞

    在用绿盟或者其他工具进行安全扫描时,都会发现一些系统漏洞,常见的有ntp漏洞,vsftpd的漏洞等。这时就需要停机去打patch修复,再次进行扫描,直到全部通过才能安装MySQL。

    密码登录

    对于生产服务器,严禁本地通过密码直接登录,建议采用跳板机 jumpserver 的方式,每个用户都用自己 jumpserver 账号去登录,然后选择自己要访问的服务器(需要提前告知管理员添加),默认的登录用户(例如 server 用户)只有只读权限,不能做任何修改操作。

    审计功能

    用户通过 jumpserver 登录到生产服务器的所有操作都应该被审计和录屏,并且定时回放这些操作,确认每一步都是最优的,没有不必要的多操作。

    操作命令历史

    用户登录到 Linux 服务器上的所有操作命令都会记录到 history 中,将 history 设置大一点,保存更多的操作命令记录。

    资源限制

    通过配置/etc/security/limits.conf文件限制用户资源使用,例如打开进程数,文件数,文件大小及内存等。

    服务器备份

    定期的对服务器进行备份,备份内容主要包括 Linux 内置目录(/usr /var /lib)和MySQL数据目录(数据文件,binlog,undolog, redolog),同时要定期检查备份的有效性以及恢复演练,以下是阿里云 ECS 的快照,建议每天一个快照,保留7天。

    MySQL数据库安全

    账号安全

    账号密码

    建议所有的账号都设置20位长度,包括数字,大写字母,小写字母以及特殊字符,如^N9UxOR&ydQWCBvIwqql

    账号分离

    对于分布式系统来说,会有多个服务,且服务之间存在调用关系,比如交易 trade-service 会调用支付 payment-service。

    为了安全起见,给每个服务创建一个数据库,同时分配自己的账号,禁止跨库访问。

    账号权限

    保证账号权限最小化原则,对于业务账号来说,只需要授予连接,查询,新增,修改的权限即可。

    使用SSL连接

    对于数据安全性要求比较高的业务,建议启用SSL连接,这样即使用抓包工具分析,也不能看到具体的SQL文本。但从SSL实现方式来看,建立连接时需要进行握手、加密、解密等操作,连接建立阶段比较耗时,如果使用连接池或者长连接不会有太大影响,如果是短连接性能损耗比较大。

    系统权限

    mysql.user权限

    除了MySQL root账号之外,其他任何账号对mysql.user的表有修改权限,会带来安全风险:账号密码被修改和认证插件修改。

    修改账号密码

    修改密码认证方式

    MySQL默认都是本地密码认证插件 mysql_native_password,如果改成 auth_socket,则不需要密码,只检查用户是否使用UNIX套接字进行连接,然后比较用户名即可。

    权限风险

    一般允许普通开发人员通过 jumpserver 登录到中转机,然后用mysql -h -u -p以只读账号的方式访问数据库,有时也想看一下information_schema下长事务(innodb_trx)等相关的信息,需要授予process系统管理权限,会带来一些安全隐患。

    这样只读账号也能查看innodb_trx表中所有业务账号正在执行的SQL语句,SQL可能包含敏感信息。

    在以前的MySQL版本,拥有process系统权限的用户还可以锁定系统表,比如lock table mysql.user read,导致正常修改用户的操作

    FILE权限

    具有FILE权限可以将数据通过SELECT…..INTO OUTFILE…..写到服务器上有写权限的目录下,作为文本格式存放,也可以通过LOAD DATA INFILE…将文本文件数据导入到数据表中。

    审计功能

    安装 MySQL Server 之后,应该配置和开启 Audit Plugin,这样经过 MySQL Server 执行所有的 SQL 都会被记录下来,一方面可以排除问题,另一方面可以做性能监控分析(例如一段时间内某个SQL的QPS,TPS)。

    数据备份

    需要定时备份数据文件和 binlog,对于自建 MySQL 服务器,可以使用xtrabackup去做每天的物理全备,对于RDS来说,需要配置备份策略,同时也要定期的检查的备份完整性和有效性。

    异地容灾

    对于核心的业务系统,比如交易,支付等,要做好数据库的异地容灾,避免由于地震等自然灾害造成数据不可恢复。

    数据安全

    数据是企业宝贵的资源,每个业务域产生的数据以及需要的数据都不一样,如何保证安全的访问数据是非常重要的,一般大公司都有自己的数据管理平台,比如阿里的iDB,现在已经是一个服务DMS(数据管理服务),可以管理各种类型的数据库。

    数据访问范化

    所有数据变更都应该走审批流程,发起人和审批人不能是同一个,重要敏感的数据操作需要提交工单,进行多级审批,确认没有问题才能执行,执行之前要先做好备份,以便回滚时使用。建议使用数据库管理平台来管理数据库,一般需要用户注册账号,申请权限(数据导出,结构变更,数据变更),服务Owner审批,提交工单进入审批流程等操作,所有的操作环节都会记录操作日志。

    数据脱敏

    对核心业务表的敏感字段要进行脱敏处理,例如姓名,邮箱,电话号码,身份证号码,可以利用中间平台去处理,例如阿里云的DMS可以配置数据脱敏,支持数据库,表,字段三个级别,默认在平台上查询都是以*号显示,如果想要查看明文,需要申请敏感数据权限,并提交工单,审批通过后才可以查看,权限时间默认为一天,最长不超过7天。

    在做营销活动之前,都会做数据库性能压测,需要把PROD数据库全量导入UAT环境,会涉及一些敏感数据,一般需要通过中间层做脱敏处理,例如手机号可以前3位后3位进行打码处理,15222210123脱敏成152****123。

    数据加密

    从MySQL 5.7开始,InnoDB支持对独立表空间静态数据加密,是引擎内部数据页级别的加密手段,当数据页写入文件系统时加进行加密,从数据文件读到内存中时解密,基于旋转秘钥文件而起作用,对于数据保护非常有用。

    主秘钥文件存储在磁盘上,同时要做好备份,对于加密的表,表空间秘钥由主秘钥并存储在表空间文件的头部中,使用的加密算法是AES,加密模式是块加密。

    我们来看一下**加密ENCRYPTION='Y’和未加密ENCRYPTION=‘N’**的区别在哪

    从这里就可以看出,通过Keyring的加密方式,主秘钥是存储表空间文件的头部信息中,这样增强了数据文件的安全性,对于一些社交软件产生的聊天消息,可以采用这种方式来加密数据文件,防止数据文件被窃取之后进行恢复。

    延迟从库

    Oracle数据库有两个特性:回收站(recyclebin)和闪回(flashback)功能,drop table如果不加purge选项,Oracle会把这个表rename一个新的表名存放到回收站里,需要还原时执行flashback table即可。那如果delete能恢复吗?也是可以的,利用flashback query去Undo Log里获取删除时间前的数据,回插到原表即可,这两个功能是很棒的,可惜MySQL里都没有。

    通常MySQL的主从复制是实时的一致性复制,Master执行的变更会立刻通过binlog复制同步到Slave执行。如果不想让Slave那么快的执行Master的变更,可以配置延迟从库,利用它可以实现数据误删的快速恢复,例如延迟一个小时。

    总结

    安全存在于系统的方方面面,涉及安全的都是大事,今天主要聊的是MySQL安全的那些事,主要包括MySQL服务器安全,数据库安全以及数据安全,聊完之后发现安全的东西还蛮多,这些能够让我们对MySQL安全有更加深刻的认识,同时也能规避一些安全风险,让系统安全稳定的运行。作为开发可能更多关注的是代码安全和质量,其实MySQL的安全也很重要,需要更多的关注和了解咯。

    絮叨

    敖丙把自己的面试文章整理成了一本电子书,共 1630页!

    干货满满,字字精髓。目录如下,还有我复习时总结的面试题以及简历模板,现在免费送给大家。

    链接:https://pan.baidu.com/s/1ZQEKJBgtYle3v-1LimcSwg 密码:wjk6

    我是敖丙,你知道的越多,你不知道的越多,感谢各位人才的:点赞收藏评论,我们下期见!


    文章持续更新,可以微信搜一搜「 三太子敖丙 」第一时间阅读,回复【资料】有我准备的一线大厂面试资料和简历模板,本文 GitHub https://github.com/JavaFamily 已经收录,有大厂面试完整考点,欢迎Star。

    展开全文
  • crtl+/和crtl+shift+/在jsp中怎么起作用
  • AD自定义快捷键不管用的解决办法

    千次阅读 2020-02-12 20:42:44
    有时候会发现自定义的快捷键并起作用。 出现这种情况的原因: 可能是由于软件有这快捷键的对应操作。 解决方案: 右击窗口菜单栏,左击Customize 在工具栏下滑动下拉菜单,找到系统默认的快捷键,删除 ...

    有时候会发现自定义的快捷键并不起作用。
    出现这种情况的原因:
    系统有默认快捷键。
    解决方案:

    1. 右击窗口菜单栏,左击Customize
      在这里插入图片描述

    2. 工具栏下滑动下拉菜单,找到系统默认的快捷键,删除

    3. 在这里插入图片描述

    展开全文
  • WPS表格取消隐藏行不管用

    千次阅读 2016-07-07 18:01:25
    在打开一篇下载的表格后,发现隐藏了部分行,选择隐藏行后右键取消隐藏没有效果,这是怎么回呢? 原因一可能是点击了筛选。如下图所示: 只需点击一下,取消筛选即可。 以上只是个人经历,仅供参考。
  • DOS命令CD D:\ 不管用,怎么进入D盘

    千次阅读 2012-10-06 22:11:14
    DOS命令CD D:\ 不管用,怎么进入D盘 C:\Documents and Settings\Administrator>cd d:\ C:\Documents and Settings\Administrator> 没有任何反应怎么回 问题补充: ============== cd d 系统找到...
  • 关于算法,那些你知道的

    万次阅读 2016-06-20 23:41:44
    关于算法,那些你知道的1.算法,不止于刷题提到算法,不管是科班出身还是半路出家的程序员可能都会说上几句,算法谁没学过谁知道啊?对于走工业界路线而非学术路线的同学来说,算法学习的最大作用也许是找工作...
  • 你还在没有客户烦恼吗?看着别人有客户心急如焚,而你试过各种推广渠道不是被坑就是没效果。那么新崛起的引流脚本有用吗?引流脚本真的可以让大家摆脱客源的烦恼吗? 如果你会操作,了解引流脚本的使用技巧,那么...
  • 点击命令行窗口,使其当前窗口,之后按ctrl+c即可,如果是刚运行时有》,而运行命令过程中出来时可用此方法解决。如果是一开始运行matlab环境就没有,那可能就是其计算引擎无法启动,这就样检查引擎配置了(不过...
  • 最近用U盘装了个WIN7-64bit旗舰版,结果装完之后使用各种激活软件(WIN7Activation,小马等等)都不行,原来这些软件用的都是好好的怎么回呢? 解决办法: 进入BIOS,修改引导方式“Legacy only”即可。
  • C++学了这么多年,你仍知道的!!!

    万次阅读 多人点赞 2012-10-27 19:43:14
    C++学了这么多年你知道什么定义类时,类的定义放在.h文件中,而类的实现放在cpp文件中。它们什么能够关联到一起呢?你知道什么东西可以放在.h文件中,什么能。什么东西又可以放在cpp文件中。如果你忘记了或是...
  • 会发现传到一半,忽然中断给传输了,,,,一脸懵逼的尴尬。。。 别急,起个服务 用Python就行,三步走: 1)进入到要下载的文件目录file_path,并获取当前file_path的机器ip 2) 在file_path 下执行python -m ...
  • linux 下 tree命令用了怎么回

    千次阅读 2016-06-14 16:04:37
    通过yum在线安装tree包 yum install tree -y
  • SSH Config 那些你所知道和知道的

    万次阅读 2018-01-18 17:24:34
    本文链接:https://deepzz.com/post/how-to-setup-ssh-config.htmlDesc:SSH 相关的使用技巧,用 .ssh/config 简化你的工作...是一项创建在应用层和传输层基础上的安全协议,计算机上的 Shell(壳层)提供安全的传输
  • 陈道明:体会无用之事的美妙

    千次阅读 2015-02-09 14:53:37
     最近,微信里面有小伙伴反馈说,老王呀,你什么在微信里面讲些软件测试的技术?说句实在话,微信语音只有60秒,大家回复关键字之后,可以看到的文章也就只有一小段,这样一个小小的平台,更多的把我个人的一些...
  • 什么放弃Go语言

    万次阅读 多人点赞 2014-04-14 19:24:19
    什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“爽”:第一,对Go语言...
  • 上周一篇《程序员平时该如何学习来提高自己的技术》火了之后,「非著名程序员」微信公众号的后台经常收到程序员和一些初学者的...什么找到工作的是你可否认的时,目前移动开发者工作相比前几年找工作相对是难了
  • 前面说了软考的价值量高,那么什么还是有很多人报考软考呢?这还是由于需求决定的,一种是实际需求,比如说前面的评职称和落户积分加分,还有一种就是不得已而为之,这种就是在校大学生。什么说在校大学生考...
  • 请告诉孩子:努力读书,是将来拥有更多选择的权利,而不是被迫谋生 01 现在的孩子津津乐道于几个文化高、但事业有成的名人,用于堵住家长苦口婆心的嘴。 然而事实是,这样的人只是少数,大多数爱学习的...
  • ![![图片说明](https://img-ask.csdn.net/upload/201508/20/1440055217_821406.png)图片说明](https://img-ask.csdn.net/upload/201508/20/1440055174_335963.png)
  • Spring3.2和java8,你不得知道的

    千次阅读 2014-09-29 14:37:25
    没有其它具体有用的提示,就是说Spring 的context和Listener都启动了。 首先想到,难道web.xml配置出错啦?什么在Spring启动那步出错啦? 可是代码没改过啊~~ 程序员太多疑了,没有一直坚持。。其实...
  • Excel 技术篇-设置公式后回车公式执行还显示公式问题解决方法。 可以看到我设置的公式没有被执行,主要原因是格式的问题导致的,我这个单元格的格式是文本类型的。 我将格式设置常规。 设置完后重新编辑点回车...
  • 个人助手完全理解你在说什么,这种局限性本来无可厚非,然而各大公司却拿这些个人助手来煽风点火,各种夸大,闭口提他们的局限性,让外行们以为人工智能就快实现了,这就是什么我必须鄙视一下他们。...
  • LM016L 2行16列液晶 可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)  LOGIC ANALYSER 逻辑分析器 ...
  • 做项目的都知道,老板们是允许我们四平八稳的研究完然后再开始项目。 那也妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速的准备一些预备知识,磨刀误砍柴功,仓促...
  • android有用代码片段

    万次阅读 多人点赞 2011-11-23 23:20:50
    有时候,需要一些小的功能,找到以后,就把它贴到了博客下面,作为留言,查找起来很方便,所以就整理一下,方便自己和他人。 一、 获取系统版本号:PackageInfo info = this.getPackageManager().getPackageInfo...
  • 你需要做一件特定的事情,但是平常做那个工作的人偏偏在——在你的项目里,你碰到过多少次这种情况?你的项目受到什么影响?是不是只能等着那位专家回来?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,401
精华内容 100,560
关键字:

不为有用之事