【问题描述】
nacos部署未用mysql,直接运行,使用了默认的derby数据库,这时候不一小心修改的密码给忘记了,无法登录
当时是部署在centos上的一个演示环境,没有采用mysql数据库,如果生产上,建议使用mysql。
【解决方案】
1、下载管理工具
从官方上下载管理工具:Apache Derby
(因为我本地是jdk1.8版本,就下载这个包。)
下载完成后,上传至服务器,并解压,就可以使用 ij
这个客户端连接工具了。
2、连接derby
注意:连接derby的时候,先得关闭nacos,否则 derby会连接不上,报错如下:
错误XJ040:无法使用类加载程序 sun.misc.Launcher$AppClassLoader@5e2de80c 启动数据库 '/home/nacos/data/derby-data',请参阅下一个异常错误,以了解详细信息。 错误XSDB6:Derby 的另一个实例可能已引导数据库 /home/nacos/data/derby-data。
使用 ij
这个客户端,进入客户端:
[root@xff db-derby-10.14.2.0-bin]# cd bin/ [root@ffcs152 bin]# sh ij ij 版本 10.14 ij>
连接数据库
connect 'jdbc:derby:/home/nacos/data/derby-data;create=true'
其中 /home/nacos/data/derby-data
是nacos的data目录下的路径,按你项目的实际路径修改即可
3、 修改密码
执行下面几个命令即可
显示所有表数据
ij> show tables; TABLE_SCHEM |TABLE_NAME |REMARKS ------------------------------------------------------------------------ SYS |SYSALIASES | SYS |SYSCHECKS | SYS |SYSCOLPERMS | SYS |SYSCOLUMNS | SYS |SYSCONGLOMERATES | SYS |SYSCONSTRAINTS | SYS |SYSDEPENDS | SYS |SYSFILES | SYS |SYSFOREIGNKEYS | SYS |SYSKEYS | SYS |SYSPERMS | SYS |SYSROLES | SYS |SYSROUTINEPERMS | SYS |SYSSCHEMAS | SYS |SYSSEQUENCES | SYS |SYSSTATEMENTS | SYS |SYSSTATISTICS | SYS |SYSTABLEPERMS | SYS |SYSTABLES | SYS |SYSTRIGGERS | SYS |SYSUSERS | SYS |SYSVIEWS | SYSIBM |SYSDUMMY1 | NACOS |APP_CONFIGDATA_RELATION_PUBS | NACOS |APP_CONFIGDATA_RELATION_SUBS | NACOS |APP_LIST | NACOS |CONFIG_INFO | NACOS |CONFIG_INFO_AGGR | NACOS |CONFIG_INFO_BETA | NACOS |CONFIG_INFO_TAG | NACOS |CONFIG_TAGS_RELATION | NACOS |GROUP_CAPACITY | NACOS |HIS_CONFIG_INFO | NACOS |PERMISSIONS | NACOS |ROLES | NACOS |TENANT_CAPACITY | NACOS |TENANT_INFO | NACOS |USERS | 已选择 38 行 ij>
修改密码
update NACOS.USERS set PASSWORD='$2a$10$XH9mSVbEm05R1mkKnKEIk.ps/E0g.j7/cg0hxyfxO033llg4kIFr2' where USERNAME='nacos';
其中 $2a$10$XH9mSVbEm05R1mkKnKEIk.ps/E0g.j7/cg0hxyfxO033llg4kIFr2 这个密码是nacos的加密串,也就是密码为 nacos
,初始化后再自行修改即可。
4、再重启nacos
(注意:启动nacos的时候要把ij客户端先关掉,否则nacos无法成功启动)
sh startup.sh -m standalone
5、访问nacos页面
用nacos/nacos登录改密即可。