
创建数据库和表结构是MySQL的基础操作。示例中创建了两个数据库company和shop分别包含employees和orders表。字符集设置为utf8mb4以支持完整的Unicode字符。CREATE DATABASE company DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE company; CREATE TABLE employees ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), position VARCHAR(50), salary INT );数据操作语言(DML)INSERT语句用于向表中添加数据DELETE语句用于删除特定记录。示例中展示了插入员工数据和订单数据以及删除特定订单的操作。INSERT INTO employees (name, position, salary) VALUES (张三, 运维工程师, 8000), (李四, DBA, 12000), (王五, 开发工程师, 10000); DELETE FROM orders WHERE id3;二进制日志分析MySQL二进制日志记录了所有修改数据的SQL语句。日志内容显示了事务的开始(BEGIN)和提交(COMMIT)标记以及具体的INSERT操作细节。这些日志可用于数据恢复和复制。# at 698 #260515 9:29:54 server id 11 end_log_pos 785 CRC32 0xe8310c7d Query thread_id5 exec_time0 error_code0 SET TIMESTAMP1778808594/*!*/; BEGIN存储引擎特性MySQL支持多种存储引擎各有特点MyISAM读性能高不支持事务InnoDB支持事务保证数据完整性读写性能均衡存储引擎 背景我们的数据表在实际应用场景中有很多不同的偏重性的要求例如 1、要求读的性能高甚至可以不是特别注重数据的完整性 myisam 存储引擎 2、要求读写性能都在线同时数据的完整性可以得到一定程度上的保证 innodb 存储引擎事务ACID特性事务是数据库操作的逻辑单元具有ACID特性原子性(Atomicity)事务中的操作要么全部成功要么全部失败一致性(Consistency)事务前后数据状态保持一致隔离性(Isolation)并发事务互不干扰持久性(Durability)事务提交后结果永久保存事务--》ACID 小概率面试题 ACID 1、原子性一个事务如果包含多个语句那么所有的修改语句必须全部执行成功否则会全部不执行(rollback) 2、一致性事务处理后的数据前后的总量要保证一致 3、隔离性不同的事务对相同的数据进行处理过程中相互不影响 4、持久性事务提交之后的所有变更结果都会持久化保存到磁盘中MGR高可用集群原理MySQL Group Replication(MGR)提供高可用解决方案多台服务器组成一个组(通常3台)组内选举一个master节点客户端请求由master接收并广播给其他成员多数成员确认后执行事务并同步到所有节点健康检测机制确保master故障时能重新选举MGR 高可用集群 原理 1、多台数据库组成一个组3台 2、组内选出一个老大master 选举机制版本号、server_id、判断权重、手动指定 3、客户端发出一个sql请求包含了增删改的事务 4、master接收到请求广播给组内其他成员需要多数的服务器检测确认无误master才会具体执行这个事务 并且会把事务发送给其他服务器类似主从复制 5、回应给客户端事务处理完成实践作业建议周末作业包括整理本周学习笔记完成MGR集群搭建尝试完成ruoyi项目构建使用mysqlbinlog工具分析二进制日志双休日作业 1、整理本周笔记、完成MGR集群高可用 2、尝试完成ruoyi项目建设