MYSQL
文章平均质量分 55
MYSQL
如我般骄傲
学习
展开
-
MySQL集群搭建——主从同步(一主二从)
目前准备了三台服务器作为主从配置数据库。原创 2022-10-10 22:47:48 · 1802 阅读 · 0 评论 -
Centos7安装MySQL5.7
首先检查自己电脑有没有安装过mysql,输入如下如果有则清理干净再安装。原创 2022-09-28 18:27:11 · 231 阅读 · 0 评论 -
数据库性能调优-07|数据库参数设置优化,失之毫厘差之千里
七、数据库参数设置优化,失之毫厘差之千里一.MySQL 体系结构我们一般可以将 MySQL 的结构分为四层,最上层为客户端连接器,主要包括了数据库连接、授权认证、安全管理等,该层引用了线程池,为接入的连接请求提高线程处理效率。第二层是 Server 层,主要实现 SQL 的一些基础功能,包括 SQL 解析、优化、执行以及缓存等,其中与我们这一讲主要相关的就是缓存。第三层包括了各种存储引擎,主要负责数据的存取,这一层涉及到的 Buffer 缓存,也和这一讲密切相关。最下面一层是数据存储层,主要负责原创 2021-11-15 19:49:09 · 1284 阅读 · 0 评论 -
数据库性能调优-03|MySQL调优之索引:索引的失效与优化
三、MySQL调优之索引:索引的失效与优化一.MySQL 索引存储结构索引是优化数据库查询最重要的方式之一,它是在 MySQL 的存储引擎层中实现的,所以每一种存储引擎对应的索引不一定相同。索引类型MyISAM引擎InnoDB引擎Memory引擎B+Tree索引yesyesyesHASH索引nonoyesR-Tree索引yesnonoFull-Text索引yesnonoB+Tree 索引和 Hash 索引是我们比较常用的两个索引数原创 2021-11-09 22:16:06 · 1071 阅读 · 0 评论 -
数据库性能调优-02|MySQL调优之事务:高并发场景下的数据库事务调优
二、MySQL调优之事务:高并发场景下的数据库事务调优常用的数据库引擎为InnoDB和MyISAM,MyISAM不支持事务处理,所以Mysql事务基于InnoDB引擎。数据库事务具有以下四个基本属性:原子性(Atomicity)、一致性(Consistent)、隔离性(Isolation)以及持久性(Durable)。正是这些特性,才保证了数据库事务的安全性。一.并发事务带来的问题1、数据丢失2、脏读3、不可重复读4、幻读二.事务隔离解决并发问题1、未提交读(Read Uncommitte原创 2021-11-09 21:55:25 · 1416 阅读 · 0 评论 -
数据库性能调优-01|MySQL调优之SQL语句:如何写出高性能SQL语句?
一、数据库性能调优-01|MySQL调优之SQL语句:如何写出高性能SQL语句?一.慢 SQL 语句的几种常见诱因1、无索引、索引失效导致慢查询如果在一张几千万数据的表中以一个没有索引的列作为查询条件,大部分情况下查询会非常耗时,这种查询毫无疑问是一个慢 SQL 查询。所以对于大数据量的查询,需要建立适合的索引来优化查询。2、锁等待常用的存储引擎有 InnoDB 和 MyISAM,前者支持行锁和表锁,后者只支持表锁,前者支持数据库事务,后者不支持。如果数据库操作是基于表锁实现的,试想下,如果一张原创 2021-11-09 21:50:08 · 878 阅读 · 0 评论 -
Docker 安装 MySql
一、下载取最新版的 MYSQLdocker pull docker.io/mysql 二、运行容器docker run -p 3306:3306 --name dockermysql -e MYSQL_ROOT_PASSWORD=12345678 -d docker.io/mysql 三、安装成功一.连接navicat报错,需要进入docker容器docker exec -it dockermysql bash二.登录mysqlmysql -u root -p三.修改配置原创 2021-08-18 16:56:39 · 90 阅读 · 0 评论 -
数据库优化
一、SQL语句优化主旨1.尽量避免索引失效2.尽量避免全表扫描1、Where 语句避免在WHERE子句中使用in,not in,or 或者having;可以使用 exist 和not exist代替 in和not in;对连续数值可以使用between;可以使用表链接代替 exist;Having可以用where代替,如果无法代替可以分两步处理。应尽量避免在where子句中对字段进行函数操作,比如 substring(name,1,3)=‘abc’;尽量避免在 where 子句中对索引原创 2021-05-12 09:45:42 · 178 阅读 · 0 评论 -
小知识:MYSQL 1129 ERROR
连接数据库报这个错误mysql error 1129: Host 'bio.chip.org' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'。mysqladmin flush-host -h 127.0.0.1 -u root password执行之后可以正常连接,亲测可行。...原创 2021-04-22 15:39:22 · 291 阅读 · 0 评论 -
小知识--MySQL大小写敏感度
有时候在Windows上能够正常运行的会在Linux上报找不到表的错误,这点很坑。因此要注意两个系统下MySQL大小写的敏感度。Windows系统爱咋写咋写,只要字母对,无所谓大小写。Linux系统(1)、数据库名与表名是严格区分大小写的;(2)、表的别名是严格区分大小写的;(3)、列名与列的别名在所有的情况下均是忽略大小写的;(4)、变量名也是严格区分大小写的;上面这几个没必要记住,只需要记住一点Linux环境下默认区分大小写修改Linux下MySQL默认配置打开/etc下的my.cn原创 2021-02-19 14:51:56 · 148 阅读 · 0 评论 -
MYSQL查询当前数据库事务隔离级别方式
show variables like "transaction_isolation%";https://blog.csdn.net/qq_38198581/article/details/82017254原创 2020-11-13 15:41:41 · 678 阅读 · 0 评论 -
MySQL实战45讲--08 | 事务到底是隔离的还是不隔离的?
对于当前事务的启动瞬间来说,一个数据版本的 row trx_id,有以下几种可能:如果落在绿色部分,表示这个版本是已提交的事务或者是当前事务自己生成的,这个数据是可见的;如果落在红色部分,表示这个版本是由将来启动的事务生成的,是肯定不可见的;如果落在黄色部分,那就包括两种情况a. 若 row trx_id 在数组中,表示这个版本是由还没提交的事务生成的,不可见;b. 若 row trx_id 不在数组中,表示这个版本是已经提交了的事务生成的,可见。...原创 2021-01-19 16:21:34 · 150 阅读 · 0 评论 -
MySQL实战45讲--07 | 行锁功过:怎么减少行锁对性能的影响?
总结:两阶段锁:在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放, 而是要等到事务结束时才释放。建议:如果你的事务中需要锁多个行,要把最可能造成锁冲突、最可能影响并发度的锁尽量往后放。死锁:当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态。解决方案:1、通过参数 innodb_lock_wait_timeout 根据实际业务场景来设置超时时间,InnoDB引擎默认值是50s。2、发起死锁检测,发现死原创 2021-01-19 15:46:12 · 230 阅读 · 2 评论 -
MySQL实战45讲--03 |MYSQL事务
1、事务的特性:原子性、一致性、隔离性、持久性2、多事务同时执行的时候,可能会出现的问题:脏读、不可重复读、幻读3、事务隔离级别:读未提交、读提交、可重复读、串行化4、不同事务隔离级别的区别:读未提交:一个事务还未提交,它所做的变更就可以被别的事务看到读提交:一个事务提交之后,它所做的变更才可以被别的事务看到可重复读:一个事务执行过程中看到的数据是一致的。未提交的更改对其他事务是不可见的串行化:对应一个记录会加读写锁,出现冲突的时候,后访问的事务必须等前一个事务执行完成才能继续执行5、配置方原创 2021-01-19 16:20:15 · 130 阅读 · 0 评论