分类:: MySQL

0

MySQL导入大文件调参

今天利用MySQL导入数据的时候发生了一个错误,报错的信息是“MySQL server has gone away”。这个如何解决呢?我先说说我的工具,我导入数据使用的是Navicat Premium 12.0.13,然后MySQL使用的是Homebrew安装的。 写这篇文章目的主要是记录一下这个问题的解决方案,以免以后重蹈覆辙。其实答案很简单,就是调整MySQL一个配置项max_allowed_

0

高性能MySQL之多版本并发控制MVCC(六)

锁的代价前面一节讲到过死锁,以及事务型数据库中需要经常地检测死锁的问题,提出的对应解决方案就是使用行级锁,将需要锁定的行锁定起来。那么,这里就不得不说到锁的代价了,其实锁定一行的代价还是很高的,因为它对其它事务来说就是在短期内不可用的了,这对数据库的吞吐量来说是极大的损害! 那么有没有什么方法能有效地减少锁的的创建呢?这就是我们接下来要介绍的MVCC啦。MVCC其实是行级锁的一个变种,但是很多情况

0

高性能MySQL之死锁(五)

死锁本文聊一聊事务中的死锁现象。死锁的定义是什么?死锁是指两个或者多个事务在同一个资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环的现象。当多个事务试图以不同的顺序锁定相同的资源时,就很容易产生死锁。或者是多个事务同时锁定某一个相同的资源时,也非常容易产生死锁哦! StockPrice表实例分析假设现在有两个事务同时针对StockPrice表进行相关的操作,如下: 事务一: 1234ST

0

高性能MySQL之事务隔离级别(四)

事务概念回顾这里再回顾一下事务的概念:事务一组原子性的SQL查询。事务处理系统一般包括四个特性ACID(原子性Atomicity,一致性Consistency,隔离性Isolation以及持久性Durability)。今天重点聊一聊这里面的隔离性Isolation。 隔离级别隔离性远比想象的要复杂很多,因为涉及到系统各个事务之间的数据更新操作可见性。一般来说,隔离级别会分为四种: READ UN

0

高性能MySQL之事务(三)

事务先说说什么是事务?不同的同学对这个概念有很多不同的理解。我以前对事务就有很长时间的不理解,单纯认为事务是一件很复杂的事情,到底多复杂,我也不清楚,总之就是需要处理各种操作的事情。现在给出一个比较准确的定义哈,数据库中的事务就是指一组原子性的SQL查询,或者说一个独立的工作单元。这句话怎么理解呢?你一共要执行一些SQL语句去完成某个操作对吧,但是完成的过程当中,执行到一半的时候,某个语句失败了,

0

高性能MySQL之锁粒度(二)

无论什么时候,只要有多个查询需要同一时刻修改数据,都会产生并发控制问题。关于并发控制的问题,我们将会介绍一个新的概念-锁。我们在多线程编程中会经常使用锁来进行并发控制。那么,MySQL针对并发控制做了哪些努力呢?或者说,MySQL的锁粒度主要是哪几种呢? 锁粒度一种提高共享资源并发性的方式就是让锁定对象更有选择性。尽量只锁定需要修改的部分数据,而不是所有的资源。为什么这样呢?我们都知道,一旦锁定了

0

高性能MySQL之逻辑架构(一)

众所周知,MySQL是一款非常优秀的开源数据库,根据最新的DB-Engines(https://db-engines.com/en/ranking)排名来看,MySQL使用量已经跃居第二了。和Oracle以及Microsoft SQL Server一起稳稳地占据着前三名的绝对地位。不过我们也应该关注另一个发展迅猛的数据库就是PostgreSQL,不过在这个系列里面我们就不聊PostgreSQL啦。

0

MySQL命令行操作

一、连接MYSQL。格式: mysql -h 主机地址 -u 用户名 -p 用户密码 例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>