Dolphinscheduler按生产手册使用一键脚本集群部署后,控制台登录页面可以打开,但使用默认账户怎么都登录不进去,尝试在数据库中清理登录用户字段,发现数据库中并没有相关用户字段,而后使用Dolphinscheduler初始化脚本建库时发现连接数据库失败。
报错信息:
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
16:16:08.294 [main] ERROR com.alibaba.druid.pool.DruidDataSource - init datasource error, url: jdbc:mysql://<数据库IP>:3306/ifrsdb?characterEncoding=UTF-8&allowMultiQueries=true
java.sql.SQLException: Access denied for user 'root'@'' (using password: YES)
...
16:16:08.300 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
16:16:08.300 [main] ERROR org.apache.dolphinscheduler.dao.upgrade.UpgradeDao - Access denied for user 'root'@'' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'' (using password: YES)
...
16:16:08.301 [main] ERROR org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler - create DolphinScheduler failed
<安装目录>/conf/datasource.properties 记录数据库连接信息
spring.datasource.username=root
spring.datasource.password=<你的密码> ##就这地方出问题了
我的问题是集群部署后安装节点的数据库密码修改对了,但集群其他节点的配置文件中这个密码的地方没有更新,将这个数据库密码设置对了,重启集群就好了。
在安装 DolphinScheduler 时,执行数据库初始化脚本(如 create-dolphinscheduler.sh)出现以下错误:
ERROR org.apache.dolphinscheduler.dao.upgrade.UpgradeDao - Access denied for user 'root'@'' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'' (using password: YES)
尽管已通过 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
授权 root 用户从任意主机访问,但错误依旧存在。同时,日志中出现 MySQL 驱动过时警告:
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
-- 查看 root 用户权限
SHOW GRANTS FOR 'root'@'%';
-- 若权限不足,重新授权(需替换为实际密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql -V
MySQL 5.x:推荐使用 mysql-connector-java-5.1.47.jar
MySQL 8.x:必须使用 mysql-connector-java-8.0.x.jar
conf/datasource.properties
(DolphinScheduler 2.x)或 conf/common.properties(DolphinScheduler 3.x),确保以下参数正确:spring.datasource.url=jdbc:mysql://<数据库IP>:3306/ifrsdb?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=<你的密码>
关键参数说明:
ping <数据库IP>
telnet <数据库IP> 3306
SELECT user, host, plugin FROM mysql.user WHERE user = 'root';
-- 若插件为 caching_sha2_password,修改为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
# CentOS/RHEL
systemctl stop firewalld
# Ubuntu/Debian
ufw disable
注意:完成测试后务必重新启用防火墙,并配置允许访问的规则。
sh bin/stop-all.sh
sh bin/start-all.sh
重新执行数据库初始化脚本:
sh script/create-dolphinscheduler.sh
原文链接:https://blog.csdn.net/timonium/article/details/147952568