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 面向企业应用程序,以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性描述…...
如何用Bypass Paywalls Clean突破付费墙限制?技术解析与实战指南
如何用Bypass Paywalls Clean突破付费墙限制?技术解析与实战指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字内容付费墙日益严密的今天,Bypass Payw…...
5分钟精通B站音频提取:从新手到高手的开源工具实战指南
5分钟精通B站音频提取:从新手到高手的开源工具实战指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…...
源代码之下的硅基启示录——Claude Code“核泄漏”事件的深度剖析与时代回响
引言 公元2026年3月30日,一个看似平常的春日,硅基世界却迎来了一场史无前例的地震。 一家以“安全”为最高信条的AI公司,以一种最荒诞的方式,亲手打开了潘多拉的魔盒。Anthropic,这家估值高达3800亿美元的AI新贵&#…...
3步实现HTML到Word的智能转换:html-to-docx技术深度解析
3步实现HTML到Word的智能转换:html-to-docx技术深度解析 【免费下载链接】html-to-docx HTML to DOCX converter 项目地址: https://gitcode.com/gh_mirrors/ht/html-to-docx 你是否曾遇到过这样的场景?精心设计的网页报告需要转换为Word文档进行…...
网络安全的概念与规范:从基础到实践
网络安全的概念与规范:从基础到实践 在数字化浪潮席卷全球的今天,网络安全已成为国家安全的重要组成部分。本文将系统梳理网络安全的核心概念、发展历程、主要威胁、前沿趋势以及标准规范,帮助读者建立完整的网络安全知识体系。 一、网络安全…...
uboot移植实战:DDR初始化参数优化与调试指南
1. 理解DDR初始化在uboot移植中的重要性 第一次接触uboot移植时,我完全不明白为什么DDR初始化这么麻烦。直到有一次,我把开发板直接烧成砖头,才真正意识到这个环节有多关键。简单来说,DDR初始化就像是给电脑装内存条,但…...
STM32F4读写SD卡:填一填ST官方HAL库的坑
使用STM32读写SD卡在低功耗存储中的应用是比较常见的,但是网上大多数资料都是基于标准库或者基于寄存器的开发。随着嵌入式设备越来越复杂,使用HAL库能够大大降低开发者的学习成本,从而提高开发效率。近年来,ST官方主推以STM32Cub…...
大麦网自动抢票脚本:告别手速焦虑,轻松抢到心仪票务
大麦网自动抢票脚本:告别手速焦虑,轻松抢到心仪票务 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为抢不到演唱会门票而烦恼吗?每次…...
Android TTS开发避坑指南:为什么你的Google语音引擎播不出中文?从初始化到语音包管理的完整解决方案
Android TTS开发实战:解决Google语音引擎中文播报的7个关键问题 在移动应用开发中,文字转语音(TTS)功能正变得越来越重要。从无障碍辅助功能到语音导航、有声阅读,TTS技术为应用增添了更丰富的交互维度。然而,许多Android开发者在…...
LongCat-Video:136亿参数开源AI视频生成模型的技术突破与实践指南
LongCat-Video:136亿参数开源AI视频生成模型的技术突破与实践指南 【免费下载链接】LongCat-Video 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Video 在人工智能视频生成领域,长视频生成一直是技术挑战的制高点。传统…...
