当前位置: 首页 > 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;以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性描述…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...