CentOS使用二进制包安装Mariadb 10.3.10 MySQL

CentOS使用二进制包安装Mariadb 10.3.10

一、mariadb安装 mariadb是属于mysql的一个分支,是其创始人在mysql被卖给oracle之后重新分出来的,maria取自于他女儿的名字。mariadb完全兼容于mysql,在很多新版本的linux系统中,mysql都已经被替换成了mariadb。 mariadb官方地址,下载地址,...
阅读全文

使用mysqldump备份数据库

一、备份数据库 mysql自带了数据库备份工具mysqldump可以很方便的对数据库进行备份: 以上命令就完成了一次数据备份,备份后的数据保存在文件db.sql,参数--all-databases是指备份所有数据库。 如果只想备份特定的数据库,通过参数--database, -B指定即可,也可以直接...
阅读全文
给MySQL终端prompt设置颜色 MySQL

给MySQL终端prompt设置颜色

昨天给shell的prompt设置了终端颜色,今天突然奇想能不能给mysql的prompt也设置颜色,网上查了一下还真有,在.bashrc中添加以下设置即可开启颜色: 显示效果如下: 上面的代码中,\x1B表示颜色设置开始,紧接着
阅读全文

MySQL中的unique和primary key

primary key用于标识主键,字段被设置为主键后该字段所有值不可重复且不能为null,每个表仅可有一个主键。unique设置字段不可重复,但不包括null值,每张表可以有多个unique字段,null并不包括空值。 简单来说primary key = unique + not null。 一、...
阅读全文
SQL UNION和UNION ALL用法 MySQL

SQL UNION和UNION ALL用法

一、概述 union和union all都用于合并多个查询的结果,用法为: 两者的区别是union all中会有重复记录,而union中没有。 二、示例 创建两张表chinese和math分别表示语文课和数学课的选课情况: 两张表中有同一条记录小明。 2.1 使用union 结果中没有重复记录小明:...
阅读全文
MySQL 乐观锁 MySQL

MySQL 乐观锁

一、乐观锁说明 乐观锁的使用原理是在数据表中添加一个版本字段,每次先查询当前的版本,在更新数据的时候判断版本是否和查询到的版本一致,一致就说明数据没有被修改,可以操作数据并把版本号+1;如果版本号不一致就说明数据已经被更改了,不进行操作。 相对悲观锁来说,乐观锁用得更广泛一点,但乐观锁的缺点是操作失...
阅读全文
MySQL 悲观锁 MySQL

MySQL 悲观锁

一、什么是悲观锁 前文说明了MySQL事务在并发环境下会导致脏读和不可重复读等等的现象,数据库通过事务隔离级别也就是我们常说的锁来解决这个问题。悲观锁的工作原理是假设每次事务都会被其他事务打断,所以在每次操作数据时,都把数据设置成锁定状态,使得其他事务无法再操作。悲观锁能有效的防止数据并发带来的各种...
阅读全文
MySQL的事务隔离级别和锁机制 MySQL

MySQL的事务隔离级别和锁机制

一、事务并发带来的问题 1.1 第一类丢失更新 两个事务同时更新一行数据,第一个事务正常更新,第二个事务中途退出回滚数据到初始状态,导致第一个事务更新失效。 例如: 有一张表存放了用户的银行卡余额信息,其中小张余额为5000元。 同一时刻事务A和事务B都读取小张的余额为5000元,事务A给小张发了1...
阅读全文
MySQL 事务 MySQL

MySQL 事务

一、什么是事务 事务是一组SQL语句构成的语句集合,它保证所有的SQL都能全部执行或者全部不执行。 事务必须满足四个条件(ACID):Atomicity 原子性 Consistency 一致性 Isolation 隔离性 Durability 持久性 原子性:一组事务,要么成功,执行所有语句,要不失...
阅读全文