![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 71
飞起的人生
每天学习一点点
展开
-
k8s部署mysql服务
搭建一个api和一个mysql服务 能够接收用户传的数据并且存在mysql里面 数据需要持久化 pv.yamlkind: PersistentVolumeapiVersion: v1metadata: name: mysql-pvspec: accessModes: - ReadWriteOnce #访问模式定义为只能以读写的方式挂载到单个节点 capacity: storage: 100Mi persistentVolumeRe原创 2021-04-30 15:16:54 · 2879 阅读 · 2 评论 -
MySQL 8.0 修改 sql_mode=only_full_group_by
今天在查询sql时遇到mysql> select id,mobile from mt_user group by mobile having count(1)>1;ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'maestro.mt_user.id' which is not functionally dependen原创 2020-08-28 13:07:53 · 5885 阅读 · 2 评论 -
Linux 下 MySQL图形客户端 dbeaver
1:下载dbeaver下载地址:https://dbeaver.io/download/进入网页在最下面选择好系统版本之后,就可以下载了。2:安装dbeaver打开终端输入命令:sudo dpkg -i dbeaver-ce_7.1.5_amd64.deb如果安装不成功的提示,可以输入以下命令:sudo apt-get -f install然后重新输入命令sudo dpkg -i dbeaver-ce_7.1.5_amd64.deb安装完成。Ste.原创 2020-08-26 14:53:19 · 936 阅读 · 0 评论 -
Linux Mint 安装 MySQL8.0
首先确认之前没安装过mysql,安装了可以卸载sudo apt remove mysql-server安装sudo apt install mysql-server进入mysql 第一次会有这个报错➜ ~ mysql -uroot -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)需要查看vim /etc/mysql..原创 2020-08-20 15:48:23 · 893 阅读 · 0 评论 -
MySQL 避免重复插入记录方法 (IGNORE ,Replace,ON DUPLICATE KEY UPDATE)
MySQL唯一键 unique key,用来保证对应的字段中的数据唯一的。主键也可以用保证字段数据唯一性,但是一张表只有一个主键。唯一键特点:1、唯一键在一张表中可以有多个。2、唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较)有时候会遇到主键和唯一键的冲突,这时候需要下面几种方法1.INSERT IGNORE INTO当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉.原创 2020-05-19 10:43:14 · 453 阅读 · 0 评论 -
MySQL:插入更新语句 ON DUPLICATE KEY UPDATE
建立一张表node_status:+--------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------------+--------------+------+-----+---------+...原创 2019-12-10 14:30:56 · 281 阅读 · 0 评论 -
Mysql使用 BINARY 关键字使搜索区分大小写
使用 BINARY 关键字使搜索区分大小写eg:select id,name from user where BINARY name='fox';结果不加 BINARY eg:select id,name from user where name='fox';结果:...原创 2019-11-04 10:05:03 · 415 阅读 · 0 评论 -
什么是分库分表
前言公司最近在搞服务分离,数据切分方面的东西,因为单张包裹表的数据量实在是太大,并且还在增长。 之前了解过数据库的分库分表,读过几篇博文,但就只知道个模糊概念, 而且现在回想起来什么都是模模糊糊的。今天看了一下午的数据库分库分表,看了很多文章,现在做个总结,“摘抄”下来。(但更期待后期的实操) 会从以下几个方面说起:第一部分:实际网站发展过程中面临的问题。第二部分:有哪几种切分...原创 2019-05-23 17:29:01 · 10427 阅读 · 1 评论 -
使用Mycat进行分库分表,读写分离
什么是Mycat它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用MySQL 原生(Native)协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为 N 个小表,存储在后端 MySQL 服...原创 2019-05-23 18:17:25 · 484 阅读 · 0 评论 -
MySQL中 EXPLAIN 命令详解
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explain select id,mobile,gender from tbl_user where status = 1 and flag_check=1当使用EXTENDED关键字时,E...原创 2019-07-09 10:53:25 · 158 阅读 · 0 评论 -
DRDS 与 TiDB 浅析
在谈论数据库架构和数据库优化的时候,会常听到“分库分表”、“分片”、“Sharding”…等关键词。值的高兴的是,这部分公司的业务量应该正在实现(或者即将面临)高速增长,或技术方面也面临着一些挑战。但让人担忧的部分是,他们的系统“分库分表”真的有选择正确吗?随着业务规模的不断扩大,用户需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。关于数据库的扩展主要包括:业务拆分、...转载 2019-07-10 11:41:39 · 958 阅读 · 0 评论 -
MySQL使用B+树存储索引
一、索引是什么?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。它的本质就是数据结构,单独存储在磁盘上,用它来提高数据查询的效率。适合作为索引的结构应该是尽可能少的执行磁盘IO操作,因为执行磁盘IO操作非常的耗时。二、索引常见数据结构2.1 二叉查找树(Binary SearchTree)采取二分查找的思想,O(log N)的复杂度...转载 2019-07-16 17:34:17 · 1011 阅读 · 0 评论 -
Mysql 共享锁(lock in share mode),排他锁(for update)
共享锁(lock in share mode)简介允许不同事务之前共享加锁读取,但不允许其它事务修改或者加入排他锁如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁共享锁事务之间的读取session1:start transaction;select * from test where id = 1 lock in share mode;结果:ses...原创 2019-07-31 14:09:26 · 412 阅读 · 5 评论 -
mycat 测试使用demo
前面已经讲过mycat的安装和基础使用,下面根据实际场景:假如用户很多的时候根据用户id进行分表操作。先创建表 user_info:CREATE TABLE `user_info` ( `user_id` int(11) DEFAULT NULL, `amount` varchar(255) DEFAULT NULL, `create_at` datetime DEFAULT...原创 2019-05-24 12:21:24 · 856 阅读 · 0 评论 -
MySQL 表锁和行锁机制
行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿!MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的不足。比如:MyISAM不支持...转载 2019-02-14 13:55:28 · 173 阅读 · 0 评论 -
MYSQL性能优化的最佳20+条经验
之前在网上看到的,总结的很好,自己写的时候经常注意一点转载 2017-07-26 16:59:24 · 222 阅读 · 0 评论 -
mysql 定时备份
数据库是网站重要信息,里面的数据当然也需要好好保存起来的。下面我就来使用mysqldump 备份数据库,并添加到linux服务器的计划任务中。1、查看磁盘空间情况:既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果! 存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;# df -...原创 2018-03-06 15:20:32 · 135 阅读 · 0 评论 -
mysql中key 、primary key 、unique key 与index区别
mysql 索引区别与作用转载 2018-04-09 15:36:58 · 221 阅读 · 0 评论 -
阿里云服务器主从数据库配置
一、实验目标搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。Server version 5.5.56-MariaDB二、测试环境主数据库: CentOS7, MySQL15.1 , 106.14.150.160从数据库: CentOS7, MySQL15.1 , 106.14.150.161三、主从配置步骤1、确保主数据库与从数据库里的数据一...原创 2018-03-28 14:49:31 · 2514 阅读 · 0 评论 -
MySQL事务隔离级别的实现原理
在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用)读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存在不可重复读和幻读问题。可重复读:同一个事务中多次读取相同的数据返回的结果是一样的。其避免了脏读和...转载 2018-08-21 16:19:11 · 171 阅读 · 0 评论 -
MyISAM和InnoDB的区别
一、关于count(*)知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB则会一行行扫描。实践:数据量大的表,InnoDB不要轻易select count(*),性能消耗极大。常见坑:只有查询全表的总行数,MyISAM才会直接返回结果,当加了whe...原创 2018-09-20 10:54:04 · 167 阅读 · 0 评论 -
执行一条sql语句都经历了什么?
每天都在跟 mysql 打交道,你知道执行一条简单的 select 语句,都经历了哪些过程吗?首先,mysql 主要是由 server 层和存储层两部分构成的。server 层主要包括连接器、查询缓存,分析器、优化器、执行器。存储层主要是用来存储和查询数据的,常用的存储引擎有 InnoDB、MyISAM,MySQL 5.5.5版本后使用 InnoDB 作为默认存储引擎。连接器连接器主要...转载 2019-01-25 14:46:42 · 525 阅读 · 1 评论 -
30条mysql数据库优化方法,千万级数据库记录查询轻松解决
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,Sql 代码 : select id from t where num is null;可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样...转载 2019-01-21 11:13:17 · 141 阅读 · 0 评论 -
用SQL命令查看Mysql数据库大小
要想知道每个数据库的大小的话,步骤如下:1、进入information_schema 数据库(存放了其他的数据库的信息)use information_schema;2、查询所有数据的大小:select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;3、查看指定数据库的大小:比如...原创 2019-01-21 11:46:56 · 426 阅读 · 0 评论 -
查看MySQL连接、启动、连接数
命令: show processlist;或者 # mysqladmin -uroot -p密码 processlist如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。show processlist;只列出前100条,如果想全列出请使用show full processlist;mysql> show processlist;命令:...转载 2019-02-12 11:12:03 · 196 阅读 · 0 评论 -
阿里云Centos系统下服务器Nginx+PHP+MySql安装配置
配置的阿里云Centos_7服务器主要是Nginx,PHP,MySql的配置操作。1.Nginx的配置# 进入到Nginx安装的目录下cd /usr/local/src/# 下载你想要安装的版本(也可以使用默认的 yum -y install nginx)wget http://nginx.org/download/nginx-1.12....原创 2017-07-24 17:47:05 · 1863 阅读 · 0 评论