Mysql

MySQL 8 新特性之自增主键的持久化

自增主键没有持久化是个比较早的bug,这点从其在官方bug网站的id号也可看出(https://bugs.mysql.com/bug.php?id=199)。由PeterZaitsev(现PerconaCEO)于2003年提出。历史悠久且臭名昭著。 首先,直观的重现下。mysql>createtable...

MySQL root密码忘记,原来还有更优雅的解法!

一直以来,对于MySQLroot密码的忘记,以为只有一种解法-skip-grant-tables。问了下群里的大咖,第一反应也是skip-grant-tables。通过搜索引擎简单搜索了下,无论是百度,抑或Google,只要是用中文搜索,首页都是这种解法。可见这种解法在某种程度上已经占据了使用者的心智。下面具体来看看。...

MySQL 8 新特性之降序索引

MySQL8.0终于支持降序索引了。其实,从语法上,MySQL4就支持了,但正如官方文档所言,"theyareparsedbutignored",实际创建的还是升序索引。 无图无真相,同一个建表语句,看看MySQL5.7和8.0的区别。createtableslowtech.t1(c1int,c2int,in...

MySQL 8 新特性之持久化全局变量的修改

在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过SETPERSIST命令将全局变量的修改持久化到配置文件中。试举一例mysql>showvariableslike'%max_connections%';+------------...

MySQL 8 新特性之Invisible Indexes

背景索引是把双刃剑,在提升查询速度的同时会减慢DML的操作。毕竟,索引的维护需要一定的成本。所以,对于索引,要加上该加的,删除无用的。前者是加法,后者是减法。但在实际工作中,大家似乎更热衷于前者,而很少进行后者。究其原因,在于后者,难。难的不是操作本身,而是如何确认一个索引是无用的。 如何确认无用索引在不可见...

MySQL高可用方案MHA自动Failover与手动Failover的实践及原理

集群信息角色              IP地址        ServerID &nbs...

MySQL高可用方案MHA在线切换的步骤及原理

在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小。MHA就提供了这样一种优雅的方式,只会堵塞业务0.5~2s的时间,在这段时间内,业务无法读取和写入。 集群信息角色&nbs...

深度解析MySQL启动时报“The server quit without updating PID file”错误的原因

很多童鞋在启动mysql的时候,碰到过这个错误,首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql。通过mysqld_safe或mysqld启动mysql实例并不会报这个错误。那么,出现这个错误的原因具体是什么呢?哈哈,对分析过程不care的童鞋可直接跳到文末的总结部分~总结 下面,来分析下m...

MySQL MEB常见用法

1.备份成镜像  备份:./mysqlbackup--socket=/usr/local/mysql-advanced-5.6.23-linux-glibc2.5-x86_64/data/mysql.sock--backup-image=/images/20161008.mbi--backup-di...

MySQL简介

 数据库学习目录 mysql参考:百度MySQL     MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(...
IT猿·2020-03-28

Mysql 错误相关

     有几天没启动本地的MySQL了,今天打开小海豚,直接给我弹出了连接失败,这是怎么回事,就直接进入命令行,发现也有问题,输入密码后一闪而过,也没有什么提示信息给我,百度了先,都说是修改MySQL安装目录的my.ini文件,因为这是MySQL启动要加载的文件,但是...
IT猿·2020-03-28

mysql安装教程以及配置快捷方式

 1.首先双击exe    3.Next     安装过程省略....            &nb...

Mysql存在则更新,没有则新增

insertignore当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。insertignoreintotable(col1,col2)values('val1','val2');onduplicatekeyupdate当primary或者unique重复时,则执行update语句INSERTI...

MySQL查询优化

在分析性能欠佳的查询时,应考虑:       1)应用程序是否正获取超过需要的数据,即访问了过多的行或列。       2)Mysql服务器是否分析了超过需要的行。 &n...
IT猿·2020-03-27

MySQL更新优化

       通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作)。当读取者完成对表的操作的时候,锁就会被解除。如果写入者正在等待的时候,另...
IT猿·2020-03-27