领课教育roncoo-education服务搭建中遇到nacos使用默认服务密码报错解决

在nacos中默认的服务密码是配置在users表和roles表中的,要是用nacos/nacos登录,你的这两个表的内容必须是这样的(其他设置除外):

users表:

roles表:

首次导入领课教育的数据库os_nacos.sql文件内容和执行结果都是正常的没问题的,如下:

但是如果你领课教育的os_nacos数据库中执行了其他的数据库建表文件(.sql文件)如果将该users表覆盖了。那么users表的结构和内容都会被改掉了,覆盖掉,这时如果你手贱,你退出nacos账号,巧了,你再用nacos/nacos登录,账号密码就错了,登不上去了。我这边就犯了这个错误。

我将领课教育的几个数据库执行文件都在os_nacos数据库上执行了,这是错误的,应该每个文件对应新建一个数据库,这里我是在nacos配置文件中发现的错误,因为nacos配置数据源时分别链接了这几个文件的同名数据库,也就是说你需要在MySQL新建5个数据库os_course、os_job、os_nacos、os_system、os_user,然后在分别执行对应的sql可执行文件:

而我却错误的都把这几个可执行文件都在os_nacos数据库上执行了,这才导致登录nacos的账号密码users表被覆盖。(如下48张表在同一个数据库中,这样是错的)

把领课教育的数据库os_开头的几个都删掉吧。

重新逐个建数据库吧!这样就没问题啦!

如果你的nacos的的登录配置users表被覆盖了。可以重新执行如下的nacos数据库初始化SQL文件:

将该文件nacos-mysql.sql文件备份一份,然后删掉其余的创建表语句,只留下如下语句(我这边是将users表和roles表一起删了,你可以只删掉users表,下面的语句也就只保留创建users表的语句了):

CREATE TABLE `users` (
	`username` varchar(50) NOT NULL PRIMARY KEY,
	`password` varchar(500) NOT NULL,
	`enabled` boolean NOT NULL
);

CREATE TABLE `roles` (
	`username` varchar(50) NOT NULL,
	`role` varchar(50) NOT NULL,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

最关键的就是最后两行(或者插入users表数据的一行),保存之后,在领课教育服务端的数据库os_nacoss上执行上面的建表文件,即可恢复users表的内容。

这时刷新nacos又可以用nacos/nacos默认的密码账号登陆了!

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值