Linux+云服务器

news2024/9/22 17:24:29

目录

前言

一、Linux介绍

二、Linux 环境搭建

2.1 云服务器

2.2 XShell 终端

三、Linux 常用命令

3.1操作目录的命令

3.1.1 ls   【list的缩写】 双击某个目录

3.1.2 pwd  【print working directory的缩写】打印当前所处地址

3.1.3 cd 【change directory的缩写】切换目录

3.2 文件相关的操作

3.2.1 touch 创建空的文件

3.2.2 cat  【concatenate的缩写】显示文件内容

 3.2.3 echo  打印内容到控制台,也可以用于写文件

3.3 目录的创建和删除

3.3.1mkdir【make directory的缩写】 创建目录

3.3.2 rm [remove的缩写]  删除

3.3.3 cp【copy的缩写】复制 

3.3.4 mv【move的缩写】移动

3.3.5 man 【manual page的缩写】查看其他命令的帮助手册

3.3.6  less[读取] && vim[读取、编辑]

四、Linux权限

五、搭建 java 部署环境

5.1 jdk

5.2 Tomcat

5.3 MySQL​​​​​​​

前言

为什么我们学习Java,只需要学习 Linux 指令呢?

这是因为 Java 对于 系统编程 网络编程,有着自己的一套 API。
而且,其实 系统编程 和 网络编程,在前面已经讲了。
网络编程:TCP 和 UDP 协议.....
系统编程:多线程....

这是因为 Java 是一个跨平台的编程语言。
意思就是像多线程编程,socket编程等等。这些Java标准库里原生就有。

而C++标准库相比于 Java 弱很多。虽然 C++ 标准库里已经有 多线程了,但是 网络编程至今仍然不支持。因此他们想要进行相关的编程,就只能使用系统 API。

系统API:就是操作系统提供的API。
比如:
1、Windows 系统上面有一套
2、Linux 系统上有一套
3、mac 系统有一套
........ 

在 Java 这边,因为我们 Java 是一个跨平台的程序。
因此我们只要学习 Java 标准库这一套,不管是什么样的系统,什么样平台,我们都是一套代码解决问题。 

一、Linux介绍

Linux 是世界第一大操作系统,有的朋友可能会表示 我 Windows 不服

难道Windows不能打嘛?

注意!Windows 确实很好用,也很抗打。
但是,Windows 是属于世界上第一大 “桌面” 操作系统。
但是你觉得是桌面系统大,还是操作系统大?
那肯定是操作系统更大!

操作系统中,又可以分为这几个大类:
1、服务器用的操作系统
2、PC(个人电脑)用的操作系统
3、嵌入式设备用的操作系统
4、特殊的情况。。。。

在 PC 这个领域,我们生活中常用的笔记本,台式机。。。这些 Windows 确实是最强的!
但是!!!
剩下的几个领域里,Linux 一家独大,处于 Top One 地位。

而且,更准确的来说,Linux 不是一个完整的操作系统,而是一个“操作系统内核”。
然后,Linux 内核 + 各种配置的应用程序,才构成了一个完整的操作系统。
这种形式,我们将其称为 “发行版”。
其中有一个非常NB的发行版,叫做 Android(安卓)。
安卓系统,可以说是我们当今世界上 装机量 最高的系统!!!


作为 Java 程序员,在实际开发中,一般不需要使用系统原生的 API,但是经常会涉及到一些 和 Linux 相关的部署调试 的 工作。

比如:我们做了一个网站。
那它的后端就需要部署到服务器上之后,才能被各个用户拉访问。
正如我们前面所说:服务器主要使用的系统还是 Linux 。
那么,这个部署的过程,就需要涉及到一些基本 的 Linux 操作。
比如:
我们的服务器程序在机器上运行的时候,它出问题了。
出问题之后,我们是不是得上去看看它是出了什么问题啊?
那么,我们就得能够 基于 Linux 操作 来针对 我们的一些日志,或者通过一些命令,查看系统参数,来去观察到 当前问题的一些线索。
这是我们定义问题的主要依据。
总之,像这样的一些基本操作,对于我们的实际开发,还是具有非常重要的意义! 

二、Linux 环境搭建

2.1 云服务器

        使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器

国内有很多的云服务器厂商:阿里云,腾讯云,华为云 ,金山云.......
云服务器,本质上还是 虚拟机
不同的是,这个虚拟机不是自己的电脑上,而是装在人家机房里。
我们需用通过网络来去使用。
这个云服务器相比于自己使用虚拟机来说,最大的区别:
1、云服务器会同时给你一个外网 IP(这个外网IP最关键)
2、云服务器是非常稳定的,基本没有什么bug,就不太需要我们去折腾
毕竟是花钱买了,别人都会有售后服务,对学生来说价格也不是很贵! 

购买的时候,需要注意的是:
1、选择机房的位置(活动区域)随便选。只是价格上可能有所差异。
2、选择 系统镜像:简单来说,就是给你的服务器装那个系统。
注意!选择 Centos 7 系列!!!

另外拿到服务器之后,最好给它设置一个密码。复杂点最好,前提是你自己能够记住,
因为 你的服务器随时可能遭受到 黑客的攻击!  
如果真的被黑客入侵了!重装系统即可!

最后需要注意:不要轻易暴露自己的外网IP,很容易被 DDOS 攻击。 

2.2 XShell 终端

终端软件是一类工具软件, 可以和远程的主机建立网络连接, 从而对主机进行一些操作.

常见的终端软件:
XShell
Putty
MobaXTerm 
。。。

本文主要使用的是 XShell。注意XShell 只支持 Windows系统。 

下载安装XShell:https://www.xshell.com/zh/free-for-home-school/

使用 XShell 登陆主机:

我们买了服务器之后,它不是会给我们一个外网IP嘛。

这个外网 IP,就是我们使用 XShell 登录 服务器主机 的关键。 

先打开XShell

第一次打开的,会有一个注册流程,
下面,我们就可以与服务器建立连接了。[PS: 云服务器要处于运行状态可以连接成功]

另外,经过这一次操作,下次,再访问就不需要再进行这一套操作了。
直接双击会话,它就会自动进行链接登录了。

而且,针对同一个服务器,创建多个会话来访问都是可以的!
因此,一个人有服务器,整个寝室的人都可以用的!


下面我们来解析一下 我们登录成功后,看到第一条指令。
【PS:看到这条指令就说明:我们就登陆成功了。】 

后续和Linux 服务器之间的交互,都是基于命令来完成的!
和 Windows 上这种基于图形化界面的交互方式是截然不同的。

有的可能会有疑问:图形化操作 不比 命令行操作,来的更加直观!?

这是因为使用命令行来操作,有它的好处! 

1、命令节省资源(网络带宽),运行更流畅!
别忘了我们是操作服务器啊!
你如果是 图形化操作服务器,服务器就需要通过网络把图形界面给你传过来。
那你想想传图片需要多少带宽,一个普通图片少说也有 一两M 吧?高清直接十几M!
网络带宽直接拉满!
如果是命令行操作,就只需要传输一些简单的字符串即可。
一个字符串才几byte,1 MB == 1024 kb == 1024 * 1024 byte。
可想而知,一张图片不知道顶我们多少句命令!!!
于此,我们不难思考出 用命令行 操作系统,执行起来会更加流畅。

2、命令更有助于 基于脚本来完成重复性工作。
我们在未来工作中会经常接触到 shell 脚本。
shell 脚本:就是通过一个文件,把你要执行的命令写进去,然后批量执行。以此来完成重复性工作。
这一点是图形化操作很难做到的,

因此,整体来说:我们在工作中,在这些生产力的环境下,那肯定还是命令要更香。 


三、Linux 常用命令

Linux 的指令有很多,本文只介绍 最最常见的操作命令。
大概十几个,不过就这十几个命令就已经覆盖到了工作中大部分内容。

3.1操作目录的命令

3.1.1 ls   【list的缩写】 双击某个目录

语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

ls:列出当前目录中包含的文件 和 目录
ls的功能,就类似于在 Windows 上 双击某个目录,把它打开,看看目录里面都有些什么。
ls:本身的含义就是 list(列表)
下面我们来输入这个指令来看一下效果。

拓展:
Linux 的命令很多都支持 “选项”,在命令后面跟上 - ,以及一些特殊的 字母 / 单词,来开启不同的功能。

常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)

比如:输入 ls - l
其作用就是:以列表的方式,来显示当前目录下的 文件和目录。

3.1.2 pwd  【print working directory的缩写】打印当前所处地址

 pwd: 能够告诉我们当前所处的位置是哪个目录下面

pwd 就相当于单击文件资源管理器,地址栏一样的~~

在使用 命令行的时候,有的时候,目录结构比较复杂,容易不记得自己在那。【迷路了。】
这个时候,就可以使用 pwd 来查看自己所处的位置。

 另外,在Linux上,是以 / 开头(根目录) 就是绝对路径。没有 Windows 中 盘符的概念:

Linux 是一个树形目录结构:

几个特殊的目录:
        / 称为根目录
        . 称为当前目录
        .. 称为当前目录的上级目录

为什么 Windows 的盘符是 C D E F G?有没有 A 盘?有没有 B 盘?
答案:历史上存在过,只是现在没有了。
在那个时候 A盘是 软盘,B盘是 磁盘。而现在用的都是 硬盘,硬盘 和 前面两个 完全不是同一个设备。

3.1.3 cd 【change directory的缩写】切换目录

ls 用来显示目录底下的文件。看到自己想要进入的文件之后,再来使用 cd + 文件路径,进入该文件。(这个路径可以是相对路径,也可以是绝对路径)

cd 命令,切换当前所在的目录,类似于 Windows中的鼠标双击操作:双击一个文件/目录,进入其内部

 上面是 绝对路径 的例子,下面我们来看看 相对路径 的切换。
..表示当前路径的上级路径

cd .. : 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录 

linux 里的复制:Ctrl + insert

粘贴:shift + insert 

取消当前的命令 ctrl + c  (linux里就不是复制了)

 复制:Ctrl + insert && 粘贴:shift + insert 键(这种方式,Windows 同样支持)

选中文字 Ctrl + insert 复制 ,找到合适位置 shift + insert 粘贴

注意! 如果你是笔记本的话: 需要加上一个 fn 键。 

清空目前的指令记录 Ctrl + L 


3.2 文件相关的操作

1、touch:创建一个文件
2、cat:显示文件内容
3、echo:打印内容到控制台,也可以用于写文件。

3.2.1 touch 创建空的文件

如果文件不存在,直接创建。
反之,如果文件存在,它只是会更新文件被访问的时间,就不会去创建一个新的文件了。

3.2.2 cat  【concatenate的缩写】显示文件内容

文件为空,什么都不显示,文件有内容直接打印~~

cat和ls的区别 :

cat 是看文件里有啥内容;ls是看目录里有啥内容

 3.2.3 echo  打印内容到控制台,也可以用于写文件

此处的 > 操作称为“重定向”。
整体来说:echo ‘hello’ > java_linux_0422.txt 这条指令意思就是:把本来要显示在控制台的内容给重定向到指定的文件中 

>和>>的区别

此处的读写文件操作,只是能进行简单的读写,不能进行复杂的编辑。
如果是搞一个简单的小文件,上面这三个操作,够用。
如果是一个比较大的文件,读也好,写也好,使用上面的操作,就比较麻烦了。

在后面,我会给大家介绍一组更高级的 读写 指令。
使用 less指令 来进行读文件,使用 vim 来 编辑文件


3.3 目录的创建和删除

3.3.1mkdir【make directory的缩写】 创建目录

mkdir -p 使用 -p 选项可以创建多级目录~~ 

现在我们创建了一堆目录,有没有直观的方法,能让我们看到更直观的看到目录结构当使用 mkdir 连续创建很多目录之后,就容易搞不清楚目录结构。此时既可以通过一个 tree 这样的命令,来直观的看到目录是如何构成

3.3.2 rm [remove的缩写]  删除

rm 既可以用于 删除文件,也可以用于删除目录 

其实 通过 rm -rf/ 和 rm -rf/* 删除的数据,其实是可以被找回的。

这么说吧:
        虽说 rm 删除之后,可能就恢复不了。但是,也不是完全恢复不了!
操作系统删除文件,其实进行的是 “逻辑删除”。
逻辑删除:并不是真把磁盘的数据给删除了!!!而是 打上了一个 “无效” 的标记。
一旦有这个标记,系统就知道 这一块空间(盘块) 在后续操作中,就可以重复利用。
怎么利用?将新的数据进行覆盖即可。

        在这块空间真正被利用之前,其实这个数据还是存在的!只不过是被标记位无效数据。
因此如果你真的不小心不想删了,还可以通过一些特殊的工具来把 盘块 上 还没有真正被“删除”的数据,给恢复一部分。而且这种补救措施,我们自己一般搞不定。
这个可以找对应的硬盘厂商来帮忙。【直接联系生产你硬盘的厂家进行解决】不太靠谱

小拓展:既然删除系统数据,并不是真正意义上的删除。那么,如果我们有一些重要的数据,我们想要删除掉,怎么办?因为 rm 删除操作,删除的数据可能还在。
如果被有心人拿到,就有可能把你磁盘里面的内容给恢复了。从而谋取利益怎么办。
在我们工作之后,我们的电脑上多多少少都会有一些重要的数据在上面。这些都是属于商业机密。因此,在我们工作之后,更换电脑设备的时候,最好把之前旧设备上的数据都给彻底销毁。
回到我们最初的问题:如何把数据彻底删除呢?
方法很直接暴力:“物理删除”(把硬盘给锤烂)

3.3.3 cp【copy的缩写】复制 

复制的效果:

在 linux 里面,可以使用 cp(复制)指令 来进行实现:

cp复制=拷贝+粘贴

cp 源 目标

3.3.4 mv【move的缩写】移动

移动的效果:

 在 linux 里面,可以使用 mv(移动)指令来进行实现:

小拓展:

         mv 指令的其它作用 >> 给文件名重命名(重命名的名字,不能是该目录下已经存在了的)

另外,我们再拓展一下:
mv 的常用选项【文件覆盖】
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! 

其实 mv 操作,本质上就是在修改文件的 名字 / 路径。
这个改动是非常轻量快速的,因此执行速度是非常快的。

cp 操作,本质上需要拷贝大量的数据,这个拷贝的过程其实是非常消耗时间的。
尤其是文件很大的情况下!!
比如:文件是10G内存
如果你只是进行 mv的操作,来修改名字。或者移动位置,都是非常迅速的。
但如果你是 使用 cp 操作 来拷贝 文件,那就会非常的耗时。
毕竟你10个G的数据,写入硬盘里面,还是要点时间的。 

3.3.5 man 【manual page的缩写】查看其他命令的帮助手册

每个命令,其实都可以支持很多的参数选项!
这些选项,你想全都记住是不可能的,不现实的!!!
如果对于某个指令的选项不清楚,一般我们都是通过 man 指令 来随时查看帮助。

3.3.6  less[读取] && vim[读取、编辑]

less: 读文件内容,无法编辑
vim:既能读取文件内容,也能编辑文件。其实 vim 就是一个文本编辑器

前面还和大家讲了 cat(读) 和 echo(写)能够读写文件,但只能支持 简单的读写
cat 进行 读取文件的时候,是一股脑的全部给你展示出来,这就很容易卡死。
而 less 内置了 翻页的功能,一次性只加载一页的内容,翻页的时候,在加载一页。因此,less 最大的优势就是:大文件能够秒开!!!
也就是所谓的 “懒加载”,或者说成 “懒汉模式”,你们更容易理解一下。
简单来说:就是用到的时候再加载,不用的时候就不加载。  

less 演示:

 vim 演示:

编辑服务器上的文件 的 一个重要操作!!!
vim 这个软件的使用 对 新手 非常不友好,它为了能高效编辑文本,引入了 “模式” ,以及海量的快捷键。
这个工具的使用方式,和日常用的其它文本编辑器 相比差异非常大!!!
但是我们 又不得不学习这个,因为 vim 是 Linux 的默认编辑器。因此,vim的基础操作,还是要学习的!但是我们也只学习 vim 最基础的使用,我们的目标就是能够使用 vim 对 文本 进行 最基础最简单的编辑

vim 有一个 问题,如果使用 vim 打开一个大文件会非常卡。
下面我们就来看一下,对于 vim,我们需要掌握哪些基础编辑方式

1、使用 vim 创建 / 打开 文件
2、使用 vim 编辑文件内容
3、使用 vim 进行保存退出 

需要注意的是:冒号 加 q,不给 w,是 退出 不保存吗?
注意! 这是要分情况的!
如果文件内容没改变,:q 确实能够直接退出
如果文件内容改变了,:q 会报错

不保存,强制退出,指令:冒号 + q + 感叹号,然后回车

冒号 + x冒号 + wq 的效果是一样的!都是保存并退出

四、Linux权限

因此,Linux 权限,作为程序员,一般只需要简单了解一下,就行了。
这个权限,一般是“运维”来关注权限的。

大家一定要明确:
权限,就是在限制你机器上面的一些 文件/目录 能进行哪些操作。
简单来说:权限就是对操作的限制。
主机里面的东西,不是说谁来都能 查看/删除/修改。

前面有些操作,像 rm 这种操作,不小心敲了这样的指令,后果非常严重。为了防止这种情况的发生,公司一般都会限制新人的权限。让其在进行危险操作的时候,操作无法生效。

另外,公司一般都是有专门的管理员来进行权限的划分的(管理员),也就是 运维工程师
作为一个普通的软件开发,或者测试人员,是不必关注这个权限的。
但还是需要简单了解一下的。

Linux 的权限,主要还是围绕着 文件和目录 来展开的。

另外,对于 三个角色的权限,是可以进行单独设置的(根据需求定)

具体怎么去设置每个角色的权限,我们可以通过 chmod 命令来实现(暂不介绍)

五、搭建 java 部署环境

学习 Linux 的目的:是需要在 Linux 上 搭建 java 的运行环境,并且能部署 Java Web 程序。

我们学习这些指令就是为了部署,而且在以后的工作中,Linux 也是用来部署的,只有将程序部署了,这个软件才算是开发完成了。 
如果你的程序,只能在本地跑,没有意义,只有部署到生产环境上(类似于云服务器),真正上线了之后,大家才可以通过网络去访问。
而我购买云服务器,也是为了拥有一个公网IP,有了公网IP,别人就能访问到我们部署在服务器上的程序了。

关于环境的搭建,就需要在 Linux 上安装一些必要的程序:

  1. jdk:没有jdk,Java程序是运行不了的。
  2. Tomcat:毕竟我们要部署一个 Java Web 程序,HTTP服务器是必要的。
  3. MySQL:存储相关数据

注:其它更复杂的项目,可能需要引入依赖更多! 

5.1 jdk

要想使用 yum install 指令,必须要有管理员的权限。
这也是为什么我一开始要求你们 将用户名设置为 root 的原因。
想要切换到 root用户也很简单!
使用 su 命令 既可以切换到 root 用户。
此时它会要求你输入 云服务器的登录密码。

可以通过 Linux 的“应用商店”yum 来进行安装即可(yum 是一个“包管理器”)
首先,我们先在 yum 上搜索一下,看看 yum 上有没有 jdk,以及版本和名字输入指令: yum list 命令,就能列出 应用商店服务器上面的 所有软件包。[PS: 先不要执行上面的指令,你会卡死的。应用商店服务器上的软件包非常多!!]正确使用方法,需要搭配:指令中的 grep

输入指令 yum list | grep jdk 

grep命令在这里起到的功能是 进行 字符串过来而叫做管道,其功能是把前一个命令的输出,作为后一个命令的输入就像一根管,把两个指令给连接起来了。即: yum list 输出的结果,不再打印倒排界面上了,而是作为 grep 的输入。grep jdk 就是根据 yum list 输出的结果,来匹配包含 jdk 这个三个字母的文本行
输入指令等待个 2~3s,界面救护打印出匹配到的结果

5.2 Tomcat

Apache Tomcat® - Apache Tomcat 8 Software Downloadshttps://tomcat.apache.org/download-80.cgi 

小结:
在 Linux 上 配置 Tomcat 稍微有点麻烦

1、现在官网上下载 zip 包【8版本】
2、把 zip 上传到 Linux,直接通过 Xshell 拖过去。【可能需要安装 lrzsz】
3、使用 unzip 命令 来解压缩【可能需要 安装 unzip】
4、切换到 bin 目录中,给所有的 ,sh后缀的文件 添加 可执行权限。【chmod +x *.sh】
5、使用命令 sh startup.sh 来启动 Tomcat

前 4 个步骤,只在首次使用 Tomcat 的时候 要用到。
后续使用 Tomcat的时候,不需要进行重新部署。

另外,不管你使用那条指令,必须要进入 bin 目录中,才能执行。
Linux中的指令和目录是关联很大的。
如果你不是 cd 到 bin 目录中
sh startup,sh 是找不到对应的文件的。

有人朋友可能很细心,就会问到:如何判断 Tomcat 是启动成功了,还是失败了?

真冲突了怎么改:

另外,我们还能通过访问 Tomcat 的欢迎页面,来判断Tomcat是否在运行。
如果能够正确访问到 欢迎页面,说明Tomcat一定是安装启动成功了!!!
反之,Tomcat 启动不成功,甚至可能都没有安装好。

方法:
打开浏览器,
在地址栏中输入 :我们云服务器提供的公网IP(外网IP) + 冒号 + 端口号 8080
如果你修改了 8080的端口号,你就填入修改之后的端口号

好了,关于Tomcat的安装就到此为止了。

记得关闭Tomcat

5.3 MySQL

大家需要明确:我们自己用的电脑 和 Linux服务器 是两台机器!!!

因此我们自己电脑上安装的软件 与 Linux服务器 是没有关系的!
要想让程序在 服务器上运行,就需要给服务器装好依赖的软件(包括MySQL)。

我们能不能让 服务器上的程序来访问本地的MySQL?
不可以
同样也不能让服务器上的程序来访问本地的MySQL。

原因如下:
其实我在前面也是讲过的,
你本地的MySQL,虽然有个3306端口,但是它没有外网IP。
因为我们的电脑没有外网 IP,服务器是无法访问到你主机的。
除非,你购买了2个云服务器,一个服务器A部署程序(博客系统),另加一个服务器B安装了MySQL。
此时,服务器A是可以访问到 服务器B中的MySQL。
因为 云服务器是有一个外网IP,因此两个服务器之间是可以进行这样的操作的。
而我们的电脑使用的 内网 IP,因此是无法做到这样的操作。

下面我们开始安装 MySQL。
参考这篇文章的安装过程

CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)icon-default.png?t=N3I4https://zhuanlan.zhihu.com/p/49046496因为这个是最简单的!!!
就是基于 yum 来安装MySQL。
但是 MySQL 比较复杂,光下载还不行。
我们还需要 简单的配置一下

以下操作都以 root 用户进行操作

安装

安装 mariadb 服务

yum install -y mariadb-server

安装 mariadb 开发包

yum install -y mariadb-devel

启动

启动服务

systemctl start mariadb

设置服务开启自启动

systemctl enable mariadb

查看服务状态

systemctl status mariadb

可能的输出为,注意到 Active 状态为 active (running)

测试连接

使用命令行客户端尝试连接

mysql -uroot

输出为

查看 mariadb 版本号 

select version();

 创建数据库时为了支持中文,统一使用 utf8mb4 字符集

create database demo_db charset utf8mb4;

查看字符集配置:

show variables like '%char%';

 

补充一条指令,数据库的退出指令:

Ctrl + d

首先,我们可以发现: 我们安装的不是MySQL,而是 MariaDB.

大家一定要明确: MariaDB 与 MySQL 是 李生兄弟的关系。

MySQL是一个开源免费软件, Oracle 把 MySQL 给收购了,Oracle 收购并不是为了让 MySQL 发展的更好。所以MySQL的作者就联手 基于 MySL 的历史版本的一个代码的分支,出了一个新的代码分支给其命名为 MariaDB。
MariaDB 在操作和API 上,都是 和 MySQL 兼容的。
(兼容: MariaDB 的 SQL语句 和 MySQL 是一样的,甚至进行JDBC编程的过程和操作都是一样的)

因此我们在 Linux- 安装 MariaDB,是完全可以的!

即:在当前阶段,完全可以使用 MariaDB 代替 MySQL的! ! !

配置密码:
这件事,实属没必要

只要你的数据库上没有值钱的数据,就是最安全的!
配了之后,容易登陆不上去了,还需要卸载重装
在以后工作的时候,密码都是配好了的,不需要你来操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DAY02_运算符和选择语句

1:运算符 对数据进行运算。而对数据运算就要用到运算符。 和表达式做一个简单的描述: 运算符:对字面量或者变量进行操作的符号 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的…

JUC多并发编程 volatile

特点: 可见性有序性(有时需要禁用重排) 内存语义: 当写一个 volatile 变量时, JMM 会把该线程对应的本地内存中的共享变量值立即刷新回主存中当读一个 volatile 变量时, JMM 会把该线程对应的本地内存设置无效,重新…

m4a怎么转换成mp3,4招搞定

m4a怎么转换成mp3?相信很多朋友都知道,无论是音频、视频、图片等很多电子文件,都会有多种格式。由于格式不统一,很容易导致文件和软件之间出现不兼容的情况,最直接的结果就是在播放器中无法打开,或者使用的…

一篇文章带你了解Spring/SpringBoot常用注解(建议收藏!!! )

这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基本没啥大问题了! 1. SpringBootApplication 这里先单独拎出SpringBootAppl…

NUXT规范及常见问题

props中不要使用Web环境才有的对象&#xff0c;服务端渲染的时候会失败 使用<Nuxt/>组件代替<router-view/>&#xff0c;使用<NuxtLink/>代替<router-link/>static目录下的资源是静态资源&#xff0c;不应该通过import或../static/img/logo.png等方式…

【AI绘画】我以Midjourney为主学习AI绘画效果咋样?

上一篇博客链接&#xff1a;【ChatGPT】ChatGPT掀起AIGC与AI浪潮_山楂山楂丸的博客-CSDN博客 这周&#xff0c;我加入了新星计划&#xff0c; 涉及的领域是我感兴趣以及对未来规划有帮助的——AI绘画&#xff01;​​​​​​​ 文章目录 前言 一、AI绘画是什么 二、AI绘画进…

MYSQL命令小总结

一、创建查看 1.输入cmd&#xff0c;打开控制器&#xff0c;输入如下&#xff0c;打开MYSQL C:\Users\ASUS> mysql -u root -p 2.查看已有数据库 mysql> show databases; 3.建立数据库 4.使用数据库 use englishword;5.建立表单 CREATE TABLE user ( id INT primar…

AI Stable Diffusion Prompt参数【一】

AI Stable Diffusion Prompt参数【一】 配置场景1:草丛里的女性promptNegative Prompt结果 场景2: 雨中披头散发的女孩promptNegative Prompt结果 场景3: 一个女孩和她的朋友在逛街promptNegative Prompt结果 场景4: 学生在教室promptNegative Prompt结果 场景5: 穿着白色丝袜和…

自动化工具 基于 Antd+DRF 开发了一款适配 JMeter 的接口自动化测试报告

JMeter Report 基于 AntdDRF 开发的一款 JMeter 测试报告服务&#xff0c;用于在 JMeter 接口测试中使用。 &#x1f334; 背景 JMeter 是测试工作中常用的一款工具&#xff0c;除了压测还可以用来做接口自动化的测试。 从事测试多年&#xff0c;接口自动化也做过很多的尝试…

从零搭建开发脚手架 自定义打包构建研发输出产物

文章目录 背景目录源码目录结果目录 实现项目打包方式一 使用IDEA工具打包,选择对应的profiles,然后clean package方式二 使用maven命令打包 部署 背景 在打包项目时&#xff0c;通常只需要生成一个可执行的jar文件。然而&#xff0c;有时候需要将启动脚本或外部配置文件附加到…

Java版电子招投标系统源码之了解电子招标投标全流程

随着各级政府部门的大力推进&#xff0c;以及国内互联网的建设&#xff0c;电子招投标已经逐渐成为国内主流的招标投标方式&#xff0c;但是依然有很多人对电子招投标的流程不够了解&#xff0c;在具体操作上存在困难。虽然各个交易平台的招标投标在线操作会略有不同&#xff0…

感应开关盖垃圾桶项目实现.md

1.项目接线 接线示意图和实物图 示意图和接线说明&#xff1a; 舵机控制口P1.1&#xff08;定时器0中断&#xff09;&#xff1b;超声波Trig接P1.5 ,Echo接P1.4 &#xff1b;蜂鸣器接P2.0 口;震动传感器接P3.2 口&#xff08;外部中断0&#xff09;。 实物图&#xff08;未封装…

室内人员定位,硬件部署方案多场景技术分析

室内外定位技术在工业、矿业、医疗养老、能源电力、展览展会、公检法司、工地等众多领域具有丰富的应用场景。定位能力作为“物联网”的核心能力之一&#xff0c;其定位精度和稳定性不仅需要强大的算法支撑&#xff0c;也有赖于好的室内定位设备的落地部署。 基于蓝牙LoRa定位…

MySQL按照,库的操作,表的约束 --- MySQL总结(一)

MySQL 文章目录 MySQLMySQL的安装MySQL组成架构连接池软件层引擎层储存层 库的操作创建库修改数据库删除数据库备份数据库还原数据库查看链接情况 表操作创建表查看表结构修改表结构添加字段修改字段类型长度更改表名修改属性删除表 数据类型表的约束空属性&#xff08;not nul…

typescript全局安装卸载以及npm相关问题

全局安装 npm install -g typescript 全局安装之后&#xff0c;如果想要卸载要使用 npm uninstall -g typescript 全局安装之后可以在终端使用 tsc xxx 编译ts文件 本地安装&#xff0c;也就是在项目目录下安装 npm install typescript 本地卸载 npm uninstall type…

【LeetCode】刷题数据结构(1)[反转链表]

【LeetCode】刷题数据结构&#xff08;1&#xff09; 1.题目来源2.题目描述3.解题思路4.代码展示 所属专栏&#xff1a;玩转数据结构题型 博主首页&#xff1a;初阳785 代码托管&#xff1a;chuyang785 感谢大家的支持&#xff0c;您的点赞和关注是对我最大的支持&#xff01;&…

Elasticsearch ILM DSL 索引生命周期管理

1、冷热集群架构 冷热架构也叫冷暖架构&#xff0c;是“Hot-Warm” Architecture的中文翻译。 冷热架构本质是给节点设置不同的属性&#xff0c;让每个节点具备了不同的属性。为演示 ILM&#xff0c;需要首先配置冷热架构&#xff0c;三个节点在 elasticsearch.yml 分别设置的…

4月21号软件更新资讯合集.....

PlayEdu v1.0-beta.3 发布&#xff0c;视频培训解决方案 PlayEdu 是基于 SpringBoot3 Java17 React18 开发的企业内部培训系统。它专注于提供私有化部署方案&#xff0c;包括视频&#xff0c;图片等资源的内网部署。目前主要支持有本地视频上传播放、学员邮箱登录、无限级部门…

如何使用JMeter和Ant生成高效测试报告?

Jmeter接口自动化测试项目实战视频教程地址&#xff1a;https://www.bilibili.com/video/BV1e44y1X78S/? 目录&#xff1a;导读 引言 一、安装ant 二、ant关联jmeter工具 三、执行 结语 引言 你曾经在进行软件测试时遇到过测试结果难以分析&#xff0c;甚至花费大量时间…

机器学习基础知识之相关性分析

文章目录 相关性分析定义1、图表相关性分析2、协方差分析3、相关系数分析4、回归分析 相关性分析定义 相关性分析一般是指通过对两种或两种以上的变量数据进行数学分析来确定两种或两种以上的变量数据之间的相关密切程度。由此定义我们可以得知相关性分析的目的在于衡量变量数…