url :https://www.xuxueli.com/xxl-job/#1.6%20%E7%8E%AF%E5%A2%83
安装环境
mysql8 安装
#docker 安装
sudo docker pull mysql:8.0
sudo docker run -d \
--name mysql8 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=your_root_password \ # 替换为你的 root 密码
-v /mysql/data:/var/lib/mysql \ # 持久化数据目录(替换为本地路径)
mysql:8.0
参数说明:
- -d:后台运行容器。
- –name:容器名称(可自定义)。
- -p 3306:3306:将容器 3306 端口映射到宿主机 3306 端口。
- -e:设置环境变量(密码、数据库、用户等)。
- -v:挂载数据卷,避免容器删除后数据丢失。
# 验证容器状态
sudo docker ps
sudo docker ps -a
# 进入容器或连接 MySQL
进入容器或连接 MySQL
方式1:通过命令行进入容器
sudo docker exec -it mysql8 mysql -u root -p
方式二:本地客户端连接
使用 MySQL 客户端工具(如 mysql-client 或图形化工具)连接:
- 主机: localhost 或宿主机 IP
- 端口: 3306
- 用户名: root
- 密码: 设置的 your_root_password
常用管理命令
- 停止容器:
sudo docker stop mysql8
- 启动容器:
sudo docker start mysql8
- 删除容器(谨慎操作,确保数据已备份):
sudo docker rm -f mysql8
- 查看日志:
sudo docker logs mysql8
安装 Maven
- 方式一
sudo apt update
sudo apt install maven
mvn -version
- 方式二
1、访问 Maven 官网下载页面,复制最新版 .tar.gz 文件的链接(例如 apache-maven-3.9.6-bin.tar.gz)。
2、使用 wget 下载:
wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
3、解压并安装到系统目录
sudo tar -xzvf apache-maven-*.tar.gz -C /opt/
sudo mv /opt/apache-maven-* /opt/maven
4、配置环境变量
1.编辑 ~/.bashrc 文件:
bash nano ~/.bashrc
2.在文件末尾添加:
export MAVEN_HOME=/opt/maven
export PATH=$MAVEN_HOME/bin:$PATH
3.应用配置:
source ~/.bashrc
5、验证安装
mvn -version
输出应包含 Maven 版本及 JDK 信息。
安装jdk17
sudo apt install openjdk-17-jdk # JDK 17
java -version
常见问题及解决方案
(1) 数据目录权限问题 如果使用 -v 挂载了本地目录,MySQL 容器可能因权限不足无法写入数据。
修复方法:
# 确保挂载目录存在且权限正确(示例路径:/path/to/mysql/data)
sudo mkdir -p /path/to/mysql/data
sudo chown -R 999:999 /path/to/mysql/data # MySQL 容器内用户 UID/GID 通常为 999
(2) 端口冲突 宿主机 3306 端口已被其他进程占用,导致容器启动失败。
检查端口占用:
sudo netstat -tulnp | grep 3306
解决方案:
- 停止占用端口的进程。
- 或修改容器端口映射(如 -p 3307:3306)。
(3) 环境变量配置错误 检查 docker run 命令中的环境变量(如密码格式、数据库名非法字符)。 示例正确命令:
docker run -d \
--name mysql8 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=MySecurePassword123! \ # 密码需符合复杂度要求
-v /path/to/mysql/data:/var/lib/mysql \
mysql:8.0
(4) 数据目录残留冲突 如果之前容器未正确清理,残留数据可能导致新容器启动失败。 解决步骤: # 删除旧容器(确保数据已备份)
docker rm -f mysql8
删除旧数据目录(谨慎操作!)
sudo rm -rf /path/to/mysql/data/*
重新创建并运行容器
docker run -d ...(完整命令)
3. 完整调试流程
步骤 1:以交互模式运行容器
docker run -it --rm \
--name mysql8-debug \
-e MYSQL_ROOT_PASSWORD=MySecurePassword123! \
-v /path/to/mysql/data:/var/lib/mysql \
mysql:8.0 \
--verbose # 显示详细启动日志
观察控制台输出的错误信息。
步骤 2:进入容器手动调试
docker run -it --rm \
--name mysql8-debug \
-e MYSQL_ROOT_PASSWORD=MySecurePassword123! \
-v /path/to/mysql/data:/var/lib/mysql \
--entrypoint /bin/bash \
mysql:8.0
# 在容器内手动启动 MySQL
mysqld --verbose --user=mysql