Linux+云服务器

目录

前言

一、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.mfbz.cn/a/13912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

yolov5训练自己的目标检测模型

yolov5训练自己的目标检测模型 1.克隆项目并配置环境 1.1克隆项目 进入GitHub下载yolov5源码 点此进入 选择分支v5.0,并下载源码 anaconda激活相应环境 activate pytorch进入项目存放的地址 E: cd yolov5-master1.2 yolov5项目结构 ├── data:主…

Java版本工程管理系统软件源码 自主研发,工程行业适用

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析

Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析 漏洞简介 Zimbra是著名的开源系统,提供了一套开源协同办公套件包括WebMail,日历,通信录,Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决…

集合专题·拔高·壹

文章目录 1 Collection单列集合、Map双列集合1.1 Collection单列集合1.1.1 Collection单列集合及其实现类1.1.1.1 list集合与Array数组1.1.1.1.1 ArrayList1.1.1.1.2 LinekdList1.1.1.1.2 Vector1.1.1.1.2.1 ArrayList、Vector (线程安全)的区别是什么1.…

【elasticsearch部署】

安装elasticsearch 1.部署单点es1.1.创建网络1.2.加载镜像1.3.运行 2.部署kibana2.1.部署2.2.DevTools 3.安装IK分词器3.1.在线安装ik插件(较慢)3.2.离线安装ik插件(推荐)1)查看数据卷目录2)解压缩分词器安…

基于web的电动车租赁管理系统C#+asp.net+sqlserver

具体功能如下:个人信息管理:实现登陆后对个人信息进行修改和查看的功能。 修改登录密码:实现登陆后对个人密码进行修改的功能。 申请租车订单:客户用户登陆后可以申请租车订单。同时可以查看租赁订单信息。 售后评价管理&#xff…

【PR 基础】设置上下黑白边的两种方法

方法1 点击 文件-》新建-》旧版标题 点击确定 点击矩形工具 利用矩形工具框选出上下黑白边 款选完成后点击关闭 将刚创建的字幕拖入轨道 可以修改其持续时长与视频时长保持一致 如果想要修改字幕可以双击来修改 比如可以将颜色改为黑色 方法2 点击号,再选择安全边…

C语言入门篇——函数篇

目录 1、什么是函数 2、函数的分类 2.1库函数 2.2自定义函数 3、函数的参数 3.1实际参数(实参) 3.2形式参数(形参) 4、函数的调用 4.1传值调用 4.2传址调用 5、函数的嵌套调用和链式访问 5.1嵌套调用 5.2链式访问 6、…

【C++】模板

目录 前言 1.函数模板 1.1使用 1.2实现逻辑 1.3实例化 1.4匹配规则 2.类模板 2.1使用 实例化 前言 🎗️照以前的想法,若我们想实现一个交换函数,需要这样写。 void swap(int& x, int& y) {int tmp x;x y;y tmp; }int …

自动驾驶方案及相关对标

华为: 2021年4月18日,在华为智能汽车解决方案BU新品发布会上,华为智能汽车解决方案BU总裁王军表示,华为要持续加大对汽车行业的投入,今年在研发上的投资将达到10亿美元,未来每年保持30%左右增长&#xff0…

[Netty] Mpsc Queue (十七)

JCTools 是适用于 JVM 并发开发的工具,主要提供了一些 JDK 确实的并发数据结构,例如非阻塞 Map、非阻塞 Queue 等。其中非阻塞队列可以分为四种类型,可以根据不同的场景选择使用。 Spsc 单生产者单消费者Mpsc 多生产者单消费者Spmc 单生产者…

【AI生产力工具】Midjourney:为创意人士提供创造性灵感和支持的工具

文章目录 一、Midjourney是什么?二、Midjourney的优势三、Midjourney的应用四、结语 在现代社会,创意和创新成为越来越重要的能力。然而,创意灵感的获取却不是一件容易的事情,这就需要我们使用一些辅助工具来帮助我们发现和实现创…

Docker容器---网络、容器操作

Docker容器---网络、容器操作 一、docker实现原理二、docker网路模式1、Host模式2、container模式3、none模式4、bridge模式 三、自定义网络1、查看网络模式列表2、查看容器信息3、指定分配IP地址4、自定义网络固定IP 四、暴露端口五、容器端口映射1、创建端口映射 六、资源控制…

达梦数据迁移问题罗列

目录 一、前言 二、问题罗列 一、前言 最近小编接触到国产的数据库达梦数据库,然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里。目前关于国产的数据库达梦这些资料比较少,希望能够帮到有需要的同志们&#xff01…

零代码是什么?零代码平台适合谁用?

随着信息技术的发展,软件开发领域也不断发生变革,零代码(No-Code)开发模式越来越受到关注。 零代码到底是什么,能不能用通俗的话来说?这就来给大家讲一讲! 01 零代码为什么出现? 随…

Java基础——缓冲流

(1)缓冲流概述: 缓冲流也称高效流,或者高级流。(字节流可称原始流)作用:缓冲流自带缓冲区,可以提高原始字节流,字符流读写数据的性能。 (2)字节缓…

【工作思考】如何提升自己的编程能力?

文章目录 前言一、代码评审为什么要进行代码评审? 二、持续学习能力三、良好的编程习惯代码注释避免深度嵌套拒绝长函数重视自测文档编写重构你的代码学会思考 四、多接触开源项目五、总结 前言 在工作中,我们大部分的时间都是在阅读代码,阅…

无人机影像处理流程

无人机由于其方便快捷,精度高等特点已经广泛应用于农田尺度的作物生长监测。尤其是近年来大疆推出了两个多光谱无人机,价格也相较便宜。但目前无人机的使用实际上需要进一步处理才能获取得到农田的基本信息,主要包括影像的校正和图像拼接&…

[oeasy]python0139_尝试捕获异常_ try_except_traceback

尝试捕获异常 回忆上次内容 变量相加 整型数字变量可以相加字符串变量也可以拼接 但是 字符串 和 整型数字整型数字 和 字符串不能相加 怎么办? 转格式int(“1”)str(2) 可是 如果输入的苹果数量是 字符串"abc" int(“abc”)会发生什么?&…

OpenText Exceed TurboX (ETX) 安全功能介绍

OpenText Exceed TurboX (ETX) 安全功能介绍 将所有重要的知识产权(IP )相关数据保存在受良好保护的中央数据中心是保护 IP 的最佳做法。安全的远程访问是保护知识产权的关键。 所有数据流量均采用最新标准加密技术进行加密ETX 整合多种身份验证系统ET…