xxl-job
- 数据库中创建xxl-job需要的表
# 创建用户 xxljob 并设置密码 123456
create user xxljob@'%' identified by '123456';
# 授予 xxljob 用户所有数据库所有表的权限(当然也可以只授权 xxl_job 数据库)
# 第一个* 代表所有数据库 第二个*代表所有表。xxl_job.* 代表xxl_job 库下的所有表
grant all privileges on *.* to xxljob@'%' with grant option;
# 刷新权限
flush privileges;
alter user xxljob@'%' identified with
# 设置 xxljob 用户支持远程密码连接
mysql_native_password by '123456';
# 创建表需要到到源码目录对应版本下的doc/db/下找
数据库文件地址:doc/db · 许雪里/xxl-job - 码云 - 开源中国 (gitee.com)
- 拉取docker容器并运行
docker pull xuxueli/xxl-job-admin:2.3.0
# 8080端口没备案会被拦截,使用8088端口
docker run -d \
-e PARAMS="--spring.datasource.url=jdbc:mysql://ip:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=xxljob --spring.datasource.password=123456" \
-p 8088:8080 \
-v /root/xxl-job/applogs:/data/applogs \
--name xxljob xuxueli/xxl-job-admin:2.4.0
- 访问:http://ip:8088/xxl-job-admin 即可使用,默认用户名:admin,密码:123456
补充
在java程序的yml配置如下:
xxl:
job:
admin:
addresses: http://xxl-job的ip:8088/xxl-job-admin
access-token: default_token
# 如果xxl-job没有部署到本机上,而是云服务器上,以下执行器的部分需要进行内网穿透;可以自己部署frp服务进行内网穿透,也可以使用别人提供的内网穿透服务,例如sakura-frp、花生壳等
executor:
appname: pad-delete-executor
# ip、port等信息不配置,会自动生成
ip: 127.0.0.1
port: 9999
举例:使用frp,配置内容如下
[common]
server_addr = 服务器ip
server_port = 7000
protocol = tcp
token = xxx
tcp_mux = true
[biluo_9999_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 9999
remote_port = 32380