【问题描述】
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登录改密即可。