Tag: 互联网技术

  • 修改mysql 5.7.27日志时区从UTC到SYSTEM(数据库时间 和 日志记录时间不一样解决办法)

    修改mysql 5.7.27日志时区从UTC到SYSTEM(数据库时间 和 日志记录时间不一样解决办法)

    问题:mysql的日志显示时间少8个小时,明显是时区问题。 先查看数据库时间是对的: mysql> select now(); +———————+ | now() | +———————+ | 2021-07-03 11:03:15 | +———————+ 1 row in set (0.01 sec) 再次查看默认的系统时区system_time_zone是CST,time_zone是跟随SYSTEM,所以也是CST,mysql数据库采用的时区没有问题,都是中国时区的时间。 mysql> show variables like “%time_zone%”; +——————+——–+ | Variable_name | Value | +——————+——–+ | system_time_zone | CST | | time_zone | SYSTEM | +——————+——–+ 2 rows in set (0.01 sec) 但是mysql的日志时间是不对的,比正常时间晚了8个小时,查看日志采用的时区log_timestamps,发现是UTC mysql> SHOW global…

  • Discuz清除广告手段(广播/收听/最近访客)
  • Discuz可以清理的表有哪些

    Discuz可以清理的表有哪些

    可以清理的discuz的表

  • 清理Discuz空间的最近访客、广播、通知等垃圾信息的方法
  • Discuz欠缺功能

    Discuz欠缺功能

    discuz欠缺功能

  • Discuz如何实现全文搜索?还在用sphinx么?

    Discuz如何实现全文搜索?还在用sphinx么?

    Discuz如何进行全文搜索?不用sphinx

  • Discuz!3.4升级后,贴子内容使用Unicode编码会出现直接显示源码问题

    Discuz!3.4升级后,贴子内容使用Unicode编码会出现直接显示源码问题

    转自:https://freexyz.cn/cms/78457.html 打开:source\function\function_core.php $string = str_replace(array(‘&’, ‘”‘, ‘<‘, ‘>’), array(‘&’, ‘”‘, ‘<‘, ‘>’), $string); 下面加入 if(strpos($string, ‘&#’) !== false) { $string = preg_replace(‘/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/’, ‘&\\1’, $string); } 保存文件 覆盖 更新缓存 刷新贴子

  • Discuz后台安全增强admin.php

    Discuz后台安全增强admin.php

    本文转自 https://freexyz.cn/cms/19343.html Discuz!默认的后台路径是 http://你的域名/admin.php 因此很多站长不希望后台直接暴露出来让一些不法用户尝试登陆后台,造成一些安全隐患; 隐藏后台路径一般有两种思路,第一种就是直接修改admin.php文件名称,但是这种方式,前后台要修改的文件比较多,而且还会造成有时候安装插件无法使用; 另一种思路,就是对admin.php增加访问权限,这就是本文要讲的方法,具体操作如下: 修改文件:admin.php 一下几种修改方法按需要选择其中一种即可 A、必须在前台登录了,才能访问后台 在 $discuz->init(); 下方加入代码 if(!$_G[‘uid’]){ header(‘HTTP/1.1 404 Not Found’); header(“status: 404 Not Found”); echo ‘404 Not Found’; exit; } B、必须在前台登录了,且uid=1,才能访问后台 在 $discuz->init(); 下方加入代码 if($_G[‘uid’]!=1){ header(‘HTTP/1.1 404 Not Found’); header(“status: 404 Not Found”); echo ‘404 Not Found’; exit; } C、必须在前台登录了,且uid在指定范围,才能访问后台 在 $discuz->init(); 下方加入代码 $uids=array(1,2,3,99); if(in_array($_G[‘uid’],$uids)){ header(‘HTTP/1.1 404…

  • discuz创始人密码忘记重置方法

    discuz创始人密码忘记重置方法

    版权声明:本文为CSDN博主「土著人宁巴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lih062624/article/details/69384239 很多人由于不经常进入UCenter,过一段时间之后UCenter创始人密码就忘记了,本文介绍一种修改UCenter创始人密码的方法; 打开文件/uc_server/data/config.inc.php 找到 define(‘UC_FOUNDERPW’, ‘c4743ead3c62f0fda4a9e2a85827f097’); define(‘UC_FOUNDERSALT’, ‘V1OeJ3’); (*)这里注意,右侧的两个字符串每个网站不一样,您只需要找到UC_FOUNDERPW和UC_FOUNDERSALT对应的两行就行了; 接受一下,discuz密码加密采用salt加密(也叫椒盐加密),生成密码的方法: $pw = md5(md5($password).$salt); UC_FOUNDERPW定义的就是 $pw 值; <?php $password = “7gGasdfasdfas”; $salt = “as23sF”; $pw = md5(md5($password).$salt); echo $pw; ?> UC_FOUNDERSALT定义的就是字符串 $salt 的值; 懂php的按上面的方法重新生成一个密码,然后更换掉就行了,不懂php的朋友这里为您提供了另一种简单方法: 将上面找到的两行换成 define(‘UC_FOUNDERPW’, ‘c3fd517aa6ad758d7424c3463f440478’); define(‘UC_FOUNDERSALT’, ‘test88’); 然后上传文件覆盖; 这样您的UCenter创始人密码就改成了admin888 登陆后再在后台自行修改成其他的即可; 【特别提示】修改前请注意备份文件; ———————————————— 版权声明:本文为CSDN博主「土著人宁巴」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lih062624/article/details/69384239

  • Discuz3的表结构

    Discuz3的表结构

    有时候需要看表里的数据,可以按关键词搜索: pre_common_addon 插件扩展中心服务商表 pre_common_admincp_cmenu 后台管理面板,自定义常用菜单表 pre_common_admincp_group 后台团队职务名称表 pre_common_admincp_member 后台管理员成员表 pre_common_admincp_perm 后台团队职务权限分配表 pre_common_admincp_session 后台管理面板登录session表 pre_common_admingroup 后台管理组权限分配表 pre_common_adminnote 管理团队留言表 pre_common_advertisement 广告位管理表 pre_common_advertisement_custom 广告位自定义名称 pre_common_banned 禁止IP表 pre_common_block DIY模块表 pre_common_block_favorite DIY模块收藏表:门户管理的模块管理里使用 pre_common_block_item DIY模块属性表 pre_common_block_item_data DIY模块数据表 pre_common_block_permission DIY模块权限表 pre_common_block_pic DIY模块图片表 pre_common_block_style DIY模块风格表 pre_common_block_xml 模块XML扩展类数据表 pre_common_cache 公用缓存表 pre_common_card 充值卡表 pre_common_connect_guest QQ互联游客表 pre_common_credit_log 积分记录表 pre_common_credit_log_field 积分记录详细信息 3.0版本增加 pre_common_credit_rule 积分策略表 pre_common_credit_rule_log 积分策略生效记录 pre_common_credit_rule_log_field…

  • 提供Discuz应用定制、安全问题排查、安装迁移等服务

    提供Discuz应用定制、安全问题排查、安装迁移等服务

    本人提供的技术服务需提前线上交流,如果双方愿意,可以线下交流解决。

  • Mac下利用brew工具把git版本从2.23升级到2.30

    查看目前git版本为2.23: fox@MacBook-Air ~ % git –version git version 2.23.0 进行升级: fox@MacBook-Air ~ % brew upgrade git Updating Homebrew… ==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby-2.6.3_2.yosemite.bottle.tar.gz -=O=- # # # # curl: (6) Could not resolve host: d29vzk4ow07wi7.cloudfront.net ==> Downloading https://github.com/Homebrew/homebrew-portable-ruby/releases/download/2.6.3_2/portable-ruby-2.6.3_2.yosemite.bottle.tar.gz #################################################################################################################### 100.0%#################################################################################################################### 100.0% ==> Pouring portable-ruby-2.6.3_2.yosemite.bottle.tar.gz ==> Auto-updated Homebrew! Updated 3 taps (laggardkernel/tap, homebrew/core and homebrew/cask). ==> New Formulae…

  • wordpress或者 Discuz 利用sql语句批量更新替换帖子文章内容字符串
  • mysql数据类型timestamp存储的时间戳上限到2038年的解决方案

    mysql数据类型timestamp存储的时间戳上限到2038年的解决方案

    方案1: 直接将字段数据类型(timestamp)修改成数据类型(datetime) alter table moneyslow modify intime datetime #海阔中文网# 方案2: 新建一个数据类型(datetime)的字段,修改程序代码,讨论自身业务定时启用新字段。  

  • Discuz如何禁止匿名发帖?

    Discuz如何禁止匿名发帖?

    如果存在匿名发帖,说明你的设置还是有不到位的地方,跟我做,没错! 一、后台禁止匿名发帖相关的权限设置方法: 1、在后台找到“板块”下的“版块管理”,编辑所有板块,在“帖子选项”下找到“允许匿名发帖”选项选中“否”保存即可。 2、切换到“用户”菜单,选中左侧“用户组”,点击对应用户组后面的编辑,在“论坛相关”下找到“帖子相关”然后在“允许匿名发帖”选项选中“否”保存即可,如果更改全部用户组,我们可以使用批量编辑功能设置禁止匿名发帖 二、匿名发帖漏洞的原因,如果站长没有将Discuz升级到最新版本。攻击者可以利用匿名发帖漏洞绕过权限发布匿名发帖,因为默认DiscuzX程序是这样判断的:如果没有这个会员,或者会员主动选择匿名,都显示为匿名。 三、漏洞修复方法:在source/module/forum/forum_post.php文件的85行添加判断即:凡是没有uid的帖子,一律禁止发帖,添加以下代码然后,保存文件,在后台更新缓存即可 if(!$_G[‘uid’]) { showmessage(‘您这个畜生,禁止匿名发帖!’); }

  • Centos7.6下docker安装sonarqube7.6加postgres:9.6实现代码安全扫描检测

    Centos7.6下docker安装sonarqube7.6加postgres:9.6实现代码安全扫描检测

    代码安全检查的流程: 环境需求: https://docs.sonarqube.org/7.6/requirements/requirements/ Linux If you’re running on Linux, you must ensure that: vm.max_map_count is greater or equals to 262144 fs.file-max is greater or equals to 65536 the user running SonarQube can open at least 65536 file descriptors the user running SonarQube can open at least 2048 threads You can see the values with the…

  • Redis讲故事学习教程

    Redis讲故事学习教程

    你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。后来有人就琢磨,是不是可以学学CPU,给数据库也加一个缓存呢?于是我就诞生了! 出生不久,我就和MySQL成为了好朋友,我们俩常常携手出现在后端服务器中。应用程序们从MySQL查询到的数据,在我这里登记一下,后面再需要用到的时候,就先找我要,我这里没有再找MySQL要。 为了方便使用,我支持好几种数据结构的存储: String Hash List Set SortedSet Bitmap ······ 因为我把登记的数据都记录在内存中,不用去执行慢如蜗牛的I/O操作,所以找我要比找MySQL要省去了不少的时间呢。可别小瞧这简单的一个改变,我可为MySQL减轻了不小的负担!随着程序的运行,我缓存的数据越来越多,有相当部分时间我都给它挡住了用户请求,这一下它可乐得清闲自在了!有了我的加入,网络服务的性能提升了不少,这都归功于我为数据库挨了不少枪子儿。 缓存过期 && 缓存淘汰 不过很快我发现事情不妙了,我缓存的数据都是在内存中,可是就算是在服务器上,内存的空间资源还是很有限的,不能无节制的这么存下去,我得想个办法,不然吃枣药丸。不久,我想到了一个办法:给缓存内容设置一个超时时间,具体设置多长交给应用程序们去设置,我要做的就是把过期了的内容从我里面删除掉,及时腾出空间就行了。 超时时间有了,我该在什么时候去干这个清理的活呢?最简单的就是定期删除,我决定100ms就做一次,一秒钟就是10次!我清理的时候也不能一口气把所有过期的都给删除掉,我这里面存了大量的数据,要全面扫一遍的话那不知道要花多久时间,会严重影响我接待新的客户请求的! 时间紧任务重,我只好随机选择一部分来清理,能缓解内存压力就行了。   就这样过了一段日子,我发现有些个键值运气比较好,每次都没有被我的随机算法选中,每次都能幸免于难,这可不行,这些长时间过期的数据一直霸占着不少的内存空间!气抖冷!我眼里可揉不得沙子!于是在原来定期删除的基础上,又加了一招: 那些原来逃脱我随机选择算法的键值,一旦遇到查询请求,被我发现已经超期了,那我就绝不客气,立即删除。这种方式因为是被动式触发的,不查询就不会发生,所以也叫惰性删除! 可是,还是有部分键值,既逃脱了我的随机选择算法,又一直没有被查询,导致它们一直逍遥法外!而于此同时,可以使用的内存空间却越来越少。 而且就算退一步讲,我能够把过期的数据都删除掉,那万一过期时间设置的很长,还没等到我去清理,内存就吃满了,一样要吃枣药丸,所以我还得想个办法。 我苦思良久,终于憋出了个大招:内存淘汰策略,这一次我要彻底解决问题! 我提供了8种策略供应用程序选择,用于我遇到内存不足时该如何决策: noeviction:返回错误,不会删除任何键值 allkeys-lru:使用LRU算法删除最近最少使用的键值 volatile-lru:使用LRU算法从设置了过期时间的键集合中删除最近最少使用的键值 allkeys-random:从所有key随机删除 volatile-random:从设置了过期时间的键的集合中随机删除 volatile-ttl:从设置了过期时间的键中删除剩余时间最短的键 volatile-lfu:从配置了过期时间的键中删除使用频率最少的键 allkeys-lfu:从所有键中删除使用频率最少的键 有了上面几套组合拳,我再也不用担心过期数据多了把空间撑满的问题了~ 缓存穿透 && 布隆过滤器 我的日子过的还挺舒坦,不过MySQL大哥就没我这么舒坦了,有时候遇到些烦人的请求,查询的数据不存在,MySQL就要白忙活一场!不仅如此,因为不存在,我也没法缓存啊,导致同样的请求来了每次都要去让MySQL白忙活一场。我作为缓存的价值就没得到体现啦!这就是人们常说的缓存穿透。   这一来二去,MySQL大哥忍不住了:“唉,兄弟,能不能帮忙想个办法,把那些明知道不会有结果的查询请求给我挡一下” 这时我想到了我的另外一个好朋友:布隆过滤器 我这位朋友别的本事没有,就擅长从超大的数据集中快速告诉你查找的数据存不存在(悄悄告诉你,我的这位朋友有一点不靠谱,它告诉你存在的话不能全信,其实有可能是不存在的,不过它他要是告诉你不存在的话,那就一定不存在)。     我把这位朋友介绍给了应用程序,不存在的数据就不必去叨扰MySQL了,轻松帮忙解决了缓存穿透的问题。 缓存击穿 && 缓存雪崩 这之后过了一段时间太平日子,直到那一天··· 有一次,MySQL那家伙正优哉游哉的摸鱼,突然一大堆请求给他怼了过去,给他打了一个措手不及。 一阵忙活之后,MySQL怒气冲冲的找到了我,“兄弟,咋回事啊,怎么一下子来的这么猛” 我查看了日志,赶紧解释到:“大哥,实在不好意思,刚刚有一个热点数据到了过期时间,被我删掉了,不巧的是随后就有对这个数据的大量查询请求来了,我这里已经删了,所以请求都发到你那里来了” “你这干的叫啥事,下次注意点啊”,MySQL大哥一脸不高兴的离开了。 这一件小事我也没怎么放在心上,随后就抛之脑后了,却没曾想几天之后竟捅了更大的篓子。…

  • Discuz如何取消用户被冻结功能

    Discuz如何取消用户被冻结功能

    一般来讲,不建议取消用户冻结功能。要知道存在用户密码泄露的情况下,会给网站经营者和互联网用户带来不确定的麻烦和经济损失,哪怕让用户麻烦一点去凭邮箱解冻,也不能让固定密码长期能用。 在充分评估安全前提下,可以去掉用户冻结功能。如下图所示操作即可: 关键知识点:当用户异地登录且距离上次登录超过 90 天时,帐号会进入未审核组,用户可以通过验证邮箱或者申诉解冻帐号,QQ登录的用户不受此功能影响 。 开启异常登录检测功能,除了在申诉之外,会员是QQ联系的管理员,管理员如何批量解冻这些账号? 但是按上述方法关闭异常登录检测功能后,这些账号还是处于“ 已冻结”状态 解决办法: 批量解冻SQL: update pre_common_member set freeze=0 where freeze!=0 单独解冻一个用户: update `pre_common_member`set freeze = 0 WHERE uid = xxx 更改会员uid 后执行

  • CentOS 7 +安装 Nginx 1.8.0 + PHP 5.6 + MariaDB 10.0 (LEMP) + SSL

    CentOS 7 +安装 Nginx 1.8.0 + PHP 5.6 + MariaDB 10.0 (LEMP) + SSL

    1. change ulimits vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 2. Install MariaDB vim /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 yum install MariaDB-server MariaDB-client chkconfig mysql on mysql_secure_installation setting firewalld for mysql 3. Install Nginx rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx systemctl start nginx systemctl enable nginx setting…

  • discuz标签页标题的seo优化

    discuz标签页标题的seo优化

    大家在做SEO的时候有没有发现很多站的标签页也有排名而且很好,这是为什么呢?个人总结出来的一个原因那就是这个标签页下面的文章多多少少都有点相关或者这些文章中间有写词语出现,而每个页面有相同的标签的话都会指向这个标签的标签页面,那么如果这个标签出现十次,二十次或者更多那这个标签词是不是就有十个或者更多的站内链接指向它呢?SEO指南中有提到过内链可以增加权重那么这么多页面指向同一个页面那这个标签页的权重会如何?可以discuz默认是不让蜘蛛收录标签页,而且标签页的标题页不是很规范,于是我就想把它修改一下。

  • mysql挂掉解决办法InnoDB: Cannot allocate memory for the buffer pool
  • mysql5.5升级到5.7注意事项

    mysql5.5升级到5.7注意事项

    mysql5.5升级到5.7注意事项

  • mysql5.7 GTID错误Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.'
  • CentOS 7.7 下 MySQL 5.7.29 Community Server 的安装与配置

    注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。查看 MySQL官网密码详细策略

  • MySQL 5.7 关闭密码策略设置validate_password

    MySQL 5.7 关闭密码策略设置validate_password

    MySQL 5.7 关闭密码策略设置validate_password

  • discuz将代码放置在 head标签标记之间的最方便方法

    discuz将代码放置在 head标签标记之间的最方便方法

    后台—全局—SEO设置—其他—其他头部信息

  • Discuz后台解锁用户

    Discuz后台解锁用户

    如果用户被锁,最好是用户通过自己的提示信息发送解锁邮件(用户发起解锁请求后,管理员会在后台看到审核条目,批准即可),等待管理员审核后,会马上显示已经解锁。如果通过下面的sql语句进行后台解锁,虽然用户没问题了,但是对于管理后台仍然会看到要求解锁的用户请求,可能会有脏数据。

  • CentOS6.x/7.x版本下yum安装nginx+php7+mysql5.5环境

    CentOS6.x/7.x版本下yum安装nginx+php7+mysql5.5环境

    需要公网访问权限,可以访问到 nginx.org rpms.famillecollet.com remi的源

  • mysqldump如何压缩备份数据

    mysqldump如何压缩备份数据

    通常情况下可以压缩到1/3的数据量

  • Discuz编辑按钮上移

    Discuz编辑按钮上移

    Discuz编辑按钮

  • Discuz错误“服务器缺少处理图片所需的功能,无法处理”

    Discuz错误“服务器缺少处理图片所需的功能,无法处理”

    错误原因就是缺失了gd库。运行php -m命令查看没有发现gd库。 所以安装gd库,先更新操作系统软件包: apt-get update 进行安装: apt-get install php7.1-gd

  • Discuz如何修改“本帖子中包含更多资源”

    Discuz如何修改“本帖子中包含更多资源”

    文件及字段位置: ./source/language/forum/lang_template.php: ‘attach_nopermission_notice’ => ‘本帖子中包含更多资源’, 改了就行了。

  • Discuz发布新版本20191201

    Discuz发布新版本20191201

    加入并完善H5文件上传功能支持 !252:论坛HTML5上传取代原有的Flash上传 , !273:修复新版 H5 上传的某些问题 完善MySQL 8的支持 !275:完善mysql 8.0.12以下版本的支持 , !244:修复 MySQL 8.0 环境下搜索用户报错的问题 后台禁止用户时可清空用户资料 !279:后台禁止用户时增加对用户资料的清空操作 支持在手机版将非论坛页面设置为首页 !220:手机版新增支持设置非论坛页面为首页,并增加后台设置 后台管理页面加入了开源贡献者链接 !281:在后台管理首页加入开源贡献者链接。

  • 如何在centos8/RHEL8下安装mysql8

    如何在centos8/RHEL8下安装mysql8

    MySQL是目前最流行的、免费的、开源的关系数据库管理平台,它通过允许多用户访问每个数据库,在任何一台服务器上托管多个数据库。最新的MySQL 8.0版本可以使用MySQL模块从默认的AppStream存储库安装,该模块在CentOS 8和RHEL 8系统上默认启用。

  • Ubuntu18.04防火墙ufw配置命令详解

    Ubuntu18.04防火墙ufw配置命令详解

    正确配置的防火墙是整个系统安全性最重要的方面之一。 默认情况下,Ubuntu附带一个名为UFW(简单防火墙)的防火墙配置工具。UFW是管理iptables防火墙规则的一个用户友好的前端,它的主要目标是使管理iptables更容易,或者如其名所说,简单。

  • ubuntu 16/18 上安装php7.0/7.1/7.2/7.3/7.4方法

    ubuntu 16/18 上安装php7.0/7.1/7.2/7.3/7.4方法

    先看重点:CAVEATS: 1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman 2. If you are using apache2, you are advised to add ppa:ondrej/apache2 3. If you are using nginx, you are advise to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx 通过下列命令安装PHP 7.3 $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo…

  • 如何设置mysql库只读?

    如何设置mysql库只读?

    执行: set global read_only=1 即可。 以下是相关说明: 1、对于数据库读写状态,主要靠“read_only”全局参数来设定; 2、默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作; 3、如需设置为只读状态,将该read_only参数设置为1或TRUE状态,但设置read_only=1状态有两个需要注意的地方: 1)read_only=1只读模式,不会影响slave同步复制的功能,所以在MySQLslave库中设定了read_only=1后,通过showslavestatus\G,命令查看salve状态,可以看到salve仍然会读取master上的日志,并且在slave库中应用日志,保证主从数据库同步一致; 2)read_only=1只读模式,可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作;在MySQL中设置read_only=1后,普通的应用用户进行insert、update、delete等会产生数据变化的DML操作时,都会报出数据库处于只读模式不能发生数据变化的错误,但具有super权限的用户,例如在本地或远程通过root用户登录到数据库,还是可以进行数据变化的DML操作; 那么super用户怎么控制读写? 1、为了确保所有用户,包括具有super权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令“flushtableswithreadlock;”这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。 1)这样通过设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变。 2)但同时由于加表锁的命令对数据库表限定非常严格,如果在slave从库上执行这个命令后,slave库可以从master读取binlog日志,但不能够应用日志,slave库不能发生数据改变,当然也不能够实现主从同步了,这时如果使用“unlocktables;”解除全局的表读锁,slave就会应用从master读取到的binlog日志,继续保证主从库数据库一致同步。 2、为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。 3、设定“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flushtableswithreadlock;”,对应的解锁模式命令为:“unlocktables;”. 4、当然设定了read_only=1后,所有的select查询操作都是可以正常进行的。 ———————————————— 版权声明:本文为CSDN博主「JetBrains_孙健」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sj349781478/article/details/77745104

  • mariadb mysql 内存优化

    mariadb mysql 内存优化

    mysql经常需要调优,在大内存情况下,可以参考,原文地址: https://coding3min.com/mariadb-better/ 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。 查询最高内存占用 使用以下命令可以知道mysql的配置使用多少 RAM SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB; 可以使用mysql计算器来计算内存使用 下面是理论,可以直接到推荐配置 如何调整配置 key_buffer_size(MyISAM索引用) 指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以…

  • centos8发布了,看看有哪些新功能?

    centos8发布了,看看有哪些新功能?

    centos8发布了,其最新的官方maillist地址: https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html 其中release note 的最新地址为: https://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS8.1905 CentOS-8还是基于上游的Red Hat企业级LinuxRHEL1的源代码。仍然遵守RedHat的再发行政策,与上游产品在功能上完全兼容。 CentOS对组件的修改主要是去除了RedHat的商标及美工图。 来看看主要变化: 地址:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/overview 1、Shells and command-line tools shell和命令行工具: 提供了Git 2.18, Mercurial 4.8, 和 Subversion 1.10. 2、web,数据库,编程语言变化: 编程语言相关:除了新增的Node.js,其他都是更新:Python默认版本3.6;PHP 7.2;Ruby 2.5;Perl 5.26;SWIG 3.0 数据库相关:MariaDB 10.3, MySQL 8.0, PostgreSQL 10, PostgreSQL 9.6, and Redis 5. web引擎:Apache HTTP Server 2.4 and introduces a new web server, nginx 1.14. 缓存代理:Squid 4.4, 新增…

  • Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04

    Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04

    ########## Install NGINX ############## # Install software-properties-common package to give us add-apt-repository package sudo apt-get install -y software-properties-common # Install latest nginx version from community maintained ppa sudo add-apt-repository ppa:nginx/stable # Update packages after adding ppa sudo apt-get update # Install nginx sudo apt-get install -y nginx # Check status sudo service nginx # Start…