mysql安装
5.7版本
mysql
的程序在centos官方的库中是没有
的,需要切换到淘宝的镜像,
这个前面有教程- 或者配置mysql的源
yum -y install rpm
rpm --import https://repo.mysql.Com/RPM-GPG-KEY-mysqL-2022
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
安装mysql社区版
yum -y install mysql-community-server
启动mysqld并设置开启自启
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
降低密码要求
set global validate_password_policy=LOW;
set global validate_password_length=4;
设置新密码
ALTER USER 'root'@'LocaLhoSt'IDENTIFIED BY'密码';
授予远程权限,并且刷新配置
grant all privileges on *.* to root@"%" identified by 'root' with grant option;n;
flush privileges;
查看一下端口
netstat -anp | grep 3306
8.x版本
参考连接:https://blog.csdn.net/studio_1/article/details/128345934
官网下载
https://dev.mysql.com/downloads/
- 下载的时候要注意个事情,mysql的glibc的版本和你系统的glibc版本要一致,不然会报错 好多文件找不到
- 网上好多教程:软链接的,升级glibc,我都没用(嫌麻烦),我直接把mysql8卸载了,
重新装一遍正确的版本
(移除对应的文件就可以了,因为你没有安装成功的话,估计也不会有啥系统残留),参考链接:https://blog.csdn.net/m0_68292446/article/details/133694672
查一下你的Linux现在的版本
rpm -qa | grep glibc
下载指定版本的tar包
卸载残留
如果你的linux上之前安装过mysql,一定会有一些数据,先卸载一下
例如:我之前安装过这个玩意,现在反向操作卸载就行了
这是当时安装的命令
yum -y install mysql-community-server
卸载的命令
yum -y remove mysql-community-server
如果不清楚,查一下有没有文件,就知道之前安装过没有
- 出来很多结果就是安装过
- 没有数据就是没有安装过
rpm -qa|grep -i mysql
把服务停了
- 一个是停
mysql5
的,另一个是mysql8
,我估计你也分不清,统统停了就好
service mysqld stop
service mysql stop
找文件,把找到的文件也都删了
find / -name mysql
好多文件,慢慢删吧
rm -rf 上面的文件
解压
通过finalshell 拖到指定文件夹中/usr/MYSQL/,然后解压(我嫌文件名长,我改过名字)
tar -xvJf mysql-8.0.39.tar.xz
解压后的文件名还是长,再改一下
mv mysql-8.0.39-linux-glibc2.28-x86_64 mysql-8.0.39
创建data文件夹
进入你安装的mysql根目录,mkdir一下新的data文件夹
mkdir data
创建用户和用户组
一般会提示你已经创建过了
groupadd mysql
useradd -g mysql mysql
授权(改变一下文件所属用户组)
把根目录的所属用户改一下
chown -R “mysql组名”.“mysql用户名” “mysql安装根目录”
chown -R mysql.mysql /usr/MYSQL/mysql-8.0.39
初始化mysql
使用一些配置,初始化mysql
一定要进入bin目录,mysqld文件在bin目录下
,不然报错- –lower-case-table-names=1 即设置不区分表明大小写,这在后面启动的时候会是一个坑,需要你更改
/etc/my.cnf
./mysqld --user=mysql --basedir=/usr/MYSQL/mysql-8.0.39 --datadir=/usr/MYSQL/mysql-8.0.39/data --lower-case-table-names=1 --initialize
改一下配置文件
- /etc/my.cnf 是默认配置文件,如果没有你就建一个
- 如果上面你配置了大小写,这里也要配置一下
vim /etc/my.cnf
port=3306
basedir=/usr/MYSQL/mysql-8.0.39/ # MySQL根目录
datadir=/usr/MYSQL/mysql-8.0.39/data/ # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0# 这是一个坑,前面如果配置了大小写,这行是必须的
lower_case_table_names = 1#解决“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
添加服务
进入mysql的根目录
cp -a ./support-files/mysql.server /etc/init.d/mysql
授权并添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
启动mysql
启动完mysql,再看一下启动成功没有
service mysql start
service mysql status
要是启动不了,看一下配置文件是不是配置你自己的文件路径
- 报这个错是因为没有配置大小写,回去配置vim /etc/my.cnf,加一行大小写配置
- 也有可能你没有data的权限
vim /etc/my.cnf
lower_case_table_names = 1
chmod -R 755 /usr/MYSQL/mysql-8.0.39/data
配置软连接,可以全局使用mysql命令
ln -s “你的MySQL根目录/bin/mysql” /usr/bin ln -s /usr/MYSQL/mysql-8.0.39/bin/mysql /usr/bin
配置之后,进入user/bin ,再次看就会发现多了一个软链接文件
改密码
- 一般来说你的第一次进入,使用的临时密码
- 去指定文件
/var/log/ mysqld.log
中找临时密码- 如果以前安装过,可能会有历史记录,找
最新的一条
cat /var/log/mysqld.log | grep password
登录
mysql -uroot -p
改密码
alter user 'root'@'localhost' identified by 'root';
生效
flush privileges;
检测一下
在mysql中输入命令
show databases
Tomcat安装
两个步骤:
- 安装jdk
- 安装Tomcat
安装jdk
下载地址: https://www.oracle.com/sg/java/technologies/downloads/
创建一个所有环境的安装目录,解压
mkdir -p /export/server
将下载的tar.gz文件拖到这个文件夹下面
解压(如果就在server目录下解压的,就不需要-C选项)
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /export/server/
创建软链接
- 为什么不直接删除?因为以后可能需要多个jdk版本,你只需切换jdk指向的软链接就可以了
配置环境变量
同样是在java/bin目录下执行,得到的java版本不一样,为什么?
java -version./java -version
原因:
java
执行的命令来自于/bin/java
./java
执行的命令来自于/export/server/bin/java
将jdk的安装目录配置到PATH环境变量中
- 新增JAVA_HOME 环境变量
- 修改 PATH变量
找到系统文件,新增两行
vim /etc/profile
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin
激活配置文件
source /etc/profile
查看一下环境变量是否成功加上了
echo $PATH
- 删除原有的java
- 软链接过去一个新的java
- 为什么不直接删除呢?因为防止别的地方使用usr/bin/java
rm -f /usr/bin/java
ln -s /export/server/jdk/bin/java /usr/bin/java
现在使用的就是我们配置的java,而不是系统自带的(因为已经被我们删除了)
配置Tomcat
因为Tomcat是提供给外部使用的,可能存在被黑掉的风险,建议
新建一个用户
,专门适用于Tomcat服务,即使被黑了,Tomcat用户的权限不高,不会造成大范围的损失
wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
解压文件
tar -zxvf /home/tomcat/apache-tomcat-10.0.27.tar.gz -C /export/server/
构建软链接
ln -s apache-tomcat-10.0.27 tomcat
- 这些都是root用户的权限,我们
后续需要使用Tomcat用户启动Tomcat应用
- 需要将文件的权限归还给 Tomcat用户
chown -R tomcat:tomcat tomcat
chown -R tomcat:tomcat apache-tomcat-10.0.27
进入bin目录,记得./不让从~目录下开始查找,会报错
./startup.sh
netstat -anp|grep 8080
一般来说,这时候你是访问不通的,防火墙开了,而且没有开放8080端口
- 开放80801端口
- 或者直接关闭防火墙(简单粗暴)
systemctl stop firewalld.service
systemctl status firewalld.service
- http://192.168.88.130:8080/ 访问这个链接,因为Tomcat的默认端口是8080
- 出现这个页面就代表访问成功了
安装nginx数据
安装yum依赖程序
yum install -y yum-utils
手动添加 nginx的源到yum的仓库
- 我们可以在这里看到
之前配置的mysql的库
cd /etc/yum.repos.d
新增一个配置文件,加入下面的内容
vim nginx.repo
# 填入如下内客并保存退出
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=ngink mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.prg/keys/nginx_signing.key
module_hotfixes=true
安装nginx
yum -y install nginx
可能会启动失败
- 这是因为之前安装过httpd命令(这个服务也是监听80端口的)
- 关闭这个服务即可
systemctl stop httpd.service
systemctl start nginx
systemctl status nginx
systemctl enable nginx
如果没有关闭防火墙,关闭一下防火墙
systemctl stop firewalld.service
访问这个80端口,看到这个页面就可以了
安装rabbitmq
rabbitmq在yum中的版本比较老,使用新版本进行安装
准备rabbitmq的库
使用root权限执行命令,准本gpgkey
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
创建仓库文件并配置
# 2. 准备仓库文件
vim /etc/yum.repos.d/rabbitmq.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300##
## RabbitMQ server
##[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
安装rabbitmq
yum install erlang rabbitmq-server -y
启动rabbitmq
相关命令
# root执行
# 使用systemctl管控,服务名:rabbitmq-server
systemctl enable rabbitmq-server # 开机自启
systemctl disable rabbitmq-server # 关闭开机自启
systemctl start rabbitmq-server # 启动
systemctl stop rabbitmq-server # 关闭
systemctl status rabbitmq-server # 查看状态
防火墙放行
放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
# 方式1(推荐),关闭防火墙
systemctl stop firewalld # 关闭
systemctl disable firewalld # 关闭开机自启# 方式2,放行5672 25672端口
firewall-cmd --add-port=5672/tcp --permanent # 放行tcp规则下的5672端口,永久生效
firewall-cmd --add-port=15672/tcp --permanent # 放行tcp规则下的15672端口,永久生效
firewall-cmd --add-port=25672/tcp --permanent # 放行tcp规则下的25672端口,永久生效
firewall-cmd --reload # 重新加载防火墙规则
启动控制台
rabbitmq-plugins enable rabbitmq_management
新增用户
新增一个root用户,并且root用户的权限是管理员
rabbitmqctl add_user root 'root'
rabbitmqctl set_permissions -p "/" "root" ".*" ".*" ".*"
rabbitmqctl set_user_tags root administrator
访问一下控制台
http://192.168.88.130:15672
至此,完成了rabbitmq的安装
安装redis
简介
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
redis的特点就是:
快
,可以基于内存存储数据并提供超低延迟、超快的检索速度一般用于在系统中提供快速缓存的能力。
配置EPEL
仓库
- EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个
第三方源
。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包,类似Windows的exe),- 而且
大多数rpm包在官方 repository 中是找不到的。
# root执行
yum install -y epel-release
安装redis
yum install -y redis
相关命令
# root执行
# 使用systemctl管控,服务名:redis
systemctl enable redis # 开机自启
systemctl disable redis # 关闭开机自启
systemctl start redis # 启动
systemctl stop redis # 关闭
systemctl status redis # 查看状态
防火墙放行
放行防火墙,redis使用端口
6379
# 方式1(推荐),关闭防火墙
systemctl stop firewalld # 关闭
systemctl disable firewalld # 关闭开机自启# 方式2,放行6379端口
firewall-cmd --add-port=6379/tcp --permanent # 放行tcp规则下的6379端口,永久生效
firewall-cmd --reload
访问一下redis
redis-cli
set mykey hello
get mykey
至此,redis安装完成。
安装Elasticsearch
- 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。
- 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
- Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。
很多服务中的搜索功能,都是基于es来实现的。
配置yum库
导入仓库密钥
# root执行
# 导入仓库密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
新增配置文件
# 添加yum源
# 编辑文件
vim /etc/yum.repos.d/elasticsearch.repo
写入下面内容
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
更新缓存
yum makecache
安装
yum install -y elasticsearch
配置
vim /etc/elasticsearch/elasticsearch.yml# 17行,设置集群名称
cluster.name: my-cluster# 23行,设置节点名称
node.name: node-1# 56行,允许外网访问
network.host: 0.0.0.0# 74行,配置集群master节点
cluster.initial_master_nodes: ["node-1"]
相关命令
systemctl start | stop | status | enable | disable elasticsearch
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
访问地址
http://192.168.88.130:9200/?pretty