【使用环境 】 测试环境
【 OB or 其他组件 】
【 使用版本 】oceanbase-ce-4.3.5.1
【问题描述】使用系统租户root,可以修改myslq租户下 的root的密码吗(忘记mysql租户密码了)
【重新步骤】容器化单机部署oceanbase,忘记mysql租户密码,如何找回?
直连ob,切换租户
alter system change tenant tenant _id = xxx;
如果这种方法不能用,那应该就没其他办法了
。ob是租户隔离基本的sys无法修改其他租户的root密码
容器化单机部署的,如果系统租户 root或者 业务租户root密码忘记了,都没办法找回了吗,或者 还可以导出业务租户的数据吗?
找不回了。在yaml文件中会存放sys的root密码
可以试试一个偏方,可能有用,找到普通租户的密码密文去一些md5网站做解密,有可能解出来,或者密文和其他用户的密文一样。
之前甚至试过查看普通租户的mysql.user表,发现一个用户没设置密码。
## 直连OBServer用root@sys集群用户登录
obclient -hxxxx -P2881 -uroot@sys -paaBB11__ oceanbase -A -c
## 切换到普通租户
obclient [oceanbase]> alter system change tenant obmysql;
Query OK, 0 rows affected (0.001 sec)
## 查看普租户的用户密码表
obclient [oceanbase]> select user,host,password from mysql.user;
+------------+------+-------------------------------------------+
| user | host | password |
+------------+------+-------------------------------------------+
| root | % | *3fb54de55b8c1axxxxxxxxxxxxxxxe08bcc52f77 |
| ORAAUDITOR | % | *c8fda4b08ee0xxxxxxxxxxxxxxxacb23162b5b00 |
+------------+------+-------------------------------------------+
2 rows in set (0.001 sec)
## 用下面这个网站,把密码串帖进去(不要密码前面的*),尝试对这个密码做解析,简单密码的话也许能解出来
https://www.cmd5.com/
想试试__all_ddl_operation表有没保存明文记录来着,发现OB很严谨,没有明文记录 ![]()
SET PASSWORD FOR root = password(‘明文’) 操作自动转为了 SET PASSWORD FOR root = ‘’*a02aa727cf2e8c5e6f07a382910c4028’ 密文格式
obclient [oceanbase]> SELECT gmt_create,LEFT(ddl_stmt_str,60) FROM oceanbase.__all_ddl_operation WHERE 1=1 AND length(ddl_stmt_str)>2 ORDER BY gmt_create DESC;
+----------------------------+--------------------------------------------------------------+
| gmt_create | LEFT(ddl_stmt_str,60) |
+----------------------------+--------------------------------------------------------------+
| 2025-12-09 17:51:08.571710 | SET PASSWORD FOR `root` = '*a02aa727cf2e8c5e6f07a382910c4028 |
| 2025-12-09 17:43:05.138240 | CREATE USER if not exists `aaa` |
| 2025-12-08 13:33:03.311103 | SET PASSWORD FOR `root` = '*3fb54de55b8c1ac738c1352139bcae08 |
| 2025-12-08 13:32:49.228934 | CREATE USER if not exists `ORAAUDITOR` IDENTIFIED BY PASSWOR |
| 2025-12-08 13:32:49.227868 | CREATE USER if not exists `root` IDENTIFIED BY PASSWORD '' |
| 2025-12-08 13:32:49.212921 | GRANT ALL PRIVILEGES ON `test`.* TO `root` |
| 2025-12-08 13:32:49.210773 | GRANT ALL PRIVILEGES ON `information_schema`.* TO `root` |
| 2025-12-08 13:32:49.209697 | GRANT ALL PRIVILEGES ON `mysql`.* TO `root` |
| 2025-12-08 13:32:49.200058 | GRANT ALL PRIVILEGES ON `__recyclebin`.* TO `root` |
| 2025-12-08 13:32:49.200058 | GRANT ALL PRIVILEGES ON `__public`.* TO `root` |
| 2025-12-08 13:32:49.198989 | GRANT ALL PRIVILEGES ON `oceanbase`.* TO `root` |
+----------------------------+--------------------------------------------------------------+
11 rows in set (0.005 sec)
不可以
