MySQL经典体系结构
MySQL连接:
MySQL Protocol(MySQL协议)
Socket (Unix Scoket)本地连接
比如:mysql -uroot -p123 -S /tmp/mysql.sock
TCP/IP(远程连接)
比如:mysql -uroot -p123 -h 10.0.0.51 -P3306
API (应用程序、开发)
Native API
C、PHP、JDBC、ODBC、.NET、Python、Go...
MySQL8.0 对比 5.7 一些功能差别:
- Metadata 结构变化
- 5.7 版本问题
- 两套数据字典信息(Server层 oldguo.frm,InnoDB 数据字典)
- DDL无原子化
- frm和innodb层会出现不一致
- 并发处理需要小心处理(MDL,dict_sys::mutex,dict_sys::rw_lock)
- 崩溃无法恢复
比如下面这个操作无法保证原子性 drop table a,c ;
- 8.0 变化
- 支持事务性DDL,崩溃可以回滚,保证一致。
下面操作可以保证一致性 drop table a,c;
- 保留一份数据字典信息,取消frm数据字典。
- 数据字典存放至InnoDB表中
- 采用套锁机制,管理数据字典的并发访问(MDL)
- 全新的Plugin支持