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.26

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> 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全面升级》 ↩︎

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

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

相关文章

1.12 进程注入ShellCode套接字

在笔者前几篇文章中我们一直在探讨如何利用Metasploit这个渗透工具生成ShellCode以及如何将ShellCode注入到特定进程内&#xff0c;本章我们将自己实现一个正向ShellCodeShell&#xff0c;当进程被注入后&#xff0c;则我们可以通过利用NC等工具连接到被注入进程内&#xff0c;…

2022年09月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:城堡问题 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####—#####—#—#####—# 2 # # | # # # # # #—#####—#####—#####—# 3 # | | # # # # # #—#########—#####—#—# 4 # # | | | | # # ############################# (图 1) # = Wall …

【两个有序数组合并】

问题描述: 给定两个有序整数数组 A 和 B&#xff0c;将B合并到A中&#xff0c;使得 A 成为一个有序数组。 说明: 初始化 A 和 B 的元素数量分别为 m 和 n。A有足够的空间&#xff08;空间大小大于或等于 m n&#xff09;来保存 B 中的元素。默认升序。 输入输出描述&#xf…

使用HTTPS模式建立高效爬虫IP服务器详细步骤

嘿&#xff0c;各位爬虫小伙伴们&#xff01;想要自己建立一个高效的爬虫IP服务器吗&#xff1f;今天我就来分享一个简单而强大的解决方案——使用HTTPS模式建立工具&#xff01;本文将为你提供详细的操作步骤和代码示例&#xff0c;让你快速上手&#xff0c;轻松建立自己的爬虫…

【数据结构】队列---C语言版(详解!!!)

文章目录 &#x1f438;一、队列的概念及结构&#x1f344;1、队列的概念定义&#x1f344;2、动图演示 &#x1f438;二、队列的实现&#x1f438;三、链表结构队列详解&#x1f34e;创建队列的结构⭕接口1&#xff1a;定义结构体&#xff08;QNode、Queue&#xff09;⭕接口2…

构造函数和析构函数(个人学习笔记黑马学习)

构造函数:主要作用在于创建对象时为对象的成员属性赋值&#xff0c;构造函数由编译器自动调用&#xff0c;无须手动调用。析构函数:主要作用在于对象销毁前系统自动调用&#xff0c;执行一些清理工作。 #include <iostream> using namespace std;//对象初始化和清理class…

Nginx实现自签名SSL证书生成与配置

Nginx实现自签名SSL证书生成与配置 一、Nginx实现自签名SSL证书生成与配置1.名词介绍2.生成私钥3.生成公钥4.生成解密的私钥key5.签名生成证书6.配置证书并验证 二、总结 一、Nginx实现自签名SSL证书生成与配置 1.名词介绍 &#xff08;1&#xff09;key 私钥 明文–自己生成…

如何一键批量查询全部物流信息?

在日常工作中&#xff0c;快递物流信息的查询是一项常规任务。然而&#xff0c;这个过程往往既耗时又费力&#xff0c;尤其是在面对大量单号的情况下。为了解决这个问题&#xff0c;我们推荐使用固乔快递查询助手&#xff0c;一款能够快速、准确地查询快递物流信息的软件。 首先…

K8s:一文认知 CRI,OCI,容器运行时,Pod 之间的关系

写在前面 博文内容整体结构为结合 华为云云原生课程 整理而来,部分内容做了补充课程是免费的&#xff0c;有华为云账户就可以看&#xff0c;适合理论认知&#xff0c;感觉很不错。有需要的小伙伴可以看看&#xff0c;链接在文末理解不足小伙伴帮忙指正 对每个人而言&#xff0c…

R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例...

原文链接&#xff1a;http://tecdat.cn/?p23426 混合线性模型&#xff0c;又名多层线性模型(Hierarchical linear model)。它比较适合处理嵌套设计(nested)的实验和调查研究数据&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 序言 此外&#xff0…

Navicat16连接Oracle报错:Oracle library is not loaded

1、有时候我们在用navicat的时候连接oracle的时候&#xff0c;它会提示我们Oracle library is not loaded&#xff0c;这时候我们要首先验证本机上是否已安装oracle的客户端&#xff0c;如果已安装客户段&#xff0c;navicat中的oci.dll选择我们安装的客户段的oci.dll文件 2、…

实战:基于卷积的MNIST手写体分类

前面实现了基于多层感知机的MNIST手写体识别&#xff0c;本章将实现以卷积神经网络完成的MNIST手写体识别。 1. 数据的准备 在本例中&#xff0c;依旧使用MNIST数据集&#xff0c;对这个数据集的数据和标签介绍&#xff0c;前面的章节已详细说明过了&#xff0c;相对于前面章…

【USRP】集成化仪器系列2 :示波器,基于labview实现

USRP 示波器 1、设备IP地址&#xff1a;默认为192.168.10.2&#xff0c;请勿 修改&#xff0c;运行阶段无法修改。 2、中心频率&#xff1a;当需要生成不同频率单载波的 时候请直接修改中心频率&#xff0c;在运行的时候您 也可以直接修改中心频率。 3、接收增益&#xff1a;…

Java与其他编程语言比较分析,编程语言选择与优点、缺点和适用场景详解

原文地址&#xff1a;Java与其他编程语言比较分析&#xff0c;编程语言选择与优点、缺点和适用场景详解 Java 擅长可移植性和可靠性&#xff0c;Python 擅长通用性和简单性&#xff0c;JavaScript 擅长 Web 开发&#xff0c;C 擅长性能&#xff0c;Go 擅长效率。网址:yii666.c…

大数据Flink简介与架构剖析并搭建基础运行环境

文章目录 前言Flink 简介Flink 集群剖析Flink应用场景Flink基础运行环境搭建Docker安装docker-compose文件编写创建并运行容器访问Flink web界面 前言 前面我们分别介绍了大数据计算框架Hadoop与Spark,虽然他们有的有着良好的分布式文件系统和分布式计算引擎&#xff0c;有的有…

内部类总结

内部类 1、内部类介绍&#xff1a; 外 2、成员内部类&#xff1a; 3、静态内部类 4、局部内部类&#xff1a; 5、匿名内部类&#xff1a;

以antd为例 React+Typescript 引入第三方UI库

本文 我们来说说 第三方UI库 其实应用市场上的 第三方UI库都是非常优秀的 那么 react 我们比较熟的肯定还是 antd 我们还是来用它作为演示 这边 我们先访问他的官网 https://3x.ant.design/index-cn 点击开始使用 在左侧 有一个 在 TypeScript 中使用 通过图标我们也可以看出…

前端面试必备 | uni-app 篇(P1-15)

文章目录 1. 请简述一下uni-app的定义和特点。2. uni-app兼容哪些前端框架&#xff1f;请列举几个。3. 请简述一下uni-app的跨平台工作原理。4. 什么是条件编译&#xff1f;在uni-app中如何实现条件编译&#xff1f;5. uni-app中的页面生命周期有哪些&#xff1f;请简要介绍。6…

word 调整列表缩进

word 调整列表缩进的一种方法&#xff0c;在试了其他方法无效后&#xff0c;按下图所示顺序处理&#xff0c;编号和文字之间的空白就没那么大了。 即右键word上方样式->点击修改格式->定义新编号格式->字体->取消勾选 “……对齐到网格”->确定

Redis-监听过期key-JAVA实现方案

一、创建监听配置类 RedisListenerConfig。 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.d…