mysql
文章平均质量分 95
mysql使用心得
unhappy404
技术会过时但思维不会
展开
-
mysql主从复制(从面试常问的点来切入分析)
主从复制的架构是什么?一主一从,主库写入,从库读取从库只能设置为只读的,不然的话既要同步主库的写入,又要同步客户端的写入,会乱套的。主从复制的作用是什么?热备份的作用,如果主库挂了,可以用从库继续工作读写分离提高性能。特别是有些查询,是很影响性能的。方便架构的拓展,后期哪怕一主一从不够用了。比如写入的需求大,可以分主库去写入,根据业务分库或者hash分布数据落点。如果查询的需求大,可以增加从库,一主两从,甚至一主多从,从库太多为了减轻主库的压力可以采用级联复制。(A是主库)主从复制的原理原创 2021-05-20 12:36:05 · 173 阅读 · 1 评论 -
mysql的锁和事务、索引的关系以及原理
前言mysql锁的分类按粒度分按功能分全局锁表级锁共享锁(读锁|read lock|S锁)排他锁(写锁|write lock|X锁)元数据锁自增锁(AUTO_INC)行级锁行级锁须知行级锁分类记录锁(Record Lock)间隙锁(Gap Locks)临键锁(Next-Key Locks)插入意向锁(Insert Intention Locks)意向锁行级锁加锁方式行级锁的加锁时机一条update的执行过程原创 2020-09-25 19:56:15 · 829 阅读 · 0 评论 -
binlog日志学习
binlog简介binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。binlog模式mysql5.7开启binlogMySQL5.7版本中,my.cnf的位置一般在/etc/my.cnf,要在my.cnf中添加:[mysqld]log-bin=/var/log/mysql-binlog/mysql-binlogserver-id=1// 查询当前mysql数据库是否开启了binl原创 2020-09-23 16:31:44 · 111 阅读 · 0 评论 -
mysql慢日志开启与解析
日志配置my.cnf目录一般是/etc/my.cnf查看磁盘分区 df -h为了降低io等待,节省性能,我们将这些日志与数据日志放到不同的磁盘分区数据日志:my.cnf中的datadir目录所在的磁盘分区,/var属于/dev/vda1分区所以慢日志放在/dev/vdc1分区,它的挂载目录是/disk1// 开启慢日志slow_query_log=1 // 慢日志目录slow_query_log_file=/disk1/log/mysql/mysql-slow.log //原创 2020-09-23 13:50:10 · 396 阅读 · 0 评论 -
从一条查询sql执行过程了解mysql索引
mysql索引篇(一)mysql索引sql执行过程索引类型1.主键索引2.非主键索引InnoDB索引结构/方法1.hash2.二叉树3.二叉平衡树4.B树5.B+树索引的使用组合索引覆盖索引inmysql索引sql执行过程首先我们看一下一条查询sql在mysql中的大致流程首先简单阐述一下前置处理的流程开始 客户端像mysql服务端发送请求;连接器 请求到达连接器,连接器进行资源分配和权限验证;命令分发器 建立连接后,mysql收到SQL语句,命令分发器判断sql是查询还是更新;查原创 2020-09-23 11:18:20 · 1738 阅读 · 0 评论