mysql
编程菜农
看书只会让大多数新知正常的人更知道谦虚……当然,不看书只想吹牛皮也可以很开心的生活。
展开
-
mysql-主从复制(于redis主从的差异)
原理:可以看到:主机和从机的关系;Redis 是主机将操作写在rdb文件里,然后从机拿到这个文件直接覆盖自己的数据 且初始化数据,是从头开始复制;mysql不是,mysql是从接入点开始复制;简单来说在确定从属关系的时候,从机才开始复制,复制的是确立关系之后的数据;复制原理也不一样:redis是从属关系搭起来之后,主机做什么就直接同步给从机;– mysql是直接写在二进制日志中,然后从机读取这个日志在写入relay log中,然后在读在从机中执行;MySQL复制是异步的且串行化的–原创 2020-06-26 00:23:16 · 608 阅读 · 0 评论 -
Mysql- 视图基本使用
简单来说视图就是:将一段查询sql封装为一个虚拟的表。这个虚拟表只保存了sql逻辑,不会保存任何查询结果作用是:1、封装复杂sql语句,提高复用性2、逻辑放在数据库上面,更新不需要发布程序,面对频繁的需求变更更灵活语法+命名规则:创建:CREATE VIEW view_nameASSELECT column_name(s)FROM table_nameWHERE condition查询:select * from view_name更新:SELECT column_na原创 2020-06-26 00:11:36 · 108 阅读 · 0 评论 -
Mysql优化分析-索引如何建立与sql优化
随着我们的时间的推移,相关的数据表会变得越来越大;与此同时的数据库查询也会性能下降;执行时间变长…可能出现的问题:数据过多– 这个我们得将数据进行分库分表关联了太多的表,太多join查询– 需要进行SQL优化没有充分利用到索引– 索引建立==(1:mysql会自动创建主键索引;2:需要根据实际情况,创建索引)==服务器调优及各个参数设置– 调整my.cnf配置文件身为程序员,我们工作上能够接触的可能也就是我们写的sql语句,对sql语句的优化可以说是相当必要的,优化得当效果是非常客观原创 2020-06-16 23:59:12 · 1501 阅读 · 0 评论 -
MYSQL存储引擎介绍
mysql一共有这几种1、InnoDB存储引擎InnoDB是MySQL的默认事务型引擎,==它被设计用来处理大量的短期(short-lived)事务。==除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。2、MyISAM存储引擎MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务和行级锁,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。3、 Archive引擎Archive档案存储引擎只支持INSERT和SELECT操作,原创 2020-06-16 23:01:24 · 72 阅读 · 0 评论 -
简述mysql的逻辑架构
##首先来看一张官方的图单先介绍下和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。1.连接层最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证原创 2020-06-16 22:54:07 · 188 阅读 · 0 评论 -
MySQL的sql_mode
sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的;比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。比如 mysql5.5默认是空的 没有一些校验的原则;#每个机构年龄最大的人SELECT NAME,dept,MAX(age) FROM mytbl2 GROUP BY dept;这条语句在5.5中执行没有问题,但是在5.7中是会报错;1055 - Expr原创 2020-06-13 00:44:06 · 111 阅读 · 0 评论 -
新建mysql用户无法远程连接或者无法看到数据库等,用户权限管理的问题
mysql中mysql数据库中的user表,是整个mysql用户的信息;不过如果直接查看select * from user;字段太多折行,没法看装换成列式式:select * from user \G;可以看到可以执行的权限和相关的权限系统默认的账户是没有配置远程访问:需要在权限表中配置,需要在host项配置为%;就可以使这个账号远程访问,%:代表所有的主机默认的话是localhost:代表只能本机通过命令行访问也可以设置某网段,或者某ip访问提高安全创建用户:create原创 2020-06-13 00:36:11 · 1414 阅读 · 0 评论