JDK、tomcat、MySQL安装部署
大数据开发实战
计算机基础普及
[计算机基础与网络.1](动态主机配置协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。
DHCP协议支持C/S(客户端/服务器)结构,主要分为两部分:
1、DHCP客户端:通常为网络中的PC、打印机等终端设备,使用从DHCP服务器分配下来的IP信息,包括IP地址、DNS等。
2、DHCP服务器:所有的IP网络设定信息都由DHCP服务器集中管理,并处理客户端的DHCP请求。
DHCP采用UDP作为传输协议,客户端发送消息到DHCP服务器的的67号端口,服务器返回消息给客户端的68号端口。
[)
[计算机基础与网络.2](要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。 算法只要把IP和子网掩码的每位数AND就可以了。
AND方法:0和1=0 0和0=0 1和1=1 如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
得出AND结果 11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是网络标识, 再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND 得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。 )
1.JDK的安装
1.1 卸载 OepnJDK (!)
一般Linux系统都会自带JDK,只不过是Open JDk,而我们开发一般使用的是Oracle JDK,所以我们需要写在Open JDK,进而安装Oracle JDK
查询系统是否以安装jdk
rpm -qa|grep java
# 温馨提示,文件名仅供参考,具体以自己的为准
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
1.2 安装JDK
在/usr/local/下创建java 文件夹,然后用FTP把jdk安装包放入该文件夹下
先是通过命令解压上传的压缩包
tar -zxvf jdk-8u212-linux-x64.tar.gz
这时上传的安装包就没有用了,可以通过命令删除
rm -f jdk-8u212-linux-x64.tar.gz
通过ls命令可以看到当前目录下只剩下解压的文件夹,接下来就是配置jdk的环境变量了,输入如下命令:
vim /etc/profile
按下键盘上的字母i,在文档末尾加上环境变量配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
按下键盘上的ESC按键,按住shift键,连续两次按下z键,即可保存退出,然后通过以下命令使刚才配置的环境变量生效。
source /etc/profile
通过以下命令,可以查看到jdk的版本和一些命令的介绍即代表安装成功。
java -version
javac
2. 安装tomcat
# 解压
tar -zxvf apache-tomcat-8.5.49.tar.gz
重命名
mv apache-tomcat-8.5.49 tomcat8.5
启动tomcat
sh /usr/local/tomcat/tomcat8.5/bin/startup.sh
开启8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙
firewall-cmd --reload
3. 安装 MySQL
卸载系统自带的Mariadb
{
service mysqld status # 查看MySQL开启状态
}
# 检查是否存在 ‘mariadb’
rpm -qa|grep mariadb
# 删除
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#删除etc目录下的my.cnf文件 ---- 目的是为了检查环境是否干净
# rm /etc/my.cnf
#检查mysql是否存在 ---- 同上
# rpm -qa | grep mysql
#检查mysql组和用户是否存在,如无创建
# cat /etc/group | grep mysql
# cat /etc/passwd | grep mysql
#如果之前有mysql用户,删除用户组 groupdel mysql
#创建mysql用户组
# groupadd mysql
#创建一个用户名为mysql的用户并加入mysql用户组
# useradd -g mysql mysql
#指定password 为111111
# passwd mysql
Changing password for user mysql.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
#解压到/usr/local空间下
# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql57
#更改所属的组和用户
# chown -R mysql mysql5.7/
# chgrp -R mysql mysql5.7/
# cd mysql57/
# mkdir data
# chown -R mysql:mysql data # 设置用户和用户组
#cd /etc
在/etc下新建配置文件my.cnf,并在该文件内添加以下配置
demo-------------------------begin
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
demo-------------------------end
wW>Eup,WK3Ny
wW>Eup,WK3Ny
安装和初始化
# cd /usr/local/mysql57
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data/
----------------------------
注意最后要看到以下这句,生成临时密码
2023-05-05T06:51:56.180450Z 1 [Note] A temporary password is generated for root@localhost: totsu021j!3X
----------------------------
#若密码忘记或生产失败,请参考以下方法查看
在mysql目录/data下面,找到一个.err文件,打开,发现了密码:
grep "temporary password" /var/log/mysqld.log
----------------------------
# cp ./support-files/mysql.server /etc/init.d/mysqld
# chown 777 /etc/my.cnf
#---------------------------chmod +x /etc/init.d/mysqld
# /etc/init.d/mysqld restart #重启mysql服务
#本地链接MySQL,保证在bin目录下
#cd /usr/local/mysql57/bin/
#./mysql -uroot -p (输入临时密码)
//错误提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改密码
//set password=password('/* 新密码 */');
#set password=password('123456'); #设置或修改root账号密码
授权远程访问
grant all privileges on *.* to root@'%' identified by '/* 新密码 */';
#grant all privileges on *.* to root@'%' identified by '123456';
{ -------可选--------
#验证登录记录
#use mysql; // 进入数据库
#select host,user from user; 【多出1条远程登录用户记录】
}
退出mysql
exit;
#在Linux命令行中将3306端口打开例外
firewall-cmd --zone=public --add-port=3306/tcp --permanent #重启后不失效
firewall-cmd --reload
#设置开机启动
# ------------------------chmod +x /etc/rc.d/init.d/mysqld # 可选
# chkconfig --add mysqld
# chkconfig --list mysqld
--------------------------
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
--------------------------
# service mysqld status # 检查mysql开启状态
#建立启动mysql的软链接,注意/usr前有空格
ln -s /usr/local/mysql57/bin/mysql /usr/bin
--mysql 安装结束
*******************************************************************************
扩展:{
CentOS7中安装MySQL5.7
安装必要的组件
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel
下载mysql
wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
将压缩包拷贝到/usr/local 使用ftp工具
cd /usr/local/
tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 解压
mv mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql 重命名
进入安装文件夹下的support-files
cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf 将mysql配置文件拷贝到etc下,提示文件已经存在输入yes
vi /etc/my.cnf 编辑配置文件
添加
character-set-client-handshake = FALSE 添加在[mysqld]下方即可
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
复制mysql.server 到/etc/init.d/ 目录下【目的想实现开机自动执行效果】
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
修改如下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
创建Linux新用户
groupadd mysql #建立一个mysql的组
useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组
passwd mysql (mysql123) #给mysql用户设置一个密码
chown -R mysql:mysql /usr/local/mysql/ 给目录/usr/local/mysql 更改拥有者
初始化 mysql 的数据库
进入mysql的bin
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记录生成的密码(参考下图选中部分)
给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动mysql(为了不让进程卡主,可在启动mysql的命令后加上&代表此进程在后台运行)
./mysqld_safe --user=mysql &
查看进程
ps -ef|grep mysql
保证在bin目录下
cd /usr/local/mysql/bin/
./mysql -uroot -p (输入临时密码)
修改密码
set password=password('/* 新密码 */');
授权远程访问
grant all privileges on *.* to root@'%' identified by '/* 新密码 */';
注:红色部分表示mysql的root账户
use mysql; // 进入数据库
select host,user from user; 【多出1条远程登录用户记录】
执行刷新
mysql>flush privileges;
在Linux命令行中将3306端口打开例外
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
firewall-cmd --zone=public --add-port=3306/tcp --permanent 重启后不失效
firewall-cmd --reload
设置开机自启动
添加服务mysql
chkconfig --add mysql
设置mysql服务为自动
chkconfig mysql on
重启查看进程
ps -ef|grep mysql
将mysql添加到环境变量
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/mysql/bin
export PATH
执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功
=======================================
查看已经开放的端口:
firewall-cmd --list-ports
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload #重启firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
原文链接:https://blog.csdn.net/qq_30180559/article/details/86600834
-----------------------------------
一、CentOS 7快速开放端口:
CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:
开启端口
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
查询端口号80 是否开启:
[root@centos7 ~]# firewall-cmd --query-port=80/tcp
重启防火墙:
[root@centos7 ~]# firewall-cmd --reload
查询有哪些端口是开启的:
[root@centos7 ~]# firewall-cmd --list-port
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
二、CentOS6防火墙开放端口:
在我们使用CentOS系统的时候,CentOS防火墙有时是需要改变设置的。CentOS防火墙默认是打开的,设置CentOS防火墙开放端口方法如下:
打开iptables的配置文件:vi /etc/sysconfig/iptables
修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口
下面是一个iptables的示例:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。
举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
全部修改完之后重启iptables:
service iptables restart
你可以验证一下是否规则都已经生效:iptables -L
这样,我们就完成了CentOS防火墙的设置修改。
---------------
CentOS 6
iptables -A INPUT -ptcp --dport 8080 -j ACCEPT
service IP tables sav
---------------
linux 忘记mysql用户root密码 解决方案
1.vim /etc/my.cnf
[mysqld]
skip-grant-tables ##追加此行,跳过权限表,
2.重启mysql
systemctl restart mysqld
3.mysql 登陆mysql
mysql> use mysql;
mysql> UPDATE user SET Password = password ( 'zha123456' ) WHERE User = 'root' ;
mysql> flush privileges ;
mysql> quit
4.恢复配置文件my.cnf
vim /etc/my.cnf
[mysqld]
skip-grant-tables ##去掉此行,继续校验权限表,
5.重启mysql
systemctl restart mysqld
}
----以上内容仅供学习参考----
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程