mysql系列
文章平均质量分 87
主要为博主在mysql方面遇到的很多问题,以及踩过的坑
王啸tr1912
Java mysql 嵌入式
展开
-
【MySQL】Mysql设计与开发规范-修订版
由于项目组最近需要数据库设计规范1.命名规范【强制】库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量体现join的关系,如 im_area_group 表和 im_area_group_city 表。 【强制】一般分库名称命名格式是库通配名_编号,编号从0开始递增,比如wenda_001以时间进行分库的名称格式是“库通配名_时间”。 【强制】创建数据库时必须显式指定字符集,并且字符集只能是utf8或者utf8mb4。 【强制】表名、字段名必须使用小写字母或数字 , 禁止出现数原创 2021-02-22 11:33:19 · 386 阅读 · 3 评论 -
【mysql】sql语句优化
最近面试,经常会碰到需要对于sql语句的一些问题,比如,我这里有一个查询,耗时非常的长,我们怎么样才能使他的查询时间变短呢?在我们思维中,可用的方法有很多,比如建立索引,建立存储过程等等,但是有没有想过,适当的改变sql语句的书写方式,也可以提高查询的效率?下面和大家分享一下从网上找到的优化sql语句的实例。原创 2017-08-19 23:29:18 · 405 阅读 · 16 评论 -
【mysql】ERROR 1054 (42S22): Unknown column '‘root‘' in 'where clause'
今天在安装mysql的时候,前面的步骤都没有太大的问题,但是到了想要重置密码的时候出现了问题,ERROR 1054 (42S22): Unknown column '‘root‘' in 'where clause',不管如何用sql语句进行重置,它都会出现这样的提示语句,我用的语句如下:update user set password=password(‘123456‘) where use原创 2017-08-21 23:48:22 · 35082 阅读 · 21 评论 -
数据库索引及其使用
前一阵子,在数据库上吃了不少的亏,这次来总结一下数据库中的索引,对于提升大量数据的查询速度很有帮助。一、为什么要用索引 一般少量的数据,可能不是很明显,但是到了大量的数据马上就显示出来索引的有点了。我们在创建数据表主键的时候,会自动创建一个唯一性的索引,用来保证数据表中每一行的唯一性。 可以通过索引的建立,大大加快数据检索的速度(查询),同时原创 2017-10-08 21:44:11 · 560 阅读 · 15 评论 -
【mysql】Centos7安装mysql8.0删除MariaDB
在安装mysql8.0并且使用最新版的centos7的时候出现了不少坑,这个是其中之一。 由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。使用rpm命令查找mariadb:rpm -pa | grep mariadb 可能会出现:m...原创 2018-05-25 19:46:49 · 3532 阅读 · 17 评论 -
CentOs7下安装mysql5.7.23(rpm安装)
准备 一台装有centos7.3的电脑(或虚拟机),mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar mysql的rpm安装集合包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads注意这样选择,可以获得centos支持的版本。 一、安装环境 ...原创 2018-07-29 15:42:46 · 17499 阅读 · 15 评论 -
【MySQL】initialize specified but the data directory has files in it. Aborting
我们在安装mysql的时候可能会遇到这个问题:是不是执行了这个命令呢?mysqld --initialize --user=mysql 报这个错误的原因是因为你的mysql数据库已经进行初始化了,所以不能用这种方式再进行初始化用户了,因为mysql在初始化的时候会自动创建一个root用户的。这个时候我们应该怎么办呢?1、找到数据库目录我们可以在mysql...原创 2018-07-29 15:56:54 · 88263 阅读 · 18 评论 -
【MySQL】解除mysql5.7.X版本弱密码限制
mysql数据库从5.7的版本开始对密码进行了严格的限制,因为他默认安装了一个validate_password的插件,我们在命令行中输入mysql> show plugins;即可看到,一般在最下方:状态为AVTIVE,说明为启用状态。我们可以看一下他的验证规则,在mysql命令中中输入:mysql> SHOW VARIABLES LIKE...原创 2018-07-31 11:44:22 · 5426 阅读 · 4 评论 -
【MySQL】MySQL From主从复制To双机热备
安装完mysql之后,有了新的需求,就是需要有一台服务器用来做数据备份使用,以达到容灾的目的,这样需要怎么做呢?还有我们需要进行多点访问来减小单点压力的时候又要怎么办呢?这个时候我们就引入了主从复制和双机热备的概念了。 其实从实现上来讲,双机热备就是我们做了两个机器的主从互备。下面我们从原理上开始说,这次试用的mysql版本依旧是5.7.23,在网上看配置方法后,...原创 2018-07-31 16:33:39 · 2610 阅读 · 3 评论 -
【MySQL】主从复制-从机Slave_SQL_Running: No
问题现象: 我们可以明显的发现,我们的sql线程已经挂掉了。 导致这个问题的原因是因为由于数据的不同步,导致我们在执行主从同步的时候出现了执行不了的sql,导致从机事务回滚了,所以sql的进程就被关闭了,常见的这个问题的出现方式:在从机上进行了写操作(非双机热备情况下)。 slave机器重启,事务回滚。 各种原因导致的数据不同步。解决办法1:mysql&g...原创 2018-07-31 16:47:51 · 6046 阅读 · 4 评论 -
【MySQL】索引失效以及explain应对
我们都知道在数据表中建立索引是可以增加查询的效率的,但是不知道同志们有没有注意过索引失效的情况,就是你明明建立了索引,但是却和没有建立索引的时候查询的时间是一样的。 前提 索引是什么? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。 使用Navicat...原创 2018-08-01 00:31:40 · 5470 阅读 · 0 评论 -
【MySQL】表锁和行锁
一、表锁 特点:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 我们在编辑表,或者执行修改表的事情了语句的时候,一般都会给表加上表锁,可以避免一些不同步的事情出现,表锁分为两种,一种是读锁,一种是写锁。 我们可以手动给表加上这两种锁,语句是:lock table 表名 read(wr...原创 2018-08-01 10:13:07 · 15205 阅读 · 0 评论