前言
安装MySQL
创建网络
我们下面部署Lsky-Pro图床都是使用Docker容器,MySQL使用MySQL8.0版本,也是使用docker部署,同时,我们使用一个独立的MySQL容器,用于存储服务器的全部服务的数据库,减少容器占用的内存。
创建mysql网络
我们创建一个名为mysql网络,用于lsky-pro容器和mysql容器通信
1sudo docker network create mysql
创建数据库
创建MySQL容器
为了后面服务器的数据持久化和性能考虑,我们使用一个公用的MySQL容器来存储Lsky-Pro图床的数据,这样之后如果有其他的服务需要用到MySQL,也可以使用这个MySQL容器来存储数据,减少重复的mysql容器,减低服务器内存。
创建MySQL工作目录
12sudo mkdir -p /home/docker/mysql8cd /home/docker/mysql8
创建docker-compose
新建docker-compose.yml文件
1sudo vim docker-compose.yml
将以下内容内容写入到dock ...
一.索引
什么是索引
💡什么是索引?
提到索引, 我们想到的是查询慢了 设置索引呗!但是索引为什么起作用?设置了索引为什么还是慢我们其实不是很清楚。
在关系数据库中,索引是一种数据结构,他将数据提前按照一定的规则进行排序和组织, 能够帮助快速定位到数据记录的数据,加快数据库表中数据的查找和访问速度。
像书籍的目录、文件夹、标签 、房号… 都可以帮助我们快速定位,都可以视为索引。
能实现快速定位数据的一种存储结构,其设计思想是以空间换时间。
索引的种类
在MySQL中索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。常见的索引分类如下:
按数据结构分类:B+tree索引、Hash索引、Full-text索引。
按物理存储分类:聚集索引、非聚集索引。
按字段特性分类:主键索引(PRIMARY KEY)、唯一索引(UNIQUE)、普通索引(INDEX)、全文索引(FULLTEXT)。
按字段个数分类:单列索引、联合索引(也叫复合索引、组合索引)。
常见索引数据结构和区别3
二叉树、红黑树、B树 、B+树
区别:树的高度影响获取 ...
前言
系统环境
操作系统:CentOS 7
VMware添加磁盘
磁盘挂载和磁盘扩容(新加硬盘方式)
查看新硬盘
方法一:fdisk
查看系统当前挂载的磁盘和分区情况
1fdisk -l
下图中红色圈就是我们新添加的2G磁盘。
如何区分哪一个是我们新添加的磁盘呢?
仔细看,磁盘/dev/sdb下面磁盘标签和标识符,磁盘/dev/sda也有标签和标识符,以及他们下面都有设备Boot等信息,通过这些信息可以判断出来哪一个是新加的磁盘。
方法二:lsblk
除了使用fdisk -l查看磁盘信息还可以使用lsblk插看磁盘
1lsblk
TYPE为disk,并且没有下分支的,就是新加的磁盘,如下图sdc就是新加的磁盘。
创建新分区
经过上面两个方式,我们已经知道了哪一个是新加的磁盘,接下来我们就对新加的磁盘进行创建分区。
1fdisk /dev/sdc
使用fdisk命令对/dev/sdc进行新建分区。
输入命令后需要按照设置参数进行选择,可参考我的选择。
新建分区完之后,可以使用fdisk -l来查看分区情况,如我上面添加新硬盘时说的,如果是已经建好的分区,是有标签和 ...
身份鉴别
口令策略
介绍
/etc/pam.d/system-auth文件是Linux系统中Pluggable Authentication Modules(PAM)的配置文件之一。PAM允许系统管理员在不修改应用程序的情况下配置认证方式,包括密码验证、账户管理、会话管理等。
system-auth文件的作用是定义系统范围内的默认身份验证策略和配置。当用户尝试登录或执行需要身份验证的操作时,PAM将根据system-auth文件中的配置来执行相关的身份验证模块,例如验证用户密码、检查账户状态、设置会话限制等。
密码口令
1vim /etc/pam.d/system-auth
修改system-auth配置文件设定密码强度,如下
12# 要求口令长度至少8位,至少包含一个数字、大写字母、小写字母、特殊字符,且不能包含用户名,root用户同样使用password requisite pam_pwquality.so try_first_pass local_users_only minlen=8 ucredit=-1 dcredit=-1 lcredit=-1 ocredit=-1 ...
准备
创建工作目录
12mkdir -p /home/docker/elk_1cd /home/docker/elk_1/
创建docker-compose
1vim docker-compose.yml
将以下内容写入到docker-compose.yml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253version: '3.7'services: elasticsearch: image: elasticsearch:7.6.2 container_name: elasticsearch privileged: true user: root environment: #设置集群名称为elasticsearch - cluster.name=elasticsearch #以单一节点模式启动 - discovery.type=single- ...
前言
中文站:https://flarum.org.cn/
Flarum 是一款非常简洁的开源论坛软件。 它响应快速、简便易用,拥有打造一片成功的社区所需的所有功能。 它也极其可扩展,允许达到终极的可定制性。
Flarum 的前身是 esoTalk 和 FluxBB, 它生来就被设计如此:
快速、简单。 不杂乱不臃肿,没有复杂的依赖关系。 Flarum 使用 PHP 构建,因此很容易被部署。 界面采用高性能且小巧的 JavaScript 框架 Mithril。
漂亮、响应式。 以人为本的论坛软件。 Flarum 被精心设计以在不同平台间保持一致性和直观性,开箱即用。
强大、可扩展。 您可以客制化、扩展或集成 Flarum 以满足您的社区需求。 Flarum 基于 MIT 协议 发布。
免费、开源。 Flarum 以 MIT 许可证 发布。
新建安全组
打开控制台
打开莱卡云:https://www.lcayun.com
新建安全组
安装Flarum
安装Flarum的方式有两种,一个是Docker一个是直接安装,Docker方式安装方便,快速,直接拉取镜像一个命 ...
分离
这是一篇记叙文。
记述什么呢?记述我的大学恋爱。
她?叫陈美磬,是我的大学同学,我高考后被录取的是电子商务专业,被调剂了,我的志愿不是电子商务,但被调剂到了电子商务,也因为如此,我才认识了她(陈美磬),可以说她是我人生中第一个的爱人,也是我生命中最宝贵的财富,让我学到了很多东西,但到2023-08-24 22:40分,我们分手了,很平静,没有多余的废话。“亮亮,你过来一下,我想了想,我们分手吧”,没几个字,但却触目惊心,很平静,像是酝酿了许久,没有争吵,没有争论,“好,我接受”,是的,我没有拒绝,没有反抗,觉得这是蓄谋已久的分手。
在此之前,我其实也有留意到了,这是要分手的迹象,从她不愿和我亲密接触开始,我就开始怀疑了,到后面她和别的男生聊天,再到对我的称呼有所改变,再到不愿意理会我的感受,再到说出我们分居吧,再到她和别的男生说“要不你接我上下班”,然后我们就分手了。
虽然她说,其实从很久开始,对我的感情就是变了,从学校对我的感情就开始变淡了,再到后面不愿意和我亲密接触,不愿意伪装下去了。虽然这是她的一套说辞,但我是不信的,从我的感受来说,应该是从来深圳之后开始的,或者说是从“ ...
2023-08-18
面试题目
Java的基本特性,分别说一下?
跨平台性/可移植性:主要是依赖虚拟机jvm,只要在不同平台安装虚拟机jvm,Java代码编译成.class字节码,字节码通过jvm按照当前平台编译成本地机器码,所以说Java具有良好的可移植性。
面向对象:Java一是一门面向对象的编程语言。Java提供了类、封装、继承、多态等面向对象的特性,使得程序结构更加灵活和可维护。
高性能:Java的编译器将代码编译成字节码(.class文件),然后在运行的时候直接使用字节码转换成本地机器码执行。这种方式保证了较高的执行性能,减少在执行过程中出错。
多线程:多线程可以带来更高效的执行效率,通过使用多线程和锁的机制,开发者可以实现多任务处理和资源共享,提高程序的效率和响应性。
重载和重写有什么区别?
重载:指在一个类中,可以有多个同名的方法,但方法的参数类型、参数个数或返回类型必须不同。
不会影响父类的方法
重写:指在子类重写定义父类已有的同名方法,方法名、方法参数个数和返回类型必须完全相同。
会影响父类中public同名的方法
Conllecti ...
注意:答案由博主整理,如果你觉得回答有误或者有更好的想法欢迎在留言区留言
2023-08-04
笔试题目
70分钟,总分120分,简答题都是5分,最后实战题目30分
说说HTTP常用状态码及其含义?
答:
状态码
含义
400
客户端请求语法错误,服务器无法理解
403
用户没有访问权限,服务器理解该请求但拒绝执行请求
404
服务器没有找到用户请求的资源,一般是用户请求的路径不正确或者开发者没有填写正确路径
500
服务器内部错误,无法完成请求
502
充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
301
永久重定向
302
临时重定向
HTTP常用的请求方式、区别和用途?
答:
Get:用于向服务器获取资源或数据。通过在URL中添加参数发送请求,参数会附加在URL的末尾,可以被缓存,可被书签保存。
区别:GET请求的参数会暴露在URL中,有长度限制,不合适传输敏感信息。
用途:用于获取数据,如获取网页、图片、文档等。
Post:用于想服务器提交数据或请求进行修改。通过请求体传输数据,参数不会暴露在URL中,不 ...
二分查找法
二分查找法是经典算法之一,二分查找我们在高中有接触过,在高中学习的抛物线中,有对称轴这一概念,在做题时我们经常会以对称轴来分类讨论。
而对称轴就是二分法中的中指针,根据目标值大小判断在中指针(对称轴)的左边还是右边,然后移动左指针 OR 右指针到中指针的位置,缩小搜索范围,缩小范围后再次判断目标值在中指针的左边还是右边,直到目标值位于左指针或者右指针的位置,找到目标值的下标。
代码实现
代码实现一
123456789101112131415161718192021222324252627282930313233/** * 二分法基础 * @param a 查找数组 * @param target 查找目标值 * @return 返回目标下标 or -1 * 思路: 创建两个指针,分别指向数组两端,再使用一个中指针, * 用于判断目标值在中值的左侧还是右侧,然后再缩小范围,以此类推,可以缩小范围知道中值等于目标值 */static int binarySearch(int [] a,int target)& ...