第一章:mysql体系结构和存储引擎

  • Mysql是一个当进程多线程架构;

  • 区分数据库和实例;

    • 数据库是文件的集合
    • 数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件
  • Mysql实例在系统的表现就是一个进程

  • Mysql启动找配置文件的顺序是/etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/etc/my.cnf->~/.my.cnf

  • Mysql架构图


    image.png
  • Mysql区别于其他数据库一个最重要的特性是插件式表存储引擎

  • 特别注意存储引擎是基于表不是基于数据库

  • OLTP在线事务处理

  • Innodb使用多版本并发控制(mvcc)来获得高并发

  • Innodb采用聚集的方式,按主键顺序存储数据,如果没有设置主键,存储引擎会为每一行记录生成一个6字节的rowid作为主键

  • 查看表详细信息sql:

select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA='databasename'and information_schema.TABLES.TABLE_NAME='tablename'\G

  • 连接msyql操作是一个连接进程和mysql实例进行通信
  • 进程间通信方式,mysql与客户端通信方式
    • Tcp/ip
      • 如:mysql -h 110.123.22.4 -uroot -p
    • 命名管道和共享内存
      • 管道:需在配置文件中配置--enable-named-pipe选项
      • 共享内存:需要在配置文件天--shared-memory ,客户端连接是需加--protocol=memory
    • Unix域套接字 先使用show variables like 'socket' 查找mysql配置的套接字路径,客户端连接使用如:mysql -uroot -S /tmp/mysql.sock -p

你可能感兴趣的:(第一章:mysql体系结构和存储引擎)