随笔分类 - mysql
摘要:一、错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的,默认存放目录 /var/log/,默认的日志文件名为 mysqld.
阅读全文
摘要:1.逻辑存储结构 1.区,表空间的单元结构,每个区的大小为1M,每个页的大小默认为 16KB,一个区中一共有64个连续的页 2.InnoDB存储引擎在分配空间时一次性申请4-5个区从而保证申请到的页是连续的 2.架构 MySQL5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢
阅读全文
摘要:锁:在并发访问时,解决数据访问的一致性、有效性问题 MySQL中的锁,按照锁的粒度分,分为以下三类:1.全局锁:锁定数据库中的所有表。2.表级锁:每次操作锁住整张表。3.行级锁:每次操作锁住对应的行数据。 1.全局锁:全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句
阅读全文
摘要:插入优化1. 批量插入 insert into tb_test values(1,'qwe'),(2,'qwe2'),(3,'qwe2'); 2.手动事务提交 start transaction; insert into tb_test values(1,'qwe'),(2,'qwe2'),(3,'
阅读全文
摘要:索引使用规则: 1.最左原则 2.可能会导致索引失效的情况 1)范围查询:联合索引中出现范围查询(>,<),范围查询右侧的列索引失效,建议使用(>=, ⇐) 2)索引列运算,索引失效 explain select * from n_user where substring(phone, 10, 2)
阅读全文
摘要:sql性能分析: 1.sql执行频率 show [session|global] status like 'Com_______';(7个_) 2.慢查询日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认1O秒)的所有SQL语句的日志。 MySQL的慢查询
阅读全文
摘要:存储引擎: InnoDb: 特点: 支持事务;行级锁,提高并发访问性能;支持外键FOREIGN KEY约束,保证数据的完整性和正确性 文件: xxx.ibd:xxx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。 参数:innodb_
阅读全文
摘要:事务四大特性:原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。持久性(Dura
阅读全文
摘要:子查询: 1)列子查询 select * from emp where managerid in (select id from emp where dept_id=1) 2)行子查询 : 查询与“张无忌”的薪资及直属领导相同的员工信息 select * from emp where (salary
阅读全文
摘要:1. 查询记录中created_at=0的数据 并将pay_time的值赋值到created_at,updated_at中 UPDATE `n_book_paid` k1, (SELECT id,pay_time FROM `n_book_paid` WHERE created_at=0) k2 S
阅读全文
摘要:问题:Access denied for user 'root'@'localhost' (using password: YES) 说明:当前mysql 可以通过公有IP及roo用户登录,只是不能通过命令行方式登录 解决: user mysql; select user, host from us
阅读全文
摘要:表结构 子节点拼接父节点希望得到结果: sql 语句: SELECT b1.id AS 'ID', IF( b1.detail_index = '', CONCAT(b2.detail_index, '_', '子类'), IF( b1.parent_id = 0, b1.detail_index,
阅读全文
摘要:卸载旧版本mysql 当然要记得备份数据库数据啦 1.查看需要卸载的部分: rpm -qa |grep -i mysql 2.开始卸载: yum remove mysql* 接下来是安装新版mysql 1.下载并安装源: wget http://dev.mysql.com/get/mysql57-c
阅读全文
摘要:1、主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础。它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relay log中的SQL语句来实现复制功能。MySQL支持单向、双向、链式级联、异步复制,5.5版本之后加入的半同步复制,5.6版本之
阅读全文
摘要:主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。 MySQL复制的有点主要包含以下三个方面: 1
阅读全文
摘要:mysql 分组查询 获取id最大的一条 (1)分组查询获取最大id SELECT MAX(id) as maxId FROM `d_table` GROUP BY `parent_id` ; (2)将(1)中得到的maxId 再次查询 SELECT * FROM `d_table` WHERE id IN (1,12,15) ; 得到的数据就是最大一条的数据
阅读全文