本文主要介绍 MySQL开发和面试中所必知的一、MySQL架构1)MySQL简介
本文较长 , 分为上下篇(可收藏 , 勿吃尘)
如有需要 , 可以参考
如有帮助 , 不忘 点赞 ?
MySQL是一个关系型数据库管理系统 , 由瑞典MYSQL AB公司开发 , 目前属于Oracle公司 。2)MySQL配置文件
MySQL 是一种关联数据库管理系统 , 将数据保存在不同的表中 , 而不是将所有数据放在一个大仓库中 , 这样就增加了速度并提高了灵活性 。
Mysql是开源的 , 是可以定制的 , 采用了GPL协议 , 你可以修改源码来开发自己的MySQL系统 。
MySQL支持大型的数据库 。可以处理拥有上千万条记录的大型数据库 。MySQL可以允许于多个系统上 , 并且支持多种语言 。这些编程语言包括C、C++、Python、JAVA、Perl、php、Eiffel、Ruby和Tcl等 。
MySQL支持大型数据库 , 支持5000条记录的数据仓库 , 32位系统表文件最大可支持4GB , 64位系统支持最大的表文件为8TB 。
- binlog(二进制日志)
用于主从复制及备份恢复:binlog中存放了所有操作记录 , 可用于恢复 。相当于redis中的AOF , my.ini中binlog配置(默认是关闭的)如何开启:
[mysqld]log-bin = mysql-binbinlog-format = row复制代码
- Error log(错误日志)
默认是关闭的 , 通常用于记录数据库服务端启动、重启、主从复制时 , 记录错误 , 将日志详情保留在文件中 , 方便DBA、运维开发人员阅读 。如何开启:
[mysqld]log-error=/data/mysql_error.log复制代码
- 慢查询日志log
默认是关闭的 。记录查询的sql语句 , 如果开启会减低mysql的整体性能 , 因为记录日志也是需要消耗系统资源的 。如何开启:
[mysqld]slow_query_log = ONslow_query_log_file = /usr/local/mysql/data/slow.log //linuxlong_query_time = 1复制代码
- 数据文件
windows:
..mysql-8.0.19-winx64data目录下存储数据库文件linux:
默认路径/var/lib/mysql(可在配置文件中更改/usr/share/mysql/下的my-huge.cnf)每个目录代表一个同名的库 。Myisam存放方式: - frm文件(framework):存放表结构
- myd文件(data):存放表数据
- myi文件(index):存放表索引
innodb存放方式: - ibdata1:Innodb引擎将所有表的数据都存放在这里面/usr/share/mysql/ibdata1而frm文件存放在库同名的包下
- frm文件:存放表结构
- 配置方式
linux:my.cnf 配置文件
3)MySQL的用户与权限管理
- MysSQL用户管理
推荐阅读
- mysql导入导出命令
- Vue 转 React 指南,看这篇文章就够了
- MySQL Explain详解,添加索引sql优化
- Mysql建立、删除索引及使用
- Navicat用久了试试这个炫酷的mysql连接工具,如丝滑般柔顺
- Mysql亿级数据该如何优化?4大金刚 13太保
- 面试你应该知道的 MySQL 锁
- 「MySQL笔记」left join-on-and 与 left join-on-where 的区别
- MySQL常用命令
- 做 PPT 时选择哪种字体比较好?看完这篇文章你就懂了!超干货