【Linux安装Mysql、JDK、Tomcat、NodeJS、Nginx】

一、安装Mysql

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 官方文档
没安装Xshell 和 Xftp的小伙伴可以看这里
Xshell 和 Xftp::https://pan.baidu.com/s/1tgocuEIWr9hMM_70GOt2NA?pwd=1234

1.1 设置阿里云镜像源

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11REy9PF

#1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

#2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#3. 运行 yum makecache 生成缓存
yum makecache

#4. 安装wget(如果有了就不需要安装了)
yum -y install wget

1.2 安装Mysql

#下载发布包
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

#安装发布包
rpm -ivh mysql80-community-release-el7-6.noarch.rpm

#查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用
yum repolist all | grep mysql
选择默认安装的版本,默认的是8.0 版本,这里需要禁用掉启动5.7,也可以进行修改,不过无所谓,用8.0就可以

#安装mysql
yum -y install mysql-community-server

# 可能会报错,就是一个缺少密钥。百度一下,加载那个密钥之后重新运行安装mysql

如果下载速度很慢,可以更换镜像:
参考地址:https://www.cnblogs.com/downmoon/p/11896158.html

1.3 启动Mysql

#启动 MySQL 服务器
systemctl start mysqld

#检查 MySQL 服务器的状态
systemctl status mysqld

MySQL 服务器初始化(从 MySQL 5.7 开始):在服务器初始启动时,假设服务器的数据目录为空,会发生以下情况:

  1. 服务器已初始化。
  2. 在数据目录中生成 SSL 证书和密钥文件。
  3. validate_password 插件 已安装并启用。
  4. 创建了一个超级用户帐户’root’@‘localhost’ 。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:sudo temporary password /var/log/mysqld.log

执行此命令

sudo grep ‘temporary password’ /var/log/mysqld.log
获取到一个默认的密码如下图:后面的hiqt+XhD5t5r 就是默认的密码
在这里插入图片描述

#使用生成的临时密码登陆mysql
mysql -uroot -p'hiqt+XhD5t5r'

如下图,登录成功
在这里插入图片描述

1.4 设置root用户密码

此时均在mysql> 下执行命令! 每个命令末尾必须加 ; 号!
查看MySQL安全策略

SHOW VARIABLES LIKE 'validate_password%';

他说我们必须要要先设置一个密码,才能够进行

#设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

再次查看MySQL安全策略

SHOW VARIABLES LIKE 'validate_password%';

主要修改的是这两条,一个是长度,一个是密码强度(5.7版本和8.0版本命名不同)

#设置密码长度最低位数
set global validate_password.length=4;
#设置密码强度级别
set global validate_password.policy=0;

validate_password_policy有以下取值:

  1. 0 or LOW:Length
  2. 1 or MEDIUM:numeric, lowercase/uppercase, and special characters
  3. 2 or STRONG:Length; numeric, lowercase/uppercase, and special characters
  4. 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
    [图片]
#刷新权限,再次查看权限是否修改成功
flush privileges;

SHOW VARIABLES LIKE 'validate_password%';

可以看到我们已经修改成功了!
在这里插入图片描述

进行最后一步!
将MySQL密码设置成我们自己想要的密码(例如123456)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

1.5 远程连接

远程登录还需要授权远程登录,Mysql默认不允许远程登录
另外还需要设置关闭防火墙,不关防火墙就开放3306端口

1.5.1 授权

#授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

命令说明:

  1. ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
  2. . :表示所有库中的所有表
  3. ‘root’@‘%’ : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
  4. IDENTIFIED BY ‘mypassword’ :mypassword是数据库的密码,这里是123456

1.5.2 开发3306端口或者关闭防火墙

首先要退出MySQL:exit;
开放端口

iptables -t filter -I INPUT -p tcp --dport 3306 -j ACCEPT
  1. -t:指定给哪个表格设置
  2. -I:插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则 INPUT:链名称
  3. -p:指定此规则适用于哪种数据包格式
  4. –dport:端口范围,限制目标的端口号码
  5. -j:后面接操作,主要有ACCEPT(接收)、DROP(丢弃)、REJECT(拒绝)、LOG(记录)
关闭防火墙(我比较喜欢这种)
#关闭
systemctl stop firewalld

#开机禁用
systemctl disable firewalld

#查看状态
systemctl status firewalld

1.5.3 测试链接

查看虚拟机的IP地址,也就是我们之前在网络设置的
(5.7版本可以直接连接)
打开Navicat进行测试
在这里插入图片描述

当我们点测试连接时,不允许我们进行连接
在这里插入图片描述

1.5.4 修改

这个问题是因为在数据库服务器中的mysql数据库中的user的表中没有权限(也可以说没有用户)
其实是,默认user中给我们的连接名设置成了 localhost,当我们连接名使用localhost的时候就可以连接
但是这并不符合我们的习惯,因为我们想用什么连接名应该是都可以连接的

#进入数据库
mysql -uroot -p 123456
之后的操作均在MySQL环境下运行
show databases;

use mysql;

show tables;

select Host, User from user;

当我们执行到这一步的时候,就发现了我们上述说的问题
在这里插入图片描述
因此我们只需要将Host字段的localhost 改为通配符 % 即可

update user set Host='%' where User='root';

在这里插入图片描述
最后,再刷新一下!

flush privileges;

1.5.5 最后的连接

再去Navicat里测试连接即可!

#退出mysql命令
exit;

1.6 卸载MySQL

#查看已安装的mysql
rpm -qa|grep -i mysql

#查看所有mysql有关的软件源
yum repolist all | grep mysql

#卸载mysql
yum remove -y mysql mysql-libs mysql-common 

#删除mysql下的数据文件
rm -rf /var/lib/mysql 

 #删除mysql配置文件
rm /etc/my.cnf

#删除mysql存储库
yum remove -y mysql80-community-release-el7-6.noarch 

二、安装JDK(手动安装)

其实不光可以手动安装,也可以使用rpm或者yum进行安装,或者使用docker,这里不给出(自行搜索)
官网下jdk(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm)
这里直接给出我下载好的:https://pan.baidu.com/s/1EvJ54hpHw2ctl_jPm2GR-g?pwd=1234

2.1 上传压缩包

#tar -zxvf 用于解压 .tar.gz 后缀结尾的
#tar -xvf 用于解压 .tar后缀结尾的

tar -zxvf jdk-8u371-linux-x64.tar.gz

#将解压好的文件移动到/usr/local/目录下
mv jdk1.8.0_371/ /usr/local/

#两个合起来就是,可以直接解压到 /usr/local目录下
tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local/

#进入/usr/local目录下,查看是否移动成功
ll

2.2 编辑环境变量

vim /etc/profile

按a或者i进入编辑模式 出现INSERT
在配置文件里输入如下内容

#(注意此文件名与你解压出来的文件名要一样)
export JAVA_HOME=/usr/local/jdk1.8.0_371
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

#切换到末行模式
esc

#保存并退出
:wq

#重新加载配置文件
source /etc/profile

#查看是否配置成功
java -version

三、安装Tomcat(手动安装)

3.1 上传解压

https://tomcat.apache.org/download-90.cgi 也可以自己官网下载历史版本
那我们安装软件一般是放在/usr下的,一些临时文件可以放/tmp下,或者其他软件可以放在/opt下(其实也无所谓,自己想怎么放就怎么放

#因此我们在/usr下创建tomcat目录
mkdir /usr/tomcat

#解压:然后将我们下载好的tomcat上传到此目录下解压即可
tar -zxvf apache-tomcat-9.0.75.tar.gz

#为了方便我们重命名一下
mv apache-tomcat-9.0.75 tomcat9.0

3.2 配置环境变量

注意:这里我们配置环境变量的前提是已经安装并配置好了JDK!
/etc 一般是存放我们系统的配置文件的

#配置命令
vim /etc/profile

#shift+g快速将光标定位到最后一行,然后按i,再输入下面代码
CATALINA_HOME=/usr/tomcat/tomcat9.0

#保存并退出
esc 
:wq

#输入下面命令让设置的环境变量生效
source /etc/profile

3.3 启动Tomcat

#第一种启动方法:进入到/usr/tomcat/tomcat9.0/bin目录下,输入以下命令,也就是直接直接shell脚本
./startup.sh 

#第二种方法,无论在哪个目录都可以启动tomcat
sh /usr/tomcat/tomcat9.0/bin/startup.sh

#查看tomcat是否启动成功,输入以下命令查看
ps -ef | grep tomcat

#关闭tomcat 第一种方法:进入到/usr/tomcat/tomcat9.0/bin目录下,输入以下命令
./shutdown.sh

#关闭Tomcat 第二种方式
sh /usr/tomcat/tomcat9.0/bin/shutdown.sh

#验证tomcat是否安装成功
http:\\IP地址:8080

四、安装NodeJS

# 在/usr下创建nodejs目录
mkdir nodejs

# 在/usr/nodejs下运行此命令,
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

# 解压
tar -xf node-v16.17.0-linux-x64.tar.xz 

# 改目录名
mv node-v16.17.0-linux-x64 node-v16

# 进入node-v16 下的 bin目录查看是否能执行node命令(查看node版本)
cd /usr/nodejs/node-v16/bin
./node -v

# 配置环境变量,在最后一行插入
vi /etc/profile
插入内容在此:export PATH=$PATH:/usr/nodejs/node-v16/bin

# 配置软连接 相当于全局变量,在任何文件夹都能查看版本信息
ln -s /usr/nodejs/node-v16/bin/node /usr/local/bin/
ln -s /usr/nodejs/node-v16/bin/npm /usr/local/bin/

五、Docker安装Nginx

# 获取最新版nginx镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 运行容器
docker run --name nginx-test -p 8080:80 -d nginx

# 安装成功 最后我们可以通过浏览器可以直接访问ip:8080 端口的 nginx 服务
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值