16 Linux之JavaEE定制篇-搭建JavaEE环境
16 Linux之JavaEE定制篇-搭建JavaEE环境
文章目录
- 16 Linux之JavaEE定制篇-搭建JavaEE环境
- 16.1 概述
- 16.2 安装JDK
- 16.3 安装tomcat
- 16.4 安装idea2020
- *16.5 安装mysql5.7
- 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。
- 可能会用到的资料有如下所示,下载链接见文末:
- 《鸟哥的Linux私房菜 基础学习篇 第四版》1
- 《鸟哥的Linux私房菜 服务器架设篇 第三版》2
- 《韩顺平_2021图解Linux全面升级》3
16.1 概述
本章来介绍如何在Linux系统下,安装JavaEE的开发环境。下面是本章所需要的安装包示意图:

因为CentOS已经安装好了,所以本章需要的需要在Linux系统上安装的四个软件:JDK
、tomcat
、idea
、mysql
。
下面四个小节来依次介绍。
16.2 安装JDK
JDK(Java Development Kit) 是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。安装步骤总览:
【步骤1】上传压缩包到Linux下并解压。
mkdir /opt/jdk # 在Linux创建文件夹 # 通过xftp6上传jdk-8u261-linux-x64.tar.gz到/opt/jdk下 cd /opt/jdk # 定位到安装包目录 tar -zxvf jdk-8u261-linux-x64.tar.gz # 解压
- 一般下载好的安装包都放在
/opt
中。- JDK安装包的官方下载地址为:https://www.oracle.com/java/technologies/downloads/
【步骤2】将解压后的文件夹移动到指定位置。
mkdir /usr/local/java # 创建目录 mv /opt/jdk/jdk1.8.0_261 /usr/local/java # 将解压后的文件移动到新目录
- 一般将安装包解压后的文件夹放在
/usr/local
,这个文件夹类似于Windows系统下的C:\ProgramData
文件夹。【步骤3】添加新的JAVA环境变量。
vim /etc/profile # 配置环境变量的配置文件 ########################################## # 按G跳到文件末尾,然后添加下面两行: # export JAVA_HOME=/usr/local/java/jdk1.8.0_261 # export PATH=$JAVA_HOME/bin:$PATH # 注意第二行一定要带上最后的:$PATH,否则会将系统原本的环境变量全部覆盖掉。 ########################################## source /etc/profile # 刷新环境变量,使刚才的设置生效
- 若不配置环境变量,那么
java
命令/javac
命令便只能在其安装目录下使用,当切换目录后,便“未找到命令…”。为了在Linux系统下的任何一个目录都能找到java
/javac
,就需要配置环境变量。【步骤4】测试是否安装成功。编写一个简单的Hello.java文件,输出"hello,world!"
vim /home/Hello.java # 编写代码文件 ############################################# # 输入下面的代码: public class Hello{public static void main(String[] args){System.out.println("hello,java!");} } ############################################# javac /home/Hello.java # 编译 java Hello # 运行
- 注意文件名Hello.java的大小写要与文件内的Hello保持一致,否则执行时会报错。
下面是Linux终端的实操演示:
# 【步骤1】上传压缩包到Linux下并解压。
[root@CentOS76 ~]# mkdir /opt/jdk
# 通过xftp上传jdk-8u261-linux-x64.tar.gz到/opt/jdk下
[root@CentOS76 ~]# cd /opt/jdk
[root@CentOS76 jdk]# ll
总用量 139760
-rw-r--r--. 1 root root 143111803 7月 28 14:58 jdk-8u261-linux-x64.tar.gz
[root@CentOS76 jdk]# tar -zxvf jdk-8u261-linux-x64.tar.gz
jdk1.8.0_261/
jdk1.8.0_261/jre/
jdk1.8.0_261/jre/plugin/
jdk1.8.0_261/jre/plugin/desktop/
# 下面的一大串安装显示界面就省略了# 【步骤2】将解压后的文件夹移动到指定位置。
[root@CentOS76 jdk]# mkdir /usr/local/java
[root@CentOS76 jdk]# ll
总用量 139768
drwxr-xr-x. 8 10143 10143 4096 6月 18 2020 jdk1.8.0_261
-rw-r--r--. 1 root root 143111803 7月 28 14:58 jdk-8u261-linux-x64.tar.gz
[root@CentOS76 jdk]# mv ./jdk1.8.0_261/ /usr/local/java/
[root@CentOS76 jdk]# ll
总用量 139764
-rw-r--r--. 1 root root 143111803 7月 28 14:58 jdk-8u261-linux-x64.tar.gz
[root@CentOS76 jdk]# cd /usr/local/java
[root@CentOS76 java]# ll
总用量 4
drwxr-xr-x. 8 10143 10143 4096 6月 18 2020 jdk1.8.0_261
[root@CentOS76 java]# cd ./jdk1.8.0_261/
[root@CentOS76 jdk1.8.0_261]# ls
bin javafx-src.zip legal man src.zip
COPYRIGHT jmc.txt lib README.html THIRDPARTYLICENSEREADME-JAVAFX.txt
include jre LICENSE release THIRDPARTYLICENSEREADME.txt
[root@CentOS76 bin]# cd /usr/local/java/jdk1.8.0_261/bin
[root@CentOS76 bin]# ls
appletviewer javac javaws jinfo jstat policytool tnameserv
ControlPanel javadoc jcmd jjs jstatd rmic unpack200
extcheck javafxpackager jconsole jmap jvisualvm rmid wsgen
idlj javah jcontrol jps keytool rmiregistry wsimport
jar javap jdb jrunscript native2ascii schemagen xjc
jarsigner javapackager jdeps jsadebugd orbd serialver
java java-rmi.cgi jhat jstack pack200 servertool
[root@CentOS76 bin]# ./java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
[root@CentOS76 bin]# ./javac -version
javac 1.8.0_261# 【步骤3】添加新的JAVA环境变量。
[root@CentOS76 bin]# echo $PATH # 输出环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@CentOS76 bin]# cd /home
[root@CentOS76 home]# java -version # 测试能否在其他文件夹使用java,居然可以
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
[root@CentOS76 home]# javac -version # 测试能否在其他文件夹使用javac,果然不行
bash: javac: 未找到命令...
相似命令是: 'java'
[root@CentOS76 home]# vim /etc/profile # 更改环境变量配置文件
##########################################
# 按G跳到文件末尾,然后添加下面两行:
# export JAVA_HOME=/usr/local/java/jdk1.8.0_261
# export PATH=$JAVA_HOME/bin:$PATH
##########################################
[root@CentOS76 home]# javac -version
bash: javac: 未找到命令...
相似命令是: 'java'
[root@CentOS76 home]# source /etc/profile # 刷新环境变量,使刚才的设置生效!
[root@CentOS76 home]# javac -version
javac 1.8.0_261
[root@CentOS76 home]# echo $PATH
/usr/local/java/jdk1.8.0_261/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin# 【步骤4】测试是否安装成功。
[root@CentOS76 home]# vim /home/Hello.java
#############################################
# 输入下面的代码:
public class Hello{public static void main(String[] args){System.out.println("hello,java!");}
}
#############################################
[root@CentOS76 home]# javac /home/Hello.java #编译
[root@CentOS76 home]# java Hello #运行
Hello,java!
16.3 安装tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。安装步骤总览:
【步骤1】上传压缩包到Linux下并解压。
mkdir /opt/tomcat # 在Linux创建文件夹 # 通过xftp6上传apache-tomcat-8.5.59.tar.gz到/opt/tomcat下 cd /opt/tomcat # 定位到安装包目录 tar -zxvf apache-tomcat-8.5.59.tar.gz # 解压
- tomcat压缩包下载方法可以参考CSDN博文“如何去官网上下载tomcat的linux版本”。
- tomcat官方下载地址为:https://tomcat.apache.org/
【步骤2】进入解压目录
/bin
,启动./startup.sh
。cd ./apache-tomcat-8.5.59/bin # 进入安装目录 ./startup.sh # 启动安装进程
【步骤3】打开防火墙8080端口。
firewall-cmd --permanent --add-port=8080/tcp # 打开端口 firewall-cmd --reload # 重载防火墙,使上述设置生效!
【步骤4】测试是否安装成功。假设现在的Linux虚拟机IP地址为
192.168.127.130
。
- 方式1:Windows浏览器访问
192.168.127.130:8080
,看看是否能连通。- 方式2:在tomcat的默认访问目录
./apache-tomcat-8.5.59/webapps/ROOT
下创建文件hello.html
,然后使用Windows浏览器访问该文件192.168.127.130:8080/hello.html
。- 上面两个方式的测试原理如下图:
下面是Linux终端的实操演示:
# 【步骤1】上传压缩包到Linux下并解压。
[root@CentOS76 ~]# mkdir /opt/tomcat
# xftp上传文件apache-tomcat-8.5.59.tar.gz到/opt/tomcat
[root@CentOS76 ~]# cd /opt/tomcat
[root@CentOS76 tomcat]# ll
总用量 10188
-rw-r--r--. 1 root root 10432020 7月 28 15:55 apache-tomcat-8.5.59.tar.gz
[root@CentOS76 tomcat]# tar -zxvf apache-tomcat-8.5.59.tar.gz
apache-tomcat-8.5.59/conf/
apache-tomcat-8.5.59/conf/catalina.policy
apache-tomcat-8.5.59/conf/catalina.properties
apache-tomcat-8.5.59/conf/context.xml
# 下面的一大串安装显示界面就省略了
[root@CentOS76 tomcat]# ll
总用量 10192
drwxr-xr-x. 9 root root 4096 7月 28 15:58 apache-tomcat-8.5.59
-rw-r--r--. 1 root root 10432020 7月 28 15:55 apache-tomcat-8.5.59.tar.gz# 【步骤2】进入解压目录/bin,启动tomcat ./startup.sh。
[root@CentOS76 tomcat]# cd ./apache-tomcat-8.5.59
[root@CentOS76 apache-tomcat-8.5.59]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@CentOS76 apache-tomcat-8.5.59]# cd ./bin
[root@CentOS76 bin]# ls
bootstrap.jar commons-daemon-native.tar.gz setclasspath.sh tool-wrapper.bat
catalina.bat configtest.bat shutdown.bat tool-wrapper.sh
catalina.sh configtest.sh shutdown.sh version.bat
catalina-tasks.xml daemon.sh startup.bat version.sh
ciphers.bat digest.bat startup.sh
ciphers.sh digest.sh tomcat-juli.jar
commons-daemon.jar setclasspath.bat tomcat-native.tar.gz
[root@CentOS76 bin]# ./startup.sh
Using CATALINA_BASE: /opt/tomcat/apache-tomcat-8.5.59
Using CATALINA_HOME: /opt/tomcat/apache-tomcat-8.5.59
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-8.5.59/temp
Using JRE_HOME: /usr/local/java/jdk1.8.0_261
Using CLASSPATH: /opt/tomcat/apache-tomcat-8.5.59/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.5.59/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.# 【步骤3】打开防火墙8080端口。
[root@CentOS76 bin]# firewall-cmd --permanent --add-port=8080/tcp
success
[root@CentOS76 bin]# firewall-cmd --reload
success
[root@CentOS76 bin]# firewall-cmd --query-port=8080/tcp
yes# 【步骤4】测试是否安装成功。
# 方式1:使用Windows浏览器访问192.168.137.130:8080,观察能否看到下图16-3。
# 方式2:创建文件./apache-tomcat-8.5.59/webapps/ROOT/hello.html,然后使用Windows浏览器访问192.168.137.130:8080/hello.html,观察能否看到下图16-4。
[root@CentOS76 bin]# cd ..
[root@CentOS76 apache-tomcat-8.5.59]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@CentOS76 apache-tomcat-8.5.59]# cd ./webapps
[root@CentOS76 webapps]# ls
docs examples host-manager manager ROOT
[root@CentOS76 webapps]# cd ./ROOT #进入其默认的访问目录
[root@CentOS76 ROOT]# ls
asf-logo-wide.svg bg-nav.png index.jsp tomcat.gif tomcat.svg
bg-button.png bg-upper.png RELEASE-NOTES.txt tomcat.png WEB-INF
bg-middle.png favicon.ico tomcat.css tomcat-power.gif
[root@CentOS76 ROOT]# vim hello.html
################################
# 添加下面的这句话:
# <h1>hello,tomcat!</h1>
################################
# 然后返回Windows浏览器,访问192.168.137.130:8080/hello.html


16.4 安装idea2020
idea全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。但实际上很少直接在Linux下使用idea进行开发,一般都是在Windows下开发完了之后,将代码文件上传到Linux系统中。安装步骤总览:
【步骤1】上传压缩包到Linux下并解压。
mkdir /opt/idea # 在Linux创建文件夹 # 通过xftp6上传ideaIU-2020.2.3.tar.gz到/opt/idea下 cd /opt/idea # 定位到安装包目录 tar -zxvf ideaIU-2020.2.3.tar.gz # 解压
- idea官方下载地址为:https://www.jetbrains.com/idea/download
- 注意下载Linux版本的安装包。
【步骤2】登录图形界面的终端,进入解压目录
/bin
,启动./idea.sh
。cd /opt/idea/idea-IU-202.7660.26/bin/ # 进入安装目录 ./idea.sh # 启动安装进程
【步骤3】安装idea图形化窗口,并编写Hello world程序已验证安装成功。
下面是Linux终端的实操演示:
# 【步骤1】上传压缩包到Linux下并解压。
[root@CentOS76 ~]# mkdir /opt/idea
# xftp上传文件ideaIU-2020.2.3.tar.gz到/opt/idea
[root@CentOS76 ~]# cd /opt/idea
[root@CentOS76 idea]# ll
总用量 791356
-rw-r--r--. 1 root root 810342586 7月 28 16:22 ideaIU-2020.2.3.tar.gz
[root@CentOS76 idea]# tar -zxvf ideaIU-2020.2.3.tar.gz
idea-IU-202.7660.26/bin/appletviewer.policy
idea-IU-202.7660.26/bin/idea.svg
idea-IU-202.7660.26/bin/log.xml
idea-IU-202.7660.26/help/ReferenceCard.pdf
# 下面的一大串安装显示界面就省略了
[root@CentOS76 idea]# ll
总用量 791360
-rw-r--r--. 1 root root 810342586 7月 28 16:22 ideaIU-2020.2.3.tar.gz
drwxr-xr-x. 9 root root 4096 7月 28 16:23 idea-IU-202.7660.26# 【步骤2】登录图形界面的终端,进入解压目录```/bin```,启动```./idea.sh```。
[root@CentOS76 ~]# cd /opt/idea/idea-IU-202.7660.26/bin/
[root@CentOS76 bin]# ls
appletviewer.policy idea64.vmoptions idea.svg log.xml
format.sh idea.png idea.vmoptions printenv.py
fsnotifier idea.properties inspect.sh restart.py
fsnotifier64 idea.sh libdbm64.so
[root@CentOS76 bin]# ./idea.sh# 【步骤3】安装idea图形化窗口,并编写Hello world程序已验证安装成功。
# 接下来的操作就可以如下图所示一步步操作,最后控制台正常输出结果就算是idea安装成功。











*16.5 安装mysql5.7
本节前面表星号表明是重点。MySQL是最流行的关系型数据库管理系统之一。那为什么JavaEE环境配置要安装mysql呢?是因为做JavaEE开发肯定是需要数据库的,而Linux是数据库开发的最主流的环境,所以Linux下安装mysql很常见。安装步骤总览:
本节可以参考老韩提供的文件:“韩顺平教育–centos安装mysql5.7.docx”。
【步骤1】上传压缩包到Linux下并解压。mkdir /opt/mysql # 在Linux创建文件夹 # 通过xftp6上传mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar到/opt/mysql下 cd /opt/mysql # 定位到安装包目录 tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar # 解压
- 官网下载地址:https://downloads.mysql.com/archives/community/
- 也可以通过
wget
指令,在网络直接获取安装包,但有可能会失败:
wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
【步骤2】删除数据库mariadb。centos7.6自带的类mysql数据库是mariadb,会跟mysql冲突,要先删除。
rpm -qa | grep mari # 寻找要删除的数据库 rpm -e --nodeps mariadb-libs # 根据上述寻找结果,删除mariadb-libs rpm -e --nodeps marisa # 根据上述寻找结果,删除marisa rpm -qa | grep mari # 确认删除完毕
【步骤3】真正开始安装mysql。在mysql安装包文件夹
/opt/mysql
下依次运行以下四条即可。rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
【步骤4】启动mysql,并重新设置mysql的root密码。
systemctl start mysqld.service # 启动mysql grep "password" /var/log/mysqld.log # 查看mysql设置的随机root密码 mysql -u root -p # 进入mysql set global validate_password_policy=0; # 改变密码策略为0 set password for 'root'@'localhost' =password('rootroot'); # 设置新密码为rootroot flush privileges; # 使密码设置生效 quit # 退出mysql
- mysql安装完毕会自动给root用户设置随机密码。
- mysql的密码策略为以下三种:
低(
0
/LOW
):只要求长度(默认最少8位)。
中(1
/MEDIUM
):要求长度、数字、大小写、特殊字符。
高(2
/STRONG
):要求长度、数字、大小写、特殊字符、字典文件。【步骤5】重新登录并玩一玩mysql。比如创建一个表格之类的。
mysql -u root -p # 登录mysql # 注意这里要输入新设置的密码rootroot show databases; # 显示当前数据库 create database mydata; # 创建新的数据库 use mydata; # 使用该数据库 create table myorder(id int, name varchar(32)); # 创建表格 select * from myorder; # 显示表格信息 insert into myorder values(100, 'dog'); # 添加表格数据 select * from myorder; # 显示表格信息 quit # 退出mysql
下面是Linux终端的实操演示:
# 【步骤1】上传压缩包到Linux下并解压。
[root@CentOS76 ~]# mkdir /opt/mysql
# xftp上传文件mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar到/opt/mysql
[root@CentOS76 ~]# cd /opt/mysql/
[root@CentOS76 mysql]# ls
mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
[root@CentOS76 mysql]# tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpm
# 解压过程略
[root@CentOS76 mysql]# ls
mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-5.7.26-1.el7.x86_64.rpm
mysql-community-common-5.7.26-1.el7.x86_64.rpm
mysql-community-devel-5.7.26-1.el7.x86_64.rpm
mysql-community-embedded-5.7.26-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.26-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpm
mysql-community-libs-5.7.26-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
mysql-community-server-5.7.26-1.el7.x86_64.rpm
mysql-community-test-5.7.26-1.el7.x86_64.rpm# 【步骤2】删除数据库mariadb。
[root@CentOS76 mysql]# rpm -qa | grep mari
mariadb-libs-5.5.68-1.el7.x86_64
marisa-0.2.4-4.el7.x86_64
[root@CentOS76 mysql]# rpm -e --nodeps mariadb-libs
[root@CentOS76 mysql]# rpm -e --nodeps marisa
[root@CentOS76 mysql]# rpm -qa | grep mari# 【步骤3】真正开始安装mysql。在mysql安装包文件夹/opt/mysql下依次运行以下四条即可。
[root@CentOS76 mysql]# rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
警告:mysql-community-common-5.7.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:mysql-community-common-5.7.26-1.e################################# [100%]
[root@CentOS76 mysql]# rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:mysql-community-libs-5.7.26-1.el7################################# [100%]
[root@CentOS76 mysql]# rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
警告:mysql-community-client-5.7.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:mysql-community-client-5.7.26-1.e################################# [100%]
[root@CentOS76 mysql]# rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:mysql-community-server-5.7.26-1.e################################# [100%]# 【步骤4】启动mysql,并重新设置mysql的root密码。
[root@CentOS76 mysql]# systemctl start mysqld.service
[root@CentOS76 mysql]# grep "password" /var/log/mysqld.log
2023-07-28T09:17:09.641686Z 1 [Note] A temporary password is generated for root@localhost: <>j1c:VR&pur
# 显然当前随机设置的密码为:<>j1c:VR&pur
[root@CentOS76 mysql]# mysql -u root -p
Enter password: # 注:这里的密码建议直接从前面复制,而不要自己敲键盘
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.26Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> set global validate_password_policy=0; # 改变密码策略
Query OK, 0 rows affected (0.01 sec)mysql> set password for 'root'@'localhost' =password('rootroot'); # 设置新密码为rootroot
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> flush privileges; # 使密码设置生效
Query OK, 0 rows affected (0.00 sec)mysql> quit
Bye# 【步骤5】重新登录并玩一玩mysql。比如创建一个表格之类的。
[root@CentOS76 mysql]# mysql -u root -p
Enter password: # 注意这里要输入新设置的密码rootroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.26 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)mysql> create database mydata;
Query OK, 1 row affected (0.00 sec)mysql> use mydata;
Database changed
mysql> create table myorder(id int, name varchar(32));
Query OK, 0 rows affected (0.02 sec)mysql> select * from myorder;
Empty set (0.02 sec)mysql> insert into myorder values(100, 'dog');
Query OK, 1 row affected (0.00 sec)mysql> select * from myorder;
+------+------+
| id | name |
+------+------+
| 100 | dog |
+------+------+
1 row in set (0.00 sec)mysql> quit
Bye
[root@CentOS76 mysql]#
《鸟哥的Linux私房菜 基础学习篇 第四版》 ↩︎
《鸟哥的Linux私房菜 服务器架设篇 第三版》 ↩︎
《韩顺平_2021图解Linux全面升级》 ↩︎
相关文章:

16 Linux之JavaEE定制篇-搭建JavaEE环境
16 Linux之JavaEE定制篇-搭建JavaEE环境 文章目录 16 Linux之JavaEE定制篇-搭建JavaEE环境16.1 概述16.2 安装JDK16.3 安装tomcat16.4 安装idea2020*16.5 安装mysql5.7 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。可能会用到的资料有如下所示࿰…...

AI人员打闹监测识别算法
AI人员打闹监测识别算法通过yolopython网络模型框架算法, AI人员打闹监测识别算法能够准确判断出是否有人员进行打闹行为,算法会立即发出预警信号。Yolo算法,其全称是You Only Look Once: Unified, Real-Time Object Detection,其…...

如何使用CRM系统进行精细化管理客户?
客户是企业的生命线,对客户进行精细化管理,是提高企业收益的关键。那么,如何进行客户管理?CRM系统可以实现精细化管理客户,提升客户的价值。下面我们就来详细说一说。 1、获取客户信息 Zoho CRM系统可以通过web表单、…...

20230829工作心得:如何把大List 切割为多个小List?
1 怎么看这个方法谁在调用它? 解决:按ctrl,然后点进去看。 idea里看方法的具体细节,和谁在调用这个方法,都可以通过按ctrl,然后单击查看。 2 请求的时候,如果时间yyyy-MM-dd HH:mm:ss在url里会…...

基于YOLOV8模型的阶梯和工人目标检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOV8模型的阶梯和工人目标检测系统可用于日常生活中检测与定位工人、梯子目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算…...

Nginx特性应用及载装
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:网易、腾讯、阿里等。 …...

vue3+ts组件通信
1、父组件向组件传参 父组件代码 子组件代码 2、子组件向父组件传参 组件间代码 父组件代码 3、如果eslint报错,需在.eslintrc.js中添加一行代码 4、通过父组件通过 ref 获取子组件的属性或者方法 父组件代码 子组件代码 5、孙子组件provide和inject 父组件…...

基于卷积优化算法优化的BP神经网络(预测应用) - 附代码
基于卷积优化算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于卷积优化算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.卷积优化优化BP神经网络2.1 BP神经网络参数设置2.2 卷积优化算法应用 4.测试结果:5…...

《论文阅读18》JoKDNet
一、论文 研究领域:用于大尺度室外TLS点云配准的联合关键点检测和特征表达网络论文:JoKDNet: A joint keypoint detection and description network for large-scale outdoor TLS point clouds registration International Journal of Applied Earth Ob…...

buuctf [CISCN 2019 初赛]Love Math
这题主要利用了php的一些特性 变量函数数字转字符串 源码 <?php error_reporting(0); //听说你很喜欢数学,不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {…...

GraphQL渗透测试案例及防御办法
什么是GraphQL GraphQL 是一种 API 查询语言,旨在促进客户端和服务器之间的高效通信。它使用户能够准确指定他们在响应中所需的数据,从而有助于避免有时使用 REST API 看到的大型响应对象和多个调用。 GraphQL 服务定义了一个合约,客户端可…...

Hive SQL 优化大全(参数配置、语法优化)
文章目录 参数配置优化yarn-site.xml 配置文件优化mapred-site.xml 配置文件优化 分组聚合优化 —— Map-Side优化参数解析优化案例 服务器环境说明 机器名称内网IP内存CPU承载服务master192.168.10.1084NodeManager、DataNode、NameNode、JobHistoryServer、Hive、HiveServer…...

go锁-waitgroup
如果被等待的协程没了,直接返回 否则,waiter加一,陷入sema add counter 被等待协程没做完,或者没人在等待,返回 被等待协程都做完,且有人在等待,唤醒所有sema中的协程 WaitGroup实现了一组协程…...

访问0xdddddddd内存地址引发软件崩溃的问题排查
目录 1、问题描述 2、访问空指针或者野指针 3、常见的异常值 4、0xdddddddd内存访问违例问题分析与排查 5、关于0xcdcdcdcd和0xfeeefeee异常值的排查案例 6、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)ht…...

Java从入门到精通-流程控制(一)
流程控制 1.复合语句 复合语句,也称为代码块,是一组Java语句,用大括号 {} 括起来,它们可以被视为单个语句。复合语句通常用于以下情况: - 在控制结构(如条件语句和循环)中包含多个语句。 - …...

MybatisPlus(2)
前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 上篇我们简单介绍了MybatisPlus的方便之处,这篇来深入了解Myb…...

iOS UITableView上拉加载解决偶然跳动的Bug
最近做项目,测试测出来一个Bug,列表添加了上拉刷新和下拉加载,当我弹窗消失时,调用刷新列表后,在某个手机型号上,偶发列表刷新跳动的bug。(一般在列表上拉加载刷新到最后一页后,再弹窗消失,reload列表,会出现此bug) Bug复现如下:RPReplay_Final1693296737 解决方案…...

MySQL 外键使用详解
1、MySQL 外键约束语法 MySQL 支持外键,允许在表之间进行相关数据的交叉引用,并有助于保持相关数据的一致性。 一个外键关系涉及到一个父表,该父表保存初始列值,和一个子表,子表的列值引用父表的列值。外键约束定义在…...

MongoDB实验——在MongoDB集合中查找文档
在MongoDB集合中查找文档 一、实验目的二、实验原理三、实验步骤1.启动MongoDB数据库、启动MongoDB Shell客户端2.数据准备-->person.json3.指定返回的键4 .包含或不包含 i n 或 in 或 in或nin、$elemMatch(匹配数组)5.OR 查询 $or6.Null、$exists7.…...

事务的总结
数据库事务 数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行,要么完全不执行。事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性描述…...

[ROS]yolov5-7.0部署ROS
YOLOv5是一种目标检测算法,它是YOLO(You Only Look Once)系列算法的最新版本。与其它目标检测算法相比,YOLOv5在速度和准确性方面取得了显著的提升。在ROS(Robot Operating System)中使用Python部署YOLOv5可…...

Java抽象方法、抽象类和接口——第七讲
前言 上一讲,我们深入了解面向对象,介绍了面向对象有三个特征——封装、继承、多态,以及介绍方法的重载和重写,这些都是开发中很常用的特征,基本都尊重面向对象思想。再上一讲我们了解到了继承的时候,子类要重新写父类的方法,才能遵循子类的规则,那么忘记重写怎么办呢?…...

kafka集群之kraft模式
一、概要 Kafka作为一种高吞吐量的分布式发布订阅消息系统,在消息应用中广泛使用,尤其在需要实时数据处理和应用程序活动跟踪的场景,kafka已成为首选服务;在Kafka2.8之前,Kafka强依赖zookeeper来来负责集群元数据的管理…...

虹科案例 | 缆索挖掘机维护—小传感器,大作用!
一、 应用背景 缆索挖掘机 缆索挖掘机的特点是具有坚固的部件,如上部结构、回转环和底盘。底盘是用于移动挖掘机的下部机械部件,根据尺寸和型号的不同,由轮子或履带引导,并承载可转动的上部车厢。回转环连接上部和下部机器部件&am…...

Windows安装FFmpeg说明
下载地址 官网 Download FFmpeg Csdn ffmpeg安装包,ffmpeg-2023-08-28-git-b5273c619d-full-build.7z资源-CSDN文库 解压安装,添加环境变量 命令行输入ffmpeg 安装成功...

电子电路原理题目整理(1)
电子电路原理题目整理(1) 最近在学习《电子电路原理》,记录一下书后面试题目,答案为个人总结,欢迎讨论。 1.电压源和电流源的区别? 电压源在不同的负载电阻下可提供恒定的负载电压,而电流源对于…...

iPhone 15预售:获取关键信息
既然苹果公司将于9月12日正式举办iPhone 15发布会,我们了解所有新机型只是时间问题。如果你是苹果的狂热粉丝,或者只是一个早期用户,那么活动结束后,你会想把所有的注意力都集中在iPhone 15的预购上——这样你就可以保证自己在发布日会有一款机型。 有很多理由对今年的iPh…...

Kind创建本地环境安装Ingress
目录 1.K8s什么要使用Ingress 2.在本地K8s集群安装Nginx Ingress controller 2.1.使用Kind创建本地集群 2.1.1.创建kind配置文件 2.1.2.执行创建命令 2.2.找到和当前k8s版本匹配的Ingress版本 2.2.1.查看当前的K8s版本 2.2.2.在官网中找到对应的合适版本 2.3.按照版本安…...

MySQL与Oracle数据库通过系统命令导出导入
MySQL导出 mysqldump -uroot -ppassword 库名 表名 --where"s_dtend<2023-05-01 00:00:00 and s_dtend>2023-01-01 00:00:00 and (i_mbr!10000 OR (i_mbr 10000 AND I_ACTV IN (SELECT I_ACTV FROM t_mk_activity WHERE S_DTEND < 2023-05-01 00:00:00)))"…...

从零学算法(剑指 Offer 36)
123.输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。…...