apollo配置中心从数据库中查询所有的配置及项目
需求背景:如果需要从Apollo查询某个配置项做批量的更新替换,如果一个一个找不合适且容易遗漏,需要从底层数据库表中模糊查询来实现。
1.查看apollo的目录位置:
ps -ef | grep "apollo"
/usr/local/apollo/apollo-portal/apollo-portal.jar
/usr/local/apollo/apollo-configservice/apollo-configservice.jar ## 配置文件
/usr/local/apollo/apollo-adminservice/apollo-adminservice.jar ## admin后台
2.找到mysql的配置文件,找到用户名和密码。
/usr/local/apollo/apollo-configservice
3.mysql 进入mysql客户端,如果有用户名和密码,则输入用户名和密码。mysql -uroot -p (密码为空)
config/目录下面没有配置,代表的是默认链接的本地的mysql root账号,密码为空。
输入: mysql 直接进入mysql客户端。
!ps 返回上一次执行命令的命令。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ApolloConfigDB |
| ApolloPortalDB |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
3.1 根据关键字模糊匹配
select `NamespaceId`, `Key`, `Value`, `Comment` from ApolloConfigDB.Item where `Value` like '%keyword%';
3.2 根据 NamespaceId查询项目名称
## NamespaceId = 19
select * from ApolloConfigDB.Namespace where id in (19);
+-----+----------+-------------+---------------+-----------+----------------------+------------------------+---------------------------+---------------------+
| Id | AppId | ClusterName | NamespaceName | IsDeleted | DataChange_CreatedBy | DataChange_CreatedTime | DataChange_LastModifiedBy | DataChange_LastTime |
+-----+----------+-------------+---------------+-----------+----------------------+------------------------+---------------------------+---------------------+
| 19 | 1010 | default | application | | apollo | 2018-10-22 14:14:36 | apollo | 2018-10-22 14:14:36 |
+-----+----------+-------------+---------------+-----------+----------------------+------------------------+---------------------------+---------------------+
1 row in set (0.00 sec)