数据操作权限:

SELECT:允许用户查询数据库中的数据。

INSERT:允许用户向数据库中插入新的数据。

UPDATE:允许用户更新数据库中已有的数据。

DELETE:允许用户从数据库中删除数据。

这些权限用于控制用户对数据库中数据的操作,如查询、添加、修改和删除数据等。
结构操作权限:

CREATE:允许用户创建新的数据库、表、索引等结构对象。

ALTER:允许用户修改数据库中已有的结构对象。

INDEX:允许用户创建索引。

DROP:允许用户删除数据库中的结构对象。

CREATE TEMPORARY TABLES:允许用户创建临时表,这些表在当前会话结束时会被自动删除。

SHOW VIEW:允许用户查看视图。

CREATE ROUTINE:允许用户创建存储过程和函数。

ALTER ROUTINE:允许用户修改存储过程和函数。

EXECUTE:允许用户执行存储过程。

CREATE VIEW:允许用户创建视图。

EVENT:允许用户创建事件。

TRIGGER:允许用户创建触发器。

这些权限用于控制用户对数据库结构的操作,如创建、修改、删除表、索引、视图、存储过程等。
管理权限:

GRANT:允许用户授予或撤销其他用户的权限。

LOCK TABLES:允许用户锁定表,以实现更高级的并发控制。

REFERENCES:允许用户创建外键。

这些权限用于控制用户对数据库管理方面的操作,如授权、锁定表、创建外键等。

在给定账号授权时,可以根据实际需要为用户授予相应的权限,以确保用户能够完成其工作所需的操作,同时保证数据库的安全性和完整性。

composer dump-autoload 是一个 Composer 命令,用于重新生成自动加载器文件。Composer 通过自动生成的自动加载器文件来加载 PHP 项目中使用的类。当你安装新的 Composer 依赖、更新依赖版本或者添加新的命名空间时,你需要运行 composer dumpautoload 命令来更新自动加载器文件,以确保新添加的类能够被正确加载。

这个命令实际上会根据你项目的 composer.json 文件中的配置信息,重新生成 vendor/autoload.php 文件,其中包含了所有需要加载的类的信息。这样,在你的项目中使用 Composer 安装的类和依赖就可以被自动加载,而无需手动引入文件。

这个项目是我开发的一个校园号卡分销系统,按年授权提供给各大高校的营业厅老板使用。

没想到流量超乎我的预设,中途服务器进行了多次扩容,不然根本无法承受的访问。收的他们年授权费用也亏了,明年得涨价😁,总之这个项目是亏本了,收的钱少了。


今天一大早收到负载告警。

这个问题过年期间一直存在,一开始以为是资源过多,因为确实加载了很多图片以及其他静态资源。
当时登录上可视化Linux面板,先看看服务监控,看到区别于往日的上下行流量,下意识的判断是静态资源过多,于是把静态资源全部放到一个单独的语速下并使用CDN配置缓存时间,当时流量确实有减少,但问题并没有解决,因为我并没有发现问题的真正所在,再一个过年,好多事要忙,也没空去继续管了,因为CPU负载也没有100%了,好歹系统能正常访问了。

2024-03-02T03:47:13.png
2024-03-02T03:35:05.png
2024-03-02T03:35:13.png


没想到这个月又出现这种问题,于是我心想,可能是其他问题,也许网站程序或者服务器配置出错了。
暴露出来的特征:CPU 100%、上下行流量不正常。

先分析服务器网络流量,发现是正常的。
2024-03-02T03:34:39.png

再看看CPU占用是怎么回事。

发现是Redis在大量占用。

2024-03-02T03:39:23.png

那么可能是网站程序在不恰当的使用Redis,查看网站日志,找到对应URL。

2024-03-02T03:41:10.png

找到对应的代码。

2024-03-02T03:41:58.png

输出数据后发现有数千条,那这样就知道了。

每个用户访问都会使用Redis查询数千条数据,能不卡才怪。上下翻了下代码,当时为什么要这么写,原来本来设置一分钟的缓存时间错误的设置成了24小时,所以查询的数据量巨大。

问题,搞定!

好习惯:处理完问题之后,服务器防火墙关闭SHS端口哦。🤪

(文中出于安全考虑,只展示关键截图,可能影响系统安全的因素均不予展示)