Harry技术

《MySQL核心知识》第18章:复制

MySQL复制简介 MySQL 从3.25.15版本开始提供数据库复制功能(replication)。MySQL复制是指从一个MySQL主服务器(MASTER)将数据复制到另一台或多台MySQL从服务器(SLAVE)的过程,将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在从服务器上对这些日志重新执行,从而使从服务器的数据保持同步。 在MySQL中,复制操作是异步进行的,slave服务器不需要持续的保持连接接收mast 阅读更多…

《MySQL核心知识》第17章:性能优化

优化简介 mysql优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如,通过优化文件系统,提高磁盘I/O的读写速度;通过优化操作系统调度策略,提高mysql在高负荷情况下的负载能力;优化表结构、索引、查询语句等使查询响应更快在mysql中,可以使用show status语句查询一些mysql的性能参数 show status like ‘value’; 其中value是要查询的参数值,一些常用性能参数如下: 阅读更多…

《MySQL核心知识》第16章:日志

日志概述 MYSQL里的日志主要分为4类,使用这些日志文件,可以查看MYSQL内部发生的事情。分别是 错误日志:记录mysql服务的启动、运行、停止mysql服务时出现的问题 查询日志:记录建立的客户端连接和执行的语句 二进制日志:记录所有更改数据的语句,可以用于数据复制 慢查询日志:记录所有执行时间超过long_query_time的所有查询或不使用索引的查询 默认情况下,所有日志创建于mysql数据目录中。通过刷新日志,可以强制my 阅读更多…

《MySQL核心知识》第15章:自动备份与恢复MySQL数据库并发送Email邮件

背景案例 一个博客,一个网站最重要的就是数据库,所以经常备份数据是必须的.尽管 WordPress 有定时备份数据的插件,但只能备份当前的博客,不够灵活.适合个人小小博客,对于一些网站来说,就不适合了.现在很多人都拥有多个网站,showfom就有几个网站.每个网站都装个插件就比较麻烦了。况且不是每个网站都是WordPress 的 。 所以写了个自动备份mysql数据库的脚本,再加上gmail这个G级邮箱,备份多少数据都可以了。下面是代码 阅读更多…

Flowable 79 张表都是干嘛的?

1. 表名前缀 2. 表名中间部分 3. 表名后缀 3.1 ACT_APP_* 3.2 ACT_CMMN_* 3.3 ACT_DMN_* 3.4 ACT_RU_* 3.5 ACT_HI_* 3.6 ACT_ID_* 3.7 ACT_FO_FORM_* 3.8 ACT_GE_* 3.9 ACT_RE_* 3.10 FLW_EVENT_* 3.11 其他表 当我们使用 Flowable 流程引擎的时候,虽然我们使用的是各种 API,但是小伙 阅读更多…

《MySQL核心知识》第14章:数据备份与恢复

备份/恢复策略 1.定期做 mysql备份,并考虑系统可以承受的恢复时间。 2.确保 mysql 打开log-bin,有了 binarylog,mysql才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复。 3.要经常做备份恢复测试,确保备份是有效的,并且是可以恢复的。 冷备份 备份 1.停掉 mysql服务,在操作系统级别备份 mysql的数据文件。 2.重启 mysql服务,备份重启以后生成的 binlog。 恢复 阅读更多…

《MySQL核心知识》第13章:权限管理

权限概述 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: user表 db表 host表 table_priv表 columns_priv表 proc_priv表 MySQL存取控制包含2个阶段: 阶段1:服务器检查你是否允许连接。 阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库中一个表精选(select)行或从数据库抛弃一个表,服务器确定你 阅读更多…

《MySQL核心知识》第12章:触发器

触发器是一个特殊的存储过程,不同的是存储过程要用CALL来调用,而触发器不需要使用CALL,也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MySQL自动调用。 创建触发器 语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event     ON tbl_name FOR EACH ROW trigger_stmt 触发程序是与表有关的命名数据库对象,当表上出现特定 阅读更多…

《MySQL核心知识》第11章:视图

为何使用视图? 使用视图的理由是什么? 1、安全性:一般是这样做的:创建一个视图,定义好该视图所操作的数据。 之后将用户权限与视图绑定,这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。 2、查询性能提高 3、有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。 这是在实际开发中比较有用的 4、复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来 阅读更多…