ThinkPHP5数据库操作

ThinkPHP5中数据库在`database.php`中配置,需要数据库操作时自己完成连接,也可以在`Db::connect()`中动态地传入字符串或数组类型的数据库连接信息。

Db类

`Db`类使用前需先声明引用 `use think\Db;`

Linux用户和组操作

Linux用户和组操作。

添加用户

添加用户`ftpuser`到组`ftp`并指定目录 `/opt/ftp`

# -s /sbin/nologin 表示不可通过SSH登录
/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

MySQL数据库优化总结

MySQL数据库优化总结。

1. 尽量将多次查询放到一条SQL语句里执行,避免循环中的SQL查询,特别是数据库和网站分离时。

2. 对于left join,如果只是为了查询right表的某个字段,可选择使用配置文件来代替left join,将right的字段放入一个数组中,把数组序列化到一个文件中,需要用的时候反序列化,根据key查找value。

3. 使用数据库的内置函数

4. 只select用到的字段,而非select *

PHP站点被攻击时处理方案

攻击模式处理方案。

方案(阿里云)

1. MySQL RDS添加只读实例,开启读写分离,平时可预留低配实例备用
2. MySQL数据库配置 wait_timeout和 interactive_timeout为 5~10,以便超时自动释放连接,避免连接数过多的问题
3. WAF CC自定义规则,设置单ip规定时长的访问限制及封禁时长,可设置2~3个阶段
4. WAF精准控制规,主要是黑白名单

豫ICP备19001387号-1