当前位置:Gxlcms > 数据库问题 > centos mysql 实战 第三节课

centos mysql 实战 第三节课

时间:2021-07-01 10:21:17 帮助过:2人阅读

centos mysql  实战  第三节课

 

上两节课
1. MySQL的安装
2. MySQL启动方式


今天第一个: MySQL里的对象

查看当前有那些数据库:
show databases;

drop database test;
truncate table mysql.db;


mysql里view当成Table对待了,没有单独的命令能备份视图,只能备份表

information_schema
字典库

performance_schema 
性能相关的字典库

MySQL是一个面向存储引擎解决方案的DB
show engines;

还有一些show engines;没有列出来的引擎
tokudb
inforbright/InfiniDB OLAP ,列式存储引擎
mariadb dblink : connect引擎

Memory引擎的坑
Memory 引擎无持久化
对于Memory内存表,数据库重启时,系统会自动发起一个truncate table mem_tb
对于内存表,复制中最好忽略他

mysql.server -> mysqld_safe-> mysqld

 

 

mysql体系结构

接入层
SQL接口, 解析,优化,Cache/buffer
存储引擎
文件系统 

 

 技术分享

 

 

 接入层: 技术分享
认证, 线程
MySQL里每个连接都是一个线程 

技术分享

 

 

 

一个系统的并发度是有限的
线程数太多,反而系统的处理能力下降
随着连接数上升,反尔性能下降
<5.1 以下的 64个连接 
5.5 128
<128个连接
5.6 < 200  个连接
5.7 <200 ,300个连接

案例

吴炳锡(82565387) 20:55:20
LVS 挂了5台WEB, 后端: 1组Cache,三组DB
吴炳锡(82565387) 20:56:06
10台
单组DB上连接数达到6千多

解决方法:引入中间件
收费:kingshard
免费 :thread-pool(percona, mariadb 属于自带的免费的)

 


server层的核心处理层
技术分享
SQL interface ; SQL接口

Struct
解析
得到路径
Cache & Buffer

 

企业接口管理工具

技术分享

 

 

再往下一层就是存储引擎

Innodb

存储文件系统之上
吴炳锡(82565387) 21:04:52
跑MySQL XFS成为标配

技术分享

 

 


mysql日志

error log
generl log
binary log 
slow log

 

在排查DB的问题时,我要知道MySQL有哪些日志
Error log 错误日志
吴炳锡(82565387) 21:09:47
只看[ERROR]和[WARNING]
[Note] 忽略

吴炳锡(82565387) 21:1
数据库出错了,肯定会报错误日志
1. 拿这个错误日志来搜源码,在Linux机器上
Google
把源码附近的注释看看

2. 遇到错误日志
http://bugs.mysql.com/
A230-彭许生-深圳(10031145) 21:19:13
搜问题的时候,偶然进去

general log 常规日志,只适合开发环境打开
所有与mysql的交互都会记录日志,默认是没打开的
全局级别
set global general_log = on;
session级别 开发测试环境最好用session级别
set general_log = on ;
general log用来分析mysqldump的原理mydumper 原理 innbackupex的原理
general log位置

技术分享

 

binary log
数据库的所有写操作都会记录到binary log里
数据的库的复制也是使用的binary log
提取binlog统计每张表的insert,update次数


最后一个日志
slow log
execute_time > long-query-time 就会记录
long_query_time = 10s
建议改成1s
注意:
DML : INSERT, UPDATE, DELETE在处理中锁等待的时间不记录
SELECT锁等待的时间会记录
MySQL代码注释有的



 

 

 

 

f

centos mysql 实战 第三节课

标签:

人气教程排行