
Mysql提升
该栏目主要包含Mysql安装、MySQL日志、MySQL优化、MySQL锁机、MySQL约束、主从复制、集群等,从入门到深入。
我爱默小兜
热爱编程,热爱生活
展开
-
MySQL中计算索引长度
首先,我们来看一道题目,针对表t,包含了三个字段a、b、c,假设其默认值都非空,现创建组合索引index(a,b,c) 分析select * from t where a=1 and c=1 和select * from t where a=1 and b=1区别?首先创建表分别执行这两条语句发现,两则区别主要是在于key_len上,为什么二则区别不一样呢?我的理解原创 2016-10-12 22:08:15 · 6071 阅读 · 1 评论 -
MySQL索引以及结构深入详解
B-tree/B+tree概念以及区别;那数据库为什么使用B-tree;什么是索引;索引的类别;聚集索引与非聚集索引;MySQL数据库中MyISAM和InnoDB数据存储引擎原创 2016-08-02 17:18:48 · 2091 阅读 · 3 评论 -
MySQL中char与varchar数据类型选择原则
char与varchar比较;针对MyISAM、InnoDB、Memory存储引擎如何选择char与varchar,以及一些可能的误区原创 2016-05-31 15:37:15 · 8961 阅读 · 3 评论 -
MySQL帮助的使用
mysql自带的帮助使用;简化本地Mysql连接原创 2016-05-31 11:33:45 · 5232 阅读 · 7 评论 -
MySQL查询高速缓冲详解
MySQL查询高速缓冲概述;MySQL查询高速缓冲如何工作;MySQL查询高速缓冲配置;MySQL查询高速缓冲维护(碎片的清理、查询缓存性能监控)等。原创 2016-05-29 21:47:17 · 6765 阅读 · 1 评论 -
MySQL查询优化器工作原理解析
手册上MYSQL查询优化器概述;个人对MySQL优化器的理解;分析优化器优化过程中的信息;调节MySQL优化器的优化等原创 2016-05-28 21:06:31 · 14244 阅读 · 1 评论 -
MySQL中optimize优化表
前言当对MySQL进行大量的增删改操作的时候,很容易产生一些碎片,这些碎片占据着空间,所以可能会出现删除很多数据后,数据文件大小变化不大的现象。当然新插入的数据仍然会利用这些碎片。但过多的碎片,对数据的插入操作是有一定影响的,此时,我们可以通过optimize来对表的优化。 为了更加直观的看到数据碎片,Mysql可以使用如下命令查看 show table status [like table_n原创 2016-05-23 22:09:17 · 27947 阅读 · 22 评论 -
MySQL索引设计一些策略
前言索引加快了检索的速度,但是却降低了数据列里插入、删除以及修改数值的速度。也就是说,索引降低了许多涉及写入的操作速度。之所以出现这种情况,是由于写入一条数据不仅仅是要写入到数据行,还需要所有的索引都作出相应的改变如更新或是重新编排。MySQL在为检索生成一个执行方案时候,要仔细对索引进行计算,创建过多的索引对查询优化程序就加上了更多的工作,而且当你有太多的索引的时候,MySQL还有可能无法选出最好原创 2016-05-25 17:11:51 · 11659 阅读 · 1 评论 -
MySQL常见问题和应用技巧
忘记MySQL的root密码解决办;处理MyISAM存储引擎的表损坏;#MyISAM表过大,无法访问问题;#数据目录磁盘空间不足的问题原创 2016-05-10 21:03:34 · 3372 阅读 · 0 评论 -
Mysql中触发器的使用
触发器的概念;触发器的语法;触发器的实例;原创 2016-05-08 17:42:59 · 2592 阅读 · 0 评论 -
MySQL中information_schema数据库相关权限的说明
一、information_schema简介information_schema数据库是在mysql的版本5.0之后产生的,一个虚拟数据库,物理上并不存在,它们实际上是视图。我们可以查看数据存在目录如下,并看不到information_schema文件夹:可以看出并不存在information_schema数据库。information_schema数据库类似与“数据字典”原创 2016-04-25 19:00:42 · 19567 阅读 · 1 评论 -
win下远程连接linux下mysql
win7下远程连接mysql,一般我都会使用SQLyog,当看到别人通过命令提示符去连接linux下的mysql的时候,也想去尝试一下,先将连接方式总结如下: 我首先打开了命令提示符,输出如下命令 于是我就纳闷,为什么不可以向别人说的那样呢?动了动脑子想了一下,win命令提示怎会有mysql命令,瞬间被自己蠢哭了。于是将命令切换到mysql安装目录下的bin中 在此尝试连接 为什原创 2016-04-24 11:59:55 · 5172 阅读 · 1 评论 -
MySQL的备份与恢复详解
MySQL数据逻辑备份和物理备份;基于时间恢复;基于位置的恢复;热备份与冷备份;数据的导入;数据的导出;原创 2016-04-18 19:43:45 · 8250 阅读 · 0 评论 -
php通过Mysqli和PDO连接mysql数据详解
前言在实际开发中,关于数据库操作类,很少是自己去写,大多是通过一些框架去实现,突然自己去写,还是需要借阅手册之类,于是我觉得有必要去总结一下,php连接mysql的方法,php连接mysql,可以通过mysql扩展、mysqli扩展,pdo扩展,因为高版本的php将移除mysql_系列方法,故在此只总结另外两种连接方式。首先我们得确保php的这两个扩展是否已经打开,查看php.ini配置文件如原创 2016-04-12 11:52:09 · 2781 阅读 · 0 评论 -
windows下通过DOS命令提示符进入MySQL数据库
环境简介mysql是在安装php集成环境wampserver时候自带安装的,没有操作界面,一直以来都是使用SQLyog来管理操作,今天突然想通过命令提示符窗口操作,于是总结了一些,windows下如和使用使用DOS命令进入MySQL数据库。首先确定mysql安装位置比如我的mysql安装在D:\wamp\bin\mysql\mysql5.6.17\bin其次,输入以下命令原创 2016-04-10 13:57:51 · 13264 阅读 · 2 评论 -
MySQL优化的步骤详解
在开发过程中,虽然感觉优化sql语句很重要,但是往往更加重视的是功能实现,为了使自己以后写Mysql语句效率更高,有必要对Mysql优化做一个小小归纳。步骤一、通过show status 命令了解各种sql执行的效率show [session|gobal] statussession级别表示统计当前连接的结果。global级别表示统计自数据上次启动至今的结果。如果不写级别,默认原创 2016-04-09 20:30:36 · 6260 阅读 · 4 评论 -
MySQL中常用的SQL Mode
sql mode定义了,mysql应支持的sql语法、数据校验等,这样可以方便在不同的环境中使用mysql,mysql中定义的常见sql_mode如下mysql中修改sql_mode命令SET SESSION SQL_MODE='STRICT_TRANS_TABLES';原创 2016-04-09 15:10:56 · 772 阅读 · 1 评论 -
mysql中视图更新详解
视图的可更新性与视图中查询的定义是有关的一、mysql中那些试图使不可更新的?以下类型的视图是不可更新的1.包含以下关键字的sql语句:聚合函数(sum、min、max、count)、distinct、group by 、having、union或者uinon all2.常量视图3.select 中包含子查询4.join5.from一个不可更新的试图6.wh原创 2016-04-09 12:04:33 · 11708 阅读 · 4 评论 -
关于MySQL中数据类型显示宽度n
我们在MYSQL中创建表的时候,可能常常使用int(10),然后这个10代表具体意义究竟是什么呢?它和varchar(10)中10又有什么区别呢?对于整形数据,mysql支持在类型名称后面的小括号内指定显示宽度。显示宽度一般配合zerofill使用。zerofill顾名思义就是使用0来填充。当数字位数不够显示的宽度的时候,使用0填充。如果不配合使用zerofill,则mysql中设置显示宽原创 2016-04-06 21:44:27 · 1708 阅读 · 0 评论 -
mysql中can't find mysql.sock 问题解决
linux关闭重启后,会清空tmp下的响应缓存文件,导致mysql启动产生的mysql.sock丢失找不到,正确做法是,以安全模式启动mysql,就会重新生成mysql.sock文件bin/mysqld_safe &原创 2016-04-06 14:54:28 · 2119 阅读 · 0 评论 -
解决MySQL不允许从远程访问
1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" # mysql -u root -pvmwaremysql>use mysql; mysql>update user set ho原创 2015-12-10 12:58:10 · 660 阅读 · 0 评论 -
MySql 里的IFNULL、NULLIF和ISNULL用法
今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:mysql中isnull,ifnull,nullif的用法如下:isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。原创 2015-12-09 14:54:25 · 4782 阅读 · 0 评论 -
影响Mysql性能的重要参数详解
查看MySQL中参数Mysql服务启动之后,我们可以使用show variables和show status 命令可以查看mysql服务的静态参数值和动态运行状态信息。其中show variables是查看数据库启动后不会动弹更改的值,比如缓冲区大小、字符集、数据文件名等。show status是查看数据库运行期间的动态变化信息,比如锁等待、当前连接数等。查看服务器含有buffer的参数值原创 2016-04-11 17:59:24 · 5762 阅读 · 6 评论 -
Mysql中错误日志、binlog日志、查询日志、慢查询日志简介
前言数据库的日志是帮助数据库管理员,追踪分析数据库曾经发生的各种事件的有力依据,mysql中提供了错误日志、binlog日志(二进制日志)、查处日志、慢查询日志。在此,我力求解决以下问题:各个日志的作用是什么?怎样去控制这些日志呢?怎样去使用这些日志提供的信息呢?错误日志1.错误日志作用错误日志记录了mysql启动和停止时,以及服务器运行过程中发生任何严重性错误的相关信息。当数据库原创 2016-04-13 17:53:03 · 16697 阅读 · 0 评论 -
MySQL中权限管理
权限管理MySQL权限系统通过下面两个阶段进行认证:1.对连接的用户进行身份认证,合法的用户通过认证,不合法的用户拒绝连接。对通过认证的合法用户授予相应的权限,用户可以通过再这些权限范围内对数据库做相应的操作。 2.在权限存取过程中,主要涉及到mysql数据库下user表和db表。user表的数据结构如下: db表数据结构包含用户列、权限列、安全列和资源控制列。原创 2016-04-20 13:20:55 · 7220 阅读 · 0 评论 -
Linux下MySQL5.1安装详解
linux下源码安装mysql原创 2016-04-22 20:28:55 · 11150 阅读 · 2 评论 -
Linux下源码安装MySQL5.6.30
环境简介linux :cenos 6.5 mysql版本:mySQL5.6.30 Mysql5.6.30安装与mySQL5.1安装还是有一些区别了,需要使用cmake进行安装信息的配置。据说Mysql从5.5以后安装都需要cmake。 Mysql5.6.30里面没有configure,没法通过./configure 进行安装配置,需要自己去生成配置信息 MySQL5.6.30安原创 2016-04-24 11:16:32 · 9223 阅读 · 2 评论 -
Mysql主从复制搭建及详解
mysql主从复制配置与搭建;mysql主从复制优缺点;主从数据库的管理;原创 2016-04-26 15:45:36 · 18567 阅读 · 0 评论 -
Mysql中约束详解
Mysql中约束;常见的约束如not null约束、唯一约束、主键约束、外键约束以及check约束等。原创 2016-05-07 11:17:09 · 9482 阅读 · 0 评论 -
MySQL数据库锁机制之MyISAM引擎表锁和InnoDB行锁详解
MySQL中的锁概念Mysql中不同的存储引擎支持不同的锁机制。比如MyISAM和MEMORY存储引擎采用的表级锁,BDB采用的是页面锁,也支持表级锁,InnoDB存储引擎既支持行级锁,也支持表级锁,默认情况下采用行级锁。Mysql3中锁特性如下:表级锁:开销小,加锁块;不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发原创 2016-04-10 17:23:10 · 25285 阅读 · 2 评论