超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建

  • JDK安装
    • ① 卸载本机自带jdk
    • ② 上传jdk压缩包并解压
    • ③ 配置jdk环境变量
    • ④ 注销当前用户重新登陆
    • ⑤ 编译java文件并运行
  • tomcat安装
    • ① 上传tomcat
    • ② 解压并启动tomcat
    • ③ 开放8080端口
  • MySQL安装
    • ① 卸载本机MySQL
    • ② 解压MySQL压缩包并移动
    • ③ 创建MySQL用户和组
    • ④ 修改mysql目录用户权限
    • ⑤ 安装libaio依赖包
    • ⑥ 编辑MySQL配置文件
    • ⑦ 初始化MySQL服务
    • ⑧ 启动MySQL服务
    • tip: 远程访问MySQL 无法连接问题

本文以centOS7为例

JDK安装

① 卸载本机自带jdk

查看本机是否有安装jdk:

java -version

在这里插入图片描述
有则卸载,没有就跳过这一步:
在这里插入图片描述
在这里插入图片描述

② 上传jdk压缩包并解压

ps: 使用Xftp7工具连接虚拟机并上传本地文件

1.上传jdk压缩包:

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第1张图片
2.使用tar命令解压jdk压缩包:
在这里插入图片描述
3.此时该目录下会产生一个jdk文件夹:
在这里插入图片描述

③ 配置jdk环境变量

编辑/etc/profile文件并添加以下内容后保存退出:
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第2张图片

#添加内容:
JAVA_HOME=/opt/jdk1.8(请修改为你的jdk目录路径)

#解释
# $PATH:意思是在当前环境变量 PATH 尾部追加这个路径 冒号”:“表示追加 连接的意思
PATH=$PATH:/opt/jdk1.8/bin(请修改为你的jdk/bin目录路径)

export JAVA_HOME PATH # 暴露环境变量
#修改完成后保存退出

④ 注销当前用户重新登陆

以下方式二选一:

  1. 注销当前用户:logout
  2. 重新加载环境变量配置文件source /etc/profile (推荐)

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第3张图片

⑤ 编译java文件并运行

在这里插入图片描述

tomcat安装

① 上传tomcat

同jdk使用Xftp7 这里就不再演示

② 解压并启动tomcat

解压:tar -zxvf apache-tomcat-7.0.70.tar.gz

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第4张图片

③ 开放8080端口

1.查看开放端口

命令:firewall-cmd --list-ports
发现并没有开放8080端口
在这里插入图片描述

2.添加8080端口

添加端口
命令:firewall-cmd --add-port=8080/tcp --permanent
说明:
–add-port 添加端口
tcp 通讯协议
–peymanent 永久添加
ps:移除开放端口
firewall-cmd --remove-port=8080/tcp --permanent

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第5张图片

重新加载防火墙,设置才生效
命令:firewall-cmd --reload

这样 主机就可以访问虚拟机Linux上的tomcat了

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第6张图片

MySQL安装

① 卸载本机MySQL

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第7张图片

使用命令 rpm -qa | grep mysql 查看本机是否有安装MySQL
有的话请使用 rpm -e mysql软件包名 删除mysql(若存在依赖 请添加参数 --nodeps)

② 解压MySQL压缩包并移动

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第8张图片

解压 tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

在这里插入图片描述

将解压目录移动至 /usr/local下(专门存放用户安装软件的目录) 并重命名为mysql5.7.35
移动mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql5.7.35

③ 创建MySQL用户和组

在这里插入图片描述

创建组 groupadd mysql
创建用户并添加进组 useradd -g mysql mysql

④ 修改mysql目录用户权限

在此之前,请在mysql5.7.35目录中创建一个data目录用于存放mysql数据库数据文件
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第9张图片
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第10张图片

创建data目录 mkdir data
将mysql5.7.35目录及其所有子目录(-R)的用户权限改为 属于mysql用户及mysql用户组
修改权限 chown -R mysql:mysql …/mysql5.7.35

⑤ 安装libaio依赖包

在这里插入图片描述

使用命令 rpm -qa | grep libaio 查看本机是否安装了libaio依赖包
因为我本机已自带了libaio依赖包 所以不安装 没有的请执行以下命令进行安装
安装命令: yum install libaio

⑥ 编辑MySQL配置文件

vim /etc/my.cnf

配置文件里所有配置的文件位置必须真实存在 不存在的需要手动创建!!!!!!!

[mysqld]
basedir=/usr/local/mysql5.7.35								#mysql安装路径
datadir=/usr/local/mysql5.7.35/data							#mysql存放数据库数据路径
socket=/tmp/mysql.sock										#连接文件
port=3306													#启动端口号
user=mysql
character-set-server=utf8
symbolic-links=0

[mysqld_safe]
log-error=/usr/local/mysql5.7.35/data/mariadb/mariadb.log		#可根据需求修改
pid-file=/usr/local/mysql5.7.35/data/mariadb/mariadb.pid		#可根据需求修改

!includedir /etc/my.cnf.d

mysql.sock的作用是server和client在同一台服务器 并且使用localhost进行链接的时候 就会使用socket来进行连接

⑦ 初始化MySQL服务

前提: 进入mysql目录下的bin目录

cd /usr/local/mysql5.7.35/bin

初始化MySQL命令:

mysqld --user=mysql --basedir=/usr/local/mysql5.7.35 --datadir=/usr/local/mysql5.7.35/data --initialize
请注意 basedir是mysql安装路径 datadir是mysql存放数据库数据的data目录路径

若出现以下情况 报mysqld命令无法找到在这里插入图片描述
请编辑 vim /etc/profile文件 添加PATH内容为mysql安装目录的bin目录 如:/usr/local/mysql5.7.35/bin 再保存退出 执行刷新命令使配置生效即可
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第11张图片

这样做的目的是:我们可以在任何目录下都能执行mysql指令 而不需要再进入mysql安装目录bin目录下
添加环境变量 PATH=$PATH:/usr/local/mysql5.7.35
刷新命令:source /etc/profile

初始化完成:需记录mysql初始化密码 在初次登陆mysql服务时需要使用
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第12张图片

⑧ 启动MySQL服务

将mysql安装目录下support-files/mysql.server启动服务拷贝至/etc/init.d目录(开机初始化目录)

cp /usr/local/mysql5.7.35/support-files/mysql.server /etc/init.d/mysql.server

添加mysql服务为开机自启动
chkconfig --add /etc/init.d/mysql.server

查看服务:
chkconfig --list

修改服务运行级别
chkconfig --level [0,1,2,3,4,5,6] 服务名 [on/off]

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第13张图片

进入/etc/init.d目录 启动mysql服务

/etc/init.d/mysql.server start
或者
systemctl start mysql.server

小插曲:
由于我没有创建mariadb.log文件 以及没有给mariadb文件分配写权限 导致报错

Starting MySQL.2021-08-11T03:41:01.745782Z mysqld_safe error: log-error set to '/usr/local/mysql5.7.35/data/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/usr/local/mysql5.7.35/data/localhost.localdomain.pid).

在这里插入图片描述

请执行
touch /usr/local/mysql5.7.35/data/mariadb/mariadb.log 创建文件
chown -R mysql:mysql /usr/local/mysql5.7.35/data/mariadb 修改mariadb目录及其所有子目录的权限为mysql
chmod 766 mariadb.log mariadb.pid 给这两个文件的用户组与其他组 赋予写权限

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第14张图片
启动MySQL服务并进入MySQL:
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第15张图片
修改MySQL登陆密码及设置MySQL可远程连接:
超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第16张图片

以下命令单引号请使用英文字符
设置密码:
set password=password(‘123456’);
grant all privileges on *.* to root@’%’ identified by ‘123456’;

设置远程访问权限 所有ip都可以访问:
use mysql;
update user set host = ‘%’ where user = ‘root’;

刷新:
flush privileges;

tip: 远程访问MySQL 无法连接问题

请检查防火墙状态

systemctl status firewalld.service

超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建_第17张图片
防火墙启动中,则说明端口未开放,暴露3306端口即可
在这里插入图片描述

暴露端口:
firewall-cmd --add-port=3306/tcp --permanent

重新加载防火墙 使设置生效
firewall-cmd --reload

或者可以直接关闭防火墙(不推荐

systemctl stop firewalld.service

你可能感兴趣的:(Linux,环境部署,linux,mysql,jdk,tomcat,centos)