当前位置: 首页 > news >正文

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。
  • 可能会用到的资料有如下所示,下载链接见文末:
  1. 《鸟哥的Linux私房菜 基础学习篇 第四版》1
  2. 《鸟哥的Linux私房菜 服务器架设篇 第三版》2
  3. 《韩顺平_2021图解Linux全面升级》3

16.1 概述

  本章来介绍如何在Linux系统下,安装JavaEE的开发环境。下面是本章所需要的安装包示意图:

图16-1 Linux配置Java环境所需要的安装包

因为CentOS已经安装好了,所以本章需要的需要在Linux系统上安装的四个软件:JDKtomcatideamysql
下面四个小节来依次介绍。

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 728 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 618 2020 jdk1.8.0_261
-rw-r--r--. 1 root  root  143111803 728 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 728 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 618 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系统
监听
访问
tomcat进程
端口8080
Windows浏览器
图16-2 Windows访问tomcat示意图

下面是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 728 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 728 15:58 apache-tomcat-8.5.59
-rw-r--r--. 1 root root 10432020 728 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-3 tomcat访问成功示意图
图16-4 tomcat访问文件成功

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 728 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 728 16:22 ideaIU-2020.2.3.tar.gz
drwxr-xr-x. 9 root root      4096 728 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 ieda新建Java文件演示

*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]# 

  1. 《鸟哥的Linux私房菜 基础学习篇 第四版》 ↩︎

  2. 《鸟哥的Linux私房菜 服务器架设篇 第三版》 ↩︎

  3. 《韩顺平_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。可能会用到的资料有如下所示&#xff0…...

AI人员打闹监测识别算法

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

如何使用CRM系统进行精细化管理客户?

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

20230829工作心得:如何把大List 切割为多个小List?

1 怎么看这个方法谁在调用它&#xff1f; 解决&#xff1a;按ctrl&#xff0c;然后点进去看。 idea里看方法的具体细节&#xff0c;和谁在调用这个方法&#xff0c;都可以通过按ctrl&#xff0c;然后单击查看。 2 请求的时候&#xff0c;如果时间yyyy-MM-dd HH:mm:ss在url里会…...

基于YOLOV8模型的阶梯和工人目标检测系统(PyTorch+Pyside6+YOLOv8模型)

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

Nginx特性应用及载装

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

vue3+ts组件通信

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

基于卷积优化算法优化的BP神经网络(预测应用) - 附代码

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

《论文阅读18》JoKDNet

一、论文 研究领域&#xff1a;用于大尺度室外TLS点云配准的联合关键点检测和特征表达网络论文&#xff1a;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); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {…...

GraphQL渗透测试案例及防御办法

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

Hive SQL 优化大全(参数配置、语法优化)

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

go锁-waitgroup

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

访问0xdddddddd内存地址引发软件崩溃的问题排查

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

Java从入门到精通-流程控制(一)

流程控制 1.复合语句 复合语句&#xff0c;也称为代码块&#xff0c;是一组Java语句&#xff0c;用大括号 {} 括起来&#xff0c;它们可以被视为单个语句。复合语句通常用于以下情况&#xff1a; - 在控制结构&#xff08;如条件语句和循环&#xff09;中包含多个语句。 - …...

MybatisPlus(2)

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

iOS UITableView上拉加载解决偶然跳动的Bug

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

MySQL 外键使用详解

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

MongoDB实验——在MongoDB集合中查找文档

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

事务的总结

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

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权

摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题&#xff1a;安全。文章将详细阐述认证&#xff08;Authentication) 与授权&#xff08;Authorization的核心概念&#xff0c;对比传统 Session-Cookie 与现代 JWT&#xff08;JS…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...

基于 HTTP 的单向流式通信协议SSE详解

SSE&#xff08;Server-Sent Events&#xff09;详解 &#x1f9e0; 什么是 SSE&#xff1f; SSE&#xff08;Server-Sent Events&#xff09; 是 HTML5 标准中定义的一种通信机制&#xff0c;它允许服务器主动将事件推送给客户端&#xff08;浏览器&#xff09;。与传统的 H…...

使用 uv 工具快速部署并管理 vLLM 推理环境

uv&#xff1a;现代 Python 项目管理的高效助手 uv&#xff1a;Rust 驱动的 Python 包管理新时代 在部署大语言模型&#xff08;LLM&#xff09;推理服务时&#xff0c;vLLM 是一个备受关注的方案&#xff0c;具备高吞吐、低延迟和对 OpenAI API 的良好兼容性。为了提高部署效…...

TI德州仪器TPS3103K33DBVR低功耗电压监控器IC电源管理芯片详细解析

1. 基本介绍 TPS3103K33DBVR 是 德州仪器&#xff08;Texas Instruments, TI&#xff09; 推出的一款 低功耗电压监控器&#xff08;Supervisor IC&#xff09;&#xff0c;属于 电源管理芯片&#xff08;PMIC&#xff09; 类别&#xff0c;主要用于 系统复位和电压监测。 2. …...