随笔分类 - 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
阅读全文
摘要:卸载已经安装过的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 检查
阅读全文
摘要:事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 一、基础概念 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句
阅读全文
摘要:1.查看下在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; 2.杀死进程id(就是上面命令的trx_mysql_thread_id列) kill 线程ID 例子: 查出死锁进程:SHOW PROCESSLIST杀掉进程 KILL 420821; 其
阅读全文
摘要:ALTER TABLE domains ADD CONSTRAINT unique_name UNIQUE(domain); desc domains;
阅读全文
摘要:1. 默认字符集由latin1变为utf8mb4 在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默认指向的也是utf8mb4。 注:在Percona Server 8.0.15版本上测试,utf8仍然指向的是utf8mb3,
阅读全文
摘要:Innodb中如何解决 可重复读(RR) 中产生幻读的情况 锁模型 LBCC (Lock Based Concurrency Control) 读之前加个锁,但这样可能会导致性能问题 => 读的时候加锁导致其他事务都不能读写了,性能低下 MVCC(Multi Version Concurrency
阅读全文
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
阅读全文
摘要:show status like '%Handler_read%'; + + + | Variable_name | Value | + + + | Handler_read_first | 0 | | Handler_read_key | 0 | | Handler_read_last | 0 |
阅读全文
摘要:更新语句的整体流程 连接数据库 清空当前表对应的所有缓存 分析器分析词法和语法 优化器决定使用什么索引 执行器负责具体执行 重要的日志模块:redo log MySQL的WAL技术 全称是Write-Ahead Logging InnoDB 引擎特有的日志 先写日志,再写磁盘 详解如下: 1、当有一
阅读全文
摘要:ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统)
阅读全文
摘要:一条查询语句是如何执行的 查询语句的执行分为以下几步: 查询缓存 解析器生成解析树 预处理再次生成解析树 查询优化器 查询执行计划 查询执行引擎 查询数据返回结果 查询缓存 通过如下语句可查看缓存开关情况(默认关闭):show variables like 'query_cache%'; 1.MyS
阅读全文
摘要:查询某表的所有索引: show index from books;
阅读全文
摘要:select * from information_schema.innodb_trx
阅读全文
摘要:1.修改root密码 MySQL8和5的密码加密方式不同,mysql_native_password是5的加密方式。mysql已经将之前的mysql_native_password认证,修改成了caching_sha2_password认证方式。所以,使用类似于navicat或是sqlyog这些客户
阅读全文
摘要:1.删除系统现存的mysql 2.卸载mysql组件 3.删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件 4.删除查到的mysql文件 全删 举例: 5.卸载删除完毕,开始安装mysql8 下载mysql的rpm安装包,可以去mysql官网去看 6.下载完成
阅读全文
摘要:读写分离: 为保证数据库数据的一致性,我们要求所有对于数据库的更新操作都是针对主数据库的,但是读操作是可以针对从数据库来进行。大多数站点的数据库读操作比写操作更加密集,而且查询条件相对复杂,数据库的大部分性能消耗在查询操作上了。主从复制数据是异步完成的,这就导致主从数据库中的数据有一定的延迟,在读写
阅读全文
摘要:一、单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库操作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式。第一范式(1NF)无重复的列所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原...
阅读全文