随笔分类 -  MySQL

Something about MySQL
摘要:update user set host='%' where user ='root'; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; ALTER USER 'root'@'%' IDENT 阅读全文
posted @ 2022-04-17 14:16 Mr.peter 阅读(188) 评论(0) 推荐(0) 编辑
摘要:卸载已经安装过的MySQL 检查是否已经安装 rpm -qa|grep mysql 卸载: for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done rm -rf /var/lib/mysql && rm -rf /etc/my.cnf 检查 阅读全文
posted @ 2022-04-16 19:55 Mr.peter 阅读(57) 评论(0) 推荐(0) 编辑
摘要:事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 一、基础概念 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句 阅读全文
posted @ 2022-03-17 14:37 Mr.peter 阅读(124) 评论(0) 推荐(0) 编辑
摘要:1.查看下在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; 2.杀死进程id(就是上面命令的trx_mysql_thread_id列) kill 线程ID 例子: 查出死锁进程:SHOW PROCESSLIST杀掉进程 KILL 420821; 其 阅读全文
posted @ 2021-09-24 18:06 Mr.peter 阅读(2021) 评论(0) 推荐(0) 编辑
摘要:ALTER TABLE domains ADD CONSTRAINT unique_name UNIQUE(domain); desc domains; 阅读全文
posted @ 2021-06-16 16:55 Mr.peter 阅读(793) 评论(0) 推荐(0) 编辑
摘要:1. 默认字符集由latin1变为utf8mb4 在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默认指向的也是utf8mb4。 注:在Percona Server 8.0.15版本上测试,utf8仍然指向的是utf8mb3, 阅读全文
posted @ 2020-12-31 17:36 Mr.peter 阅读(460) 评论(0) 推荐(0) 编辑
摘要:Innodb中如何解决 可重复读(RR) 中产生幻读的情况 锁模型 LBCC (Lock Based Concurrency Control) 读之前加个锁,但这样可能会导致性能问题 => 读的时候加锁导致其他事务都不能读写了,性能低下 MVCC(Multi Version Concurrency 阅读全文
posted @ 2020-12-22 16:47 Mr.peter 阅读(99) 评论(0) 推荐(0) 编辑
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL 阅读全文
posted @ 2020-12-22 11:01 Mr.peter 阅读(129) 评论(0) 推荐(0) 编辑
摘要:show status like '%Handler_read%'; + + + | Variable_name | Value | + + + | Handler_read_first | 0 | | Handler_read_key | 0 | | Handler_read_last | 0 | 阅读全文
posted @ 2020-12-22 10:36 Mr.peter 阅读(382) 评论(0) 推荐(0) 编辑
摘要:更新语句的整体流程 连接数据库 清空当前表对应的所有缓存 分析器分析词法和语法 优化器决定使用什么索引 执行器负责具体执行 重要的日志模块:redo log MySQL的WAL技术 全称是Write-Ahead Logging InnoDB 引擎特有的日志 先写日志,再写磁盘 详解如下: 1、当有一 阅读全文
posted @ 2020-12-20 11:36 Mr.peter 阅读(541) 评论(0) 推荐(0) 编辑
摘要:ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统) 阅读全文
posted @ 2020-12-08 18:59 Mr.peter 阅读(512) 评论(0) 推荐(0) 编辑
摘要:1.hash方式 2.求余方式 阅读全文
posted @ 2020-11-07 22:39 Mr.peter 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-08-25 18:48 Mr.peter 阅读(778) 评论(0) 推荐(0) 编辑
摘要:一条查询语句是如何执行的 查询语句的执行分为以下几步: 查询缓存 解析器生成解析树 预处理再次生成解析树 查询优化器 查询执行计划 查询执行引擎 查询数据返回结果 查询缓存 通过如下语句可查看缓存开关情况(默认关闭):show variables like 'query_cache%'; 1.MyS 阅读全文
posted @ 2020-08-25 14:23 Mr.peter 阅读(1068) 评论(0) 推荐(0) 编辑
摘要:查询某表的所有索引: show index from books; 阅读全文
posted @ 2020-04-29 16:03 Mr.peter 阅读(144) 评论(0) 推荐(0) 编辑
摘要:select * from information_schema.innodb_trx 阅读全文
posted @ 2020-03-18 14:10 Mr.peter 阅读(1147) 评论(0) 推荐(0) 编辑
摘要:1.修改root密码 MySQL8和5的密码加密方式不同,mysql_native_password是5的加密方式。mysql已经将之前的mysql_native_password认证,修改成了caching_sha2_password认证方式。所以,使用类似于navicat或是sqlyog这些客户 阅读全文
posted @ 2019-07-30 10:55 Mr.peter 阅读(177) 评论(0) 推荐(0) 编辑
摘要:1.删除系统现存的mysql 2.卸载mysql组件 3.删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件 4.删除查到的mysql文件 全删 举例: 5.卸载删除完毕,开始安装mysql8 下载mysql的rpm安装包,可以去mysql官网去看 6.下载完成 阅读全文
posted @ 2019-07-30 10:52 Mr.peter 阅读(327) 评论(0) 推荐(0) 编辑
摘要:读写分离: 为保证数据库数据的一致性,我们要求所有对于数据库的更新操作都是针对主数据库的,但是读操作是可以针对从数据库来进行。大多数站点的数据库读操作比写操作更加密集,而且查询条件相对复杂,数据库的大部分性能消耗在查询操作上了。主从复制数据是异步完成的,这就导致主从数据库中的数据有一定的延迟,在读写 阅读全文
posted @ 2019-06-03 16:36 Mr.peter 阅读(530) 评论(0) 推荐(0) 编辑
摘要:一、单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库操作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式。第一范式(1NF)无重复的列所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原... 阅读全文
posted @ 2019-05-30 16:30 Mr.peter 阅读(1089) 评论(0) 推荐(0) 编辑