玩味数据
文章平均质量分 53
数据库技术
icquu
数据结构化存储与运用研究;
居逆境中,周身皆针砭药石,砥节砺行而不觉。 处顺境中,眼前尽兵刃戈矛,销膏靡骨而不知。
展开
-
C代码炫技巧
int n = 10;return 0;原创 2023-12-20 17:33:08 · 96 阅读 · 0 评论 -
使用原始套接字完成网络数据包的封装和发送
使用此程序主要用于网络调试目的和实验项目, 请勿非法使用。程序可用来封装特定的arp回应包。原创 2023-12-18 16:17:36 · 75 阅读 · 0 评论 -
MySQL服务器部署监控的意义是什么
根据我的使用经验,监控对于及时发现有问题的查询有很大帮助,通过查看分析历史监控图表,可以直观的发现系统资源耗用的波动情况,在这个时段一定是发生些许的事情的,如果是不明的事情,就有必要搞清楚原因,对运行中的系统来说防患于未然远胜于救民于水火,对于外行来说可能那个救民于水火的才是英雄,内行看门道,外行看热闹,千万不要关公面前耍大刀。那么,是否需要部署一个重量级的监控系统呢,我认为不是必须的,但常用的监控项是必须要有的,比如:磁盘、CPU、内存使用率,磁盘忙碌时间和磁盘读写队列长度等等。原创 2023-09-27 15:44:06 · 66 阅读 · 0 评论 -
MySQL数据库正在耗用大量CPU的问题排查
从根本上说,肯定和系统磁盘性能有关,MySQL并不了解系统磁盘的性能如何,我们通过两个参数调整MySQL刷脏页的速率,这两个参数分别是:innodb_io_capacity, innodb_io_capacity_max 分别用来设置默认刷脏页的速率和最大刷脏页的速率,MySQL会根据这两个值和前面的两个参数的值来设定刷脏页的速率。MySQL出现慢响应时,不要慌张,可以大胆猜测问题原因,但要小心求证,用数据说话,不要妄下结论,细心分析问题点,找出问题点,往往就能够给出性价比较高的解决方案。原创 2023-09-27 15:19:46 · 931 阅读 · 0 评论 -
网络分析技能在MySQL调优中的应用
网络分析工具在系统运维当中常常起到意想不到的作用,因为它能把网络请求数据和回应数据一五一十的客观记录下来,然后通过分析工具仔细分析异常出现的点在哪一侧,哪一点。往往在查找问题的时候可以发挥奇效。那么,这么好的工具在MySQL调优中有没有什么作用呢?答案是:当然有,不但有,还非常好用。下面,我就拿几个场景来看看使用网络分析工具能给我带来什么帮助。原创 2023-09-27 11:56:45 · 94 阅读 · 0 评论 -
Mysql数据库管理员入门指南
Mysql 入门 指南原创 2023-09-26 17:15:37 · 113 阅读 · 0 评论 -
Clickhouse统计数据库
Clickhouse性能非常不错,值得一试,使用也非常简单。创建表结构:create table world_x(id Int32, name String,dt Date) engine=MergeTree(dt,(name),8192);导入数据:insert into world_x(id, name) select id, name from mysql('127.0.0.1', 'world_x','phone_type', 'root', '12345678');进行统计:原创 2020-08-22 16:07:57 · 1499 阅读 · 0 评论 -
数据库的核心设计理解
数据库技术实现的难点和重点是缓存设计,索引设计和事务实现,针对数据库的优化和维护也是在着眼在缓存,索引和事务的优化上面。缓存设计是为了弥补磁盘IO性能的不足,缓存设计在每一种数据库的设计中都非常重要,良好的缓存设计能最大程度减少和避免数据库访问磁盘的频率和数据,将大部分的操作都放在内存中完成,是每一种数据库的设计目标之一。MySQL数据库是常用的开源数据库,在MySQL的维护和使用中,我们发现有大量的缓存设计,用好这些数据库提供的缓存设计对于提升数据库性能有极大的裨益。详细内容很多,这里先略过,后续原创 2020-08-04 18:30:45 · 539 阅读 · 0 评论 -
增量备份和恢复(xtrabackup)
Incremental Backupxtrabackupsupports incremental backups, which means that they can copy only the data that has changed since the last backup.You can perform many incremental backups between each full backup, so you can set up a backup process such as.转载 2020-07-29 12:22:36 · 313 阅读 · 0 评论 -
创建完整的压缩备份(xtrabackup)
Creating Compressed BackupsIn order to make a compressed backup you’ll need to use the--compressoption:$ xtrabackup --backup --compress --target-dir=/data/compressed/The--compressuses theqpresstool that you can install via thepercona-release...转载 2020-07-29 12:19:09 · 412 阅读 · 0 评论 -
MySQL 8.0.21 稳定版已于7月13日发布
编译说明 服务器构建的Boost库的最低版本现在为1.72.0。 配置说明 tcmalloc不再是mysqld_safe --malloc-lib选项的允许值。 添加或更改功能 重要更改: 默认情况下,复制源服务器按照系统变量的设定(binlog_checksum默认为CRC32)为二进制日志中的每个事件写入一个校验和CRC32。以前,组复制不支持二进制日志中存在校验和,因此 在配置将成为组成员的服务器实例时binlog_checksum必须将其设置为NONE。现在,已经可...翻译 2020-07-17 12:53:58 · 550 阅读 · 0 评论 -
MySQL文档存储快速入门指南 MySQL 5.7
MySQL文档存储快速入门指南目录MySQL文档存储快速入门指南一、MySQL文档存储说明二、MySQL X插件安装三、MySQL Shell用户指南一、MySQL文档存储说明关系数据库(如MySQL)通常存储结构化数据,需要提前定义好数据的格式。而NoSQL的出现就是为了打破这种僵局,使得开发人员可以存储非结构化数据,使用文档的方式进行存储数据,无需提前定义数据格式。早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BL.转载 2020-05-20 11:40:12 · 1409 阅读 · 0 评论 -
使用MySQL开发库构建C API客户端程序
在Unix上编译MySQL客户端这里的示例使用gcc作为编译器。在某些系统上(例如,macOS或FreeBSD上的clang或Solaris上的Sun Studio),可能需要其他编译器。根据需要调整示例。-I编译使用MySQL头文件的客户端程序时, 可能需要指定一个选项,以便编译器可以找到它们。例如,如果头文件安装在中/usr/local/mysql/include,则在compile命令中使用此选项:-I/usr/local/mysql/include您可以将代码与...翻译 2020-05-15 12:07:30 · 160 阅读 · 0 评论 -
MySQL 8.0.20 稳定版已于4月27日发布
现在已不赞成 使用VALUES()来访问INSERT ... ON DUPLICATE KEY UPDATE语句中的新行值 ,并且在将来的MySQL版本中可能会删除该用法。相反,您应该为新行及其列使用别名,如MySQL 8.0.19及更高版本中所实现。-- 例如,此处显示的语句 VALUES()用于访问新的行值:INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b.翻译 2020-05-12 09:05:22 · 558 阅读 · 0 评论 -
在线启用GTID
本节介绍如何在已经联机并且使用匿名事务的服务器上启用GTID事务。此过程不需要让服务器停止服务,并适合在生产中使用。当然,如果在启用GTID事务时可以使服务器停止服务,则处理过程会更容易。在开始之前,请确保服务器满足以下前提条件: 拓扑中的服务器都必须使用MySQL 5.7.6或更高版本。除非拓扑中的服务器都使用符合条件的同样版本,否则不能确保可以在线启用GTID事务。 所有服务器均[gtid_mode]为默认值OFF。 可以随时暂停以下过程,之后将其恢复原样,该过程具有容错性。翻译 2020-05-09 14:56:00 · 184 阅读 · 0 评论 -
数据库备份对系统的影响
对网络的影响对磁盘的影响对CPU的影响从系统监控看,数据库备份会影响当前系统的CPU,磁盘和网络,备份期间对系统造成的压力是非常大的,线上数据库需要做离线备份的时候,最好指定从库运行,规划合理的备份频率。...原创 2020-03-25 11:15:52 · 1322 阅读 · 0 评论 -
如何线性增强MYSQL性能
说到增强mysql性能,大家都会想到一系列的优化方法,但如何做才能线性的增强mysql的性能呢,在多投入一台服务器后,能否取得新增一台服务器带来的性能叠加而不打折扣呢。我们的目的是化繁为简,去伪存真,在为数众多的优化方法中提取出那些真正能够线性提升mysql性能的方法,先列出几个非常常见的优化方法,然后我们再去分析,这些方法在性能提升方面能带来多少助力,这个投入收益比有多大。分区表 分库...原创 2020-01-14 11:48:09 · 172 阅读 · 0 评论 -
CentOS7之后发送邮件的变化
在7之前的版本中,如果要发送邮件到外部,我们需要搭建邮件服务,但在7中这个习惯可以升级一下了。如果要发送邮件,仅仅做一个动作就可以完成发送邮件的功能。先去确定一下系统是否安装了mailx,如果没有安装这个软件包,先安装一下这个软件包,然后配置一下/etc/mail.rc这个文件,在该文件末尾添加如下配置项目:set from=<mail_from>set smtp=<...原创 2020-01-07 12:28:32 · 111 阅读 · 0 评论 -
Percona MySQL Audit Log Plugin #审计日志插件文档
Percona Audit Log Plugin provides monitoring and logging of connection and query activity that were performed on specific server. Information about the activity will be stored in the XML log file wher...转载 2020-01-03 18:48:19 · 797 阅读 · 0 评论 -
Linux升级和编译内核
最近几年linux内核推陈出新,版本迭代的速度明显加快了很多,由于linux之父对内核版本号的设定的改革,版本号不会再像2.4和2.6时代,很久时间主版本号都不会变动了。给人的感觉就是版本更替的速度加快了很多,除此之外,也会提高关于linux内核的关注度,随着linux的发展壮大,应用越来越普遍,linux内核在业界的影响也越来越重要。升级和修改内核是一个比较有意思,也有一定风险的操作,但个人...原创 2020-01-02 11:57:24 · 197 阅读 · 0 评论 -
SSH隧道与端口转发及内网穿透
大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多。不过其实除了这个功能,它的隧道转发功能更是吸引人。下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得。SSH/plink命令的基本资料:首先,认识下这三个非常强大的命令:ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Ho...转载 2019-12-28 07:51:16 · 344 阅读 · 0 评论 -
mongodb复制集失效后的重建
集群失效的表现是:mongodb复制集已经彻底失效,集群已失去主节点,从节点也变成了其他状态,此时,使用正常方式已无法恢复集群,需要进行重建,但官方对重建方法没有单独给出处理步骤,只好另某他法,网络上有几篇文章的确描述了相同的情景,但处理步骤明显有问题,好在这些文章都提到了需要修改local库的内容,这隐隐给出了处理这个问题的关键点就是修改local库的内容。最终的处理方法是也印证了这个猜测。...原创 2019-12-24 11:03:00 · 565 阅读 · 0 评论 -
FreeBSD的系统升级
用 freebsd-update 命令更新一个新的发行版,第一步会较花时间,根据网络情况,多则可能会花数小时。安装前最好还是做好备份,避免意外。举例由旧版本(目前是 FreeBSD 11.1)更新到 FreeBSD 11.2,第一步较花时间:freebsd-update -r 11.2-RELEASE upgrade完成上一步后,使用这条命令将升级后的文件安装到磁盘上。free...转载 2019-12-17 09:25:06 · 1482 阅读 · 0 评论 -
FreeBSD基本网络设置
网络配置,临时设置,即时生效:ifconfig em0 delete | alias 删除网络接口上的IP地址ifconfig em0 192.168.1.111 netmask 0xffffff00route add default 192.168.0.1ee /etc/resolv.confnameserver 8.8.8.8nameserver 114.114.114.114...原创 2019-12-16 10:52:42 · 948 阅读 · 0 评论 -
FreeBSD安装桌面环境和本地化设置
如果下载了DVD的安装镜像,可以将光盘镜像mount到指定的目录下,通过光盘镜像来安装所需的软件包。pkg add <package_path> 本地安装一个软件包,相当于 yum localinstall <package_path>这里在包所在的路径下执行:pkg add ./xorg-?.?_?.txz安装过程会自动处理依赖关系,安装过程要等待一下,完成后。...原创 2019-12-16 10:49:12 · 1590 阅读 · 0 评论 -
FreeBSD中三个常用的防火墙之一ipfw
IPFW本身是FreeBSD内置的,IPFW默认拒绝所有网络服务,包括对系统本身都会拒绝,所以在配置过程中一定要小心谨慎。我们会将firewall的设定写在/etc/rc.firewall中或者写入任何一个文件中,并在/etc/rc.conf中使用firewall_script="/etc/ipfw.rules"来指定要读取的规则文件。每一条设定都是以先入为主(firstmatch wins)...原创 2019-12-15 13:39:47 · 2381 阅读 · 0 评论 -
FreeBSD内核编译
备份 GENERIC 到 GENERIC.old 文件,GENERIC.old 是默认内核配置文件,GENERIC 将作为新的内核文件配置文件。cd /usr/src/sys/amd64/confcp GENERIC GENERIC.old用 vi 或者 ee 编辑 GENERIC,在末尾添加以下 IPF 防火墙配置 options IPFILTER options IP...原创 2019-12-15 12:28:16 · 968 阅读 · 0 评论 -
如何选择并快速上手一个生产环境下使用的操作系统
生产环境操作系统的选择原则:周边生态是否能够比较容易的满足生产需求; 系统升级是不是相对平滑稳定; 学习成本是不是比较低和学习途径是否多,质量是不是比较好; 系统性能要在稳定的前提下达到平均水平 系统的易用性要好,系统中尽量不要有细枝末节的晦涩操作;生产环境下,我们一般会使用linux,unix或类unix系统作为我们的服务器系统,学习这些操作系统其实是比较容易的,把以下几个问题解决...原创 2019-12-14 14:55:22 · 264 阅读 · 0 评论 -
MYSQL5.6升级到MYSQL8.0的主要步骤
我们的一个项目在使用MYSQL5.6,的确太老了,除却MYSQL8.0那些吸引人的新特性,这也是本次升级的原因之一。我必须得承认在软件版本方面,我的确是喜新厌旧的。有新的软件包,我总想要去尝鲜的,虽然这会带来风险,可没有一点风险的日子真的有吸引力吗,生命不熄,折腾不止。这句话虽然不全面,但的确体现了作为一个有追求的IT人,折腾对于一个IT人的意义非同一般。5.6到8.0的升级开始:第一...原创 2019-12-13 17:05:28 · 6132 阅读 · 0 评论 -
Linux SWAP 深度解读
Linux SWAP 深度解读swap、swappiness及kswapd原理,swap分区优先级的妙用。真可谓一文在手,SWAP从此不再忧愁。敬请笑纳。概述本文讨论的swap基于Linux4.4内核代码。Linux内存管理是一套非常复杂的系统,而swap只是其中一个很小的处理逻辑。希望本文能让读者了解Linux对swap的使用大概是什么样子。阅读完本文,应该可以帮你解决以...转载 2019-10-22 12:13:34 · 478 阅读 · 0 评论 -
LINUX SWAP分区解疑——为什么物理内存没有用尽,就会产生SWAP
前段时间一直关注MYSQL服务器的交换分区使用情况,发现一种情况,即便物理内存仍有空余,仍会使用交换分区。查阅了很多相关资料,原因慢慢被挖掘出来。首先,系统使用swap分区,并不意味着系统性能下降。这里分两种情况。一种情况是:系统在检查系统物理内存使用情况时,发现有部分数据长期没有访问,此时,会发生swap,将这部分数据交换到swap分区中。另一种情况是:应用程序在申请内存时,发现没有...原创 2019-10-22 12:07:41 · 1830 阅读 · 0 评论 -
Linux服务器性能评估与优化(五)--内核参数
Linux服务器性能评估与优化(五)--内核参数网络内容总结(感谢原创)之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:《Linux服务器性能评估与优化(一)--CPU》《Linux服务器性能评估与优化(二)--内存》《Linux服务器性能评估与优化(三)--磁盘i/o》《Linux服务器性能评估与优化(四)--网络》《Linux服...转载 2019-10-22 11:28:40 · 435 阅读 · 0 评论 -
MySQL 8.0.18 稳定版发布
MySQL 8.0.18 稳定版发布,Hash Join 如期而至MySQL 8.0.18 稳定版(GA)已于昨日正式发布,Hash Join 也如期而至。快速浏览一下这个版本的亮点!1.Hash JoinHash Join 不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。2.EXPLAIN ANALYZEEXPLAIN ANALYZE 将运行查询,然...转载 2019-10-22 10:53:07 · 2728 阅读 · 0 评论 -
ArangoDB学习笔记
ArangoDB学习笔记ArangoDB基本单元1.CollectionsCollections相当于传统数据库的表,Collections有两种类型(1)document collection图的节点(2)edge collection图的边和document类型相比,多出_from和_to属性,表示两个document之间的联系,换句话说就是:document collecti...原创 2019-10-10 17:40:13 · 645 阅读 · 0 评论 -
有的选是一种幸福
随着计算机互联网越来越贴近生活,越来越方便生活,越来越让生活更加有质量,更加自由和放松,操作系统和数据库作为计算机软件世界的巅峰之作,它们的发展也与时俱进,除了传统的关系型数据库的不断增强和发展,还诞生了许多新的数据库类型,针对特定的应用场景,这些新诞生的数据库更加适用。如果,世界是多样的,那么用来描述这个世界的数据也一定是多样的,单一的存储模型和数据结构往往在处理某些类型的数据结构时,显得很...原创 2019-10-10 17:19:54 · 118 阅读 · 0 评论 -
从客户端连接MySQL服务器流程和MySQL架构,到逐步优化的完整流程和方法
从客户端连接MySQL服务器开始,一步一步来优化的MySQL服务器的设置。一般来讲,连接MySQL服务器的应用都会和MySQL服务器分开,这样的好处显而易见,缺点也很明显,尽管CPU,内存和磁盘IO资源不会和其它应用程序发生争用了,但对网络带宽和稳定性的依赖增强了。权衡利弊,分开部署是大多数公司的选择。那么接下来,我们就在应用和MySQL服务器分开部署的场景开始我们的工作。1.客...原创 2019-10-10 17:18:03 · 419 阅读 · 0 评论