MySQL的权限共分为5个级别,分别是

Global Level的权限控制又称为全局权限控制,所有权限信息都保存在mysql.user表中。
Database level是在global level之下,其他三个level之上的级别,其作用域即为指定整个数据库中的所有对象。
Table level权限是database level之下的级别,它会被global level和database level覆盖,但它同样也有能力覆盖下面的两个级别。
Column level仅仅是对某个表的指定的列设置权限。它同样可以被其上的级别覆盖,但不会覆盖其下的routine level级别,因为它与routine level没有权限重合。
Routine level权限只有execute和alter routine两种,主要针对procedure和function。
MySQL字符集设置分为以下四个层级:1. 服务器层级:最高优先级,会影响整个MySQL服务器实例的默认字符集。可以通过在my.cnf配置文件中使用`character-set-server`参数设置,默认是latin1。2. 数据库层级:次优先级,可以为每个数据库设置默认字符集。可以使用`CREATE DATABASE`语句的`DEFAULT CHARACTER SET`子句来设置,默认是服务器层级的字符集。3. 表层级:再次优先级,可以为每个表设置默认字符集。可以使用`CREATE TABLE`语句的`DEFAULT CHARACTER SET`子句来设置,默认是数据库层级的字符集。4. 列层级:最低优先级,可以为每个列设置特定的字符集。可以使用`CREATE TABLE`语句中的`CHARACTER SET`子句来设置,默认是表层级的字符集。这些层级的有效级别依次递增,具体字符集设置的优先级为:"列级别 > 表级别 > 数据库级别 > 服务器级别"。也就是说,如果在列级别设置了字符集,那么该列的字符集将覆盖表、数据库和服务器级别的设置。同样地,如果在表级别设置了字符集,那么该表的字符集将覆盖数据库和服务器级别的设置,依此类推。
1预防死锁:处理死锁最直接的方法就是破坏造成死锁的4个必要条件中的一个或多个,以防止死锁的发生。
2避免死锁:在系统资源的分配过程中,使用某种策略或者方法防止系统进入不安全状态,从而避免死锁的发生。
3检测死锁:这种方法允许系统在运行过程中发生死锁,但是能够检测死锁的发生,并采取适当的措施清除死锁。
4解除死锁:当检测出死锁后,采用适当的策略和方法将进程从死锁状态解脱出来。