mysql
文章平均质量分 93
穷水叮咚
这个作者很懒,什么都没留下…
展开
-
基于Docker的Mysql主从复制搭建
为什么基于Docker搭建?资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相互独立,有独立ip,互不冲突 Docker使用步骤简便,启动容器在秒级别利用Docker搭建主从服务器首先拉取docker镜像,我们这里使用5.7版本的mysql:docker pull mysql:5.7然后使用此镜像启动容器,这里需要分别启动主从两个容器Master(主):docker run -p 3339:330转载 2020-11-15 20:38:27 · 179 阅读 · 0 评论 -
Innodb锁机制:Next-Key Lock 浅谈
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特性:MVCC来实现的。InnoDB有三种行锁的算法:1,Record Lock:单个行记录上...转载 2019-09-24 11:32:06 · 242 阅读 · 0 评论 -
CentOS7下使用yum安装MariaDB
CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。Linux下安装MariaDB官方文档参见:ht...转载 2019-04-01 20:33:05 · 425 阅读 · 0 评论 -
MySql 5.7.20安装
1.首先上MySql的官网下载 https://dev.mysql.com/downloads/mysql/ 以我所选版本为例(免安装版),选择MYSQL Community Server 然后在右边选择你所对应的版本 我的是64位 下载相应的zip版本 下载完解压到你想要存放的位置 我的是解压到D:\mysql-5.7.20-winx64解压完成后是没有data...转载 2019-02-18 16:21:51 · 168 阅读 · 0 评论 -
The service already exists!-mysql安装服务
The vervice already exists! The current server installed:以前安装mysql的地址/bin/mysqld-nt MYSQL解决办法 移除原来的mysql服务 mysqld -remove MySQL或者 sc delete mysql 重新注册 mysql服务 mysqld –install MySQL –defaults...转载 2019-02-18 16:09:35 · 3217 阅读 · 0 评论 -
Mysql innodb 间隙锁
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。 图1 ...转载 2018-12-12 23:37:47 · 231 阅读 · 0 评论 -
MySql数据库中sql的IS NOT NULL与!=NULL的区别
今天莫名其妙产生了一个bug,手写的sql,根据条件连表查询数据明明数据库对应有数据,可偏偏查出来没有,后面检查了下手写的sql有问题,判断某个字段不为空我写的是!=null,就这样产生了bug.........,后面改成is not null就查出来了!!!于是百度了一下,解释如下:在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉...原创 2018-11-13 22:13:09 · 1890 阅读 · 0 评论 -
数据库三大范式详解(通俗易懂)
◆ 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列。考虑这样一个表:【联系人】(姓名,性别,电话)如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符合 1NF 我们只需把列(电话)拆分,即:【联系人】(姓名,性别,家庭电话,公司电话)。1NF 很好辨别,但是 2NF 和 3NF 就容易搞混淆。◆ 第二范式(2NF): ...转载 2018-09-18 15:23:54 · 1892 阅读 · 0 评论 -
mysql组合索引与字段顺序
很多时候,我们在mysql中创建了索引,但是某些查询还是很慢,根本就没有使用到索引!一般来说,可能是某些字段没有创建索引,或者是组合索引中字段的顺序与查询语句中字段的顺序不符。看下面的例子:假设有一张订单表(orders),包含order_id和product_id二个字段。一共有31条数据。符合下面语句的数据有5条。执行下面的sql语句:select product_id from...转载 2018-09-18 14:21:00 · 9372 阅读 · 3 评论 -
MySQL 表锁和行锁机制
MySQL 表锁和行锁机制行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿!MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的...转载 2018-09-18 12:23:59 · 225 阅读 · 0 评论 -
sql优化的几种方法
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t ...转载 2018-08-31 13:31:02 · 123 阅读 · 0 评论 -
细说mysql索引
首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描10W条数据找这条数据,如果我在nickname上建立索引,那么mysql只需要扫描一行数据及为我们找到这条nickna...转载 2018-08-30 23:01:27 · 103 阅读 · 0 评论 -
深入浅出数据库索引原理
使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快”这个概念为止。 为什么要给表加上主键? 为什么加索引后会使查询变快?...转载 2018-08-30 21:07:25 · 201 阅读 · 0 评论 -
解决插入汉字时mysql显示乱码的问题
show variables like '%char%';这里我们可以看character_sert_database与character_set_server的字符集都是latin1.那么在mysql数据库中,server,database,table的字符集都默认是latin1.所以当插入中文时会导致乱码,存进去时一些????修改mysql配置文件/etc/my.cnf。加入下面语句[mysq...原创 2018-06-27 23:39:50 · 599 阅读 · 0 评论 -
centos7 设置mysql表名不区分大小写
今天遇到一个坑,安装了mysql后,然后导入表,查询的时候表要区分大小写,所以设置数据库不区分大小写,lower_case_table_names=1其中0:区分大小写,1:不区分大小写查询当前设置:?12345678mysql> show variables like '%lower%';+------------------------+-------+| Variable_name ...原创 2018-06-26 13:52:53 · 7803 阅读 · 2 评论 -
centos7安装mysql
1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。[root@localho...转载 2018-06-25 23:18:29 · 110 阅读 · 0 评论 -
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到。错误代码是1130,ERROR 1130: Host X.X.X.X is not allowed to connect to this MySQL server猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在服务器登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项...原创 2018-06-25 23:56:37 · 1438 阅读 · 0 评论