当前位置: 首页 > news >正文

CentOS7服务器安装Java,MySQL,Nginx,Maven,NodeJs

# 前言
Centos 7.9  

# 导出history记录
用于忘记了当时敲过哪些命令  

```shell
#!/bin/bash

# 定义输出文件
OUTPUT_FILE="all_users_history.txt"

# 清空或创建输出文件
> "$OUTPUT_FILE"

# 遍历所有用户的家目录
for USER_HOME in /home/* /root; do
    USER=$(basename "$USER_HOME")
    HISTORY_FILE="$USER_HOME/.bash_history"

    if [ -f "$HISTORY_FILE" ]; then
        echo "===== $USER 用户的 history =====" >> "$OUTPUT_FILE"
        cat "$HISTORY_FILE" >> "$OUTPUT_FILE"
        echo "" >> "$OUTPUT_FILE"
    else
        echo "$USER 用户的 .bash_history 文件不存在" >> "$OUTPUT_FILE"
    fi
done

echo "所有用户的 history 已导出到 $OUTPUT_FILE"

```

# Java、Maven
能使用yum的就使用yum  
不能使用的,或者yum仓库里没有需要的jdk,那么就去镜像源下载openjdk,然后配置PATH  
Maven同理  
```shell

vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/jdk-17.0.14+7
export MAVEN_HOME=/opt/apache/maven/apache-maven-3.9.9
export NODEJS_HOME=/opt/nodejs/node-v22.14.0-linux-x64
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODEJS_HOME/bin:$PATH

source /etc/profile
```

注意maven的配置,conf/settings.xml  
```xml
<localRepository>/opt/apache/maven/local-repo</localRepository>


  <mirrors>
        ...
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>central</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
        ...
  </mirrors>

```

# MySQL

## 安装

```shell

yum install -y libaio numactl
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
rpm -qa gpg-pubkey*
yum install https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
yum install -y mysql-community-server


# 启动 MySQL 服务
sudo systemctl start mysqld
# 设置 MySQL 服务开机自启
sudo systemctl enable mysqld

# 获取初始临时密码
sudo grep 'temporary password' /var/log/mysqld.log
```

## 备份
记得定期备份数据库,数据量不大的话,可以使用的简单粗暴的全量备份  
```shell
#!/bin/bash

# 定义 MySQL 用户名
MYSQL_USER="mysql_backup_user"
# 定义要备份的数据库名
DATABASE_NAME="your_database_name"
# 定义备份文件存储目录
BACKUP_DIR="/data/tools/mysql/backup"
# 生成包含日期和时间戳的备份文件名
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")

BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_${TIMESTAMP}.sql"

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR


export MYSQL_PWD='mysql_backup_user_pwd'

mysqldump -u $MYSQL_USER $DATABASE_NAME > $BACKUP_FILE

# 检查备份是否成功
if [ $? -eq 0 ]; then
    echo "数据库备份成功,备份文件:$BACKUP_FILE"
else
    echo "数据库备份失败"
fi

# 删除超过30天的备份文件
delete_old_backups() {
    echo "$1 查找超过30天的备份文件..."
    # 查找备份目录中超过30天的文件
    OLD_BACKUPS=$(find $BACKUP_DIR -type f -name "${DATABASE_NAME}_*.sql" -mtime +30)

    if [ -z "$OLD_BACKUPS" ]; then
        echo "没有找到超过30天的备份文件。"
        return
    fi

    echo "以下文件将被删除:"
    echo "$OLD_BACKUPS"

    # 如果传入了参数(例如 confirm),则跳过确认
    if [ "$1" = "auto" ]; then
        echo "自动删除中..."
        find $BACKUP_DIR -type f -name "${DATABASE_NAME}_*.sql" -mtime +30 -exec rm -f {} \;
        if [ $? -eq 0 ]; then
            echo "文件删除成功。"
        else
            echo "文件删除失败。"
        fi
    else
        # 手动执行时,提示用户确认
        read -p "是否确认删除这些文件?(y/n): " CONFIRM
        if [ "$CONFIRM" = "y" ] || [ "$CONFIRM" = "Y" ]; then
            echo "正在删除文件..."
            find $BACKUP_DIR -type f -name "${DATABASE_NAME}_*.sql" -mtime +30 -exec rm -f {} \;
            if [ $? -eq 0 ]; then
                echo "文件删除成功。"
            else
                echo "文件删除失败。"
            fi
        else
            echo "取消删除操作。"
        fi
    fi
}

# 调用删除旧备份文件的函数
# 如果传入了参数(例如 auto),则自动删除
if [ "$1" = "auto" ]; then
    delete_old_backups "auto"
else
    delete_old_backups
fi
```

## 特殊插件
auth_socket插件,可以让用户在本机登录时,不输入密码直接进入终端  
```shell
mysql> use mysql;
mysql> select user, plugin from user;
+------------------+-----------------------+
| user             | plugin                |
+------------------+-----------------------+
| debian-sys-maint | caching_sha2_password |
| mysql.infoschema | caching_sha2_password |
| mysql.session    | caching_sha2_password |
| mysql.sys        | caching_sha2_password |
| root             | auth_socket           |
+------------------+-----------------------+
6 rows in set (0.00 sec)

```

# Nginx
直接用官网的yum源然后安装软件包就可以了  
```shell
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install nginx

systemctl enable nginx
systemctl start nginx
systemctl reload nginx

yum install httpd-tools
```

# NodeJS
新版本的要求系统里有更高版本的GCC,可能需要先升级GCC  

```shell
wget https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz
tar -xvf node-v22.14.0-linux-x64.tar.xz -C /opt/nodejs/
cd /opt/nodejs/
ls
cd node-v22.14.0-linux-x64/
ls
pwd
vim /etc/profile
source /etc/profile
node -v
npm -v

npm config set registry https://registry.npmmirror.com
npm config set prefix /opt/nodejs/global
npm config set cache /opt/nodejs/cache

```
http://www.zskr.cn/news/41891.html

相关文章:

  • 关于模拟赛记录
  • 跨平台的文件夹映射cifs
  • 2025年安全检测检验公司推荐榜前十名:专业洞察与选择指南
  • 错题+trick 集
  • ICPC 模板
  • 国标GB28181算法算力平台EasyGBS助力智慧医院打造全方位视频监控联网服务体系
  • 2025年市面上冷再生机实力厂家推荐排行
  • 纸笔散题记录
  • 2025年建筑装潢垃圾分选机制造厂权威推荐:装潢垃圾处理设备/固体垃圾处置系统/陈腐垃圾处理设备源头厂家精选
  • 决策的进化:从人类直觉到价值粒子的精密权衡
  • 11:6
  • 大河抽奖盲盒分销系统:开启运营 “玩法自由” 新时代
  • 静默复制淘口令小程序系统:淘客高效推广的全新解决方案
  • 获客电子画册小程序系统:助力企业高效营销与客户管理的智能解决方案
  • 2025年11月权威媒体公布:防爆膜/木纹膜/磨砂膜/隔热膜行业十大公司排行榜推荐与全面选购指南
  • 汽车年检审车小程序系统:汽车后市场数字化解决方案
  • 2025年11月冷再生机生产厂家推荐榜单:江苏环硕建设领跑行业
  • 2025年11月冷再生机生产厂家推荐榜单
  • 2025年冷再生机源头厂家口碑排行
  • Create RAC database using DBCA silent mode
  • TCNopen编译
  • 2025 年最新自闭阀源头厂家推荐排行榜:探寻核心竞争力,助力供暖供水工程选品燃气安全自闭阀/燃气管道自闭阀公司推荐
  • 树莓派软路由wifi烧录pi3
  • 室内潮玩运动馆:特色项目/美味小吃/团建适配性权威指南
  • 2025 年锻钢阀源头厂家最新推荐排行榜:聚焦精工智造与节能减排,碳钢锻钢阀/手动锻钢阀/锻造钢阀/丝扣锻钢阀公司推荐
  • 2025年11月洗选煤成套设备厂家推荐排行榜前十强:山东鑫佳重工科技领衔
  • 揭秘MySQL优化器:为何索引在手却选择全表扫描?
  • 2025年河北泵用挤压软管体验权威推荐:河北抽负压真空胶管清洁/河北抽真空胶管安装/河北真空侵胶管维护源头厂家精选
  • 2025年移动照明车灯塔工厂权威推荐:液压升降移动照明车/拖车式移动照明车/太阳能移动照明车源头厂家精选
  • 学习Hyperledger Fabric2.5