看了这篇MySQL,开发功力又升级

本文主要介绍 MySQL开发和面试中所必知的
本文较长 , 分为上下篇(可收藏 , 勿吃尘)
如有需要 , 可以参考
如有帮助 , 不忘 点赞 ?
一、MySQL架构1)MySQL简介
MySQL是一个关系型数据库管理系统 , 由瑞典MYSQL AB公司开发 , 目前属于Oracle公司 。
MySQL 是一种关联数据库管理系统 , 将数据保存在不同的表中 , 而不是将所有数据放在一个大仓库中 , 这样就增加了速度并提高了灵活性 。
Mysql是开源的 , 是可以定制的 , 采用了GPL协议 , 你可以修改源码来开发自己的MySQL系统 。
MySQL支持大型的数据库 。可以处理拥有上千万条记录的大型数据库 。MySQL可以允许于多个系统上 , 并且支持多种语言 。这些编程语言包括C、C++、Python、JAVA、Perl、php、Eiffel、Ruby和Tcl等 。
MySQL支持大型数据库 , 支持5000条记录的数据仓库 , 32位系统表文件最大可支持4GB , 64位系统支持最大的表文件为8TB 。
2)MySQL配置文件
  • 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文件:存放表结构
  • 配置方式
windows:my.ini 配置文件
linux:my.cnf 配置文件
3)MySQL的用户与权限管理
  • MysSQL用户管理


    推荐阅读