mysql 查看 mata_MySQL管理工具MySQL Utilities — mysqlmetagrep实际应用(37)

假设你管理着一堆的数据库服务器,数千的数据库对象。需要查找出某个对象,可能只知道某一部分等等,也可能需要检查下是否存在。无论如何,通过搜索所有的数据库对象来匹配某个模式将需要很长的时间。幸运的是,我们可以使用mysqlmetagrep 工具来完成这项任务。

实例

查找包含‘cost’的所有对象。

shell> mysqlmetagrep --server=root:root@localhost --body --pattern='%cost%'

+------------------------+--------------+--------------+----------+-------------+------------------+

| Connection | Object Type | Object Name | Database | Field Type | Matches |

+------------------------+--------------+--------------+----------+-------------+------------------+

| root:*@localhost:3306 | FUNCTION | adjust_cost | griots | ROUTINE | adjust_cost |

| root:*@localhost:3306 | TABLE | supplies | griots | COLUMN | cost |

| root:*@localhost:3306 | TABLE | film | sakila | COLUMN | replacement_cost |

+------------------------+--------------+--------------+-----------------+-------------+-------------+

1

2

3

4

5

6

7

8

shell>mysqlmetagrep--server=root:root@localhost--body--pattern='%cost%'

+------------------------+--------------+--------------+----------+-------------+------------------+

|Connection|ObjectType|ObjectName|Database|FieldType|Matches|

+------------------------+--------------+--------------+----------+-------------+------------------+

|root:*@localhost:3306|FUNCTION|adjust_cost|griots|ROUTINE|adjust_cost|

|root:*@localhost:3306|TABLE|supplies|griots|COLUMN|cost|

|root:*@localhost:3306|TABLE|film|sakila|COLUMN|replacement_cost|

+------------------------+--------------+--------------+-----------------+-------------+-------------+

shell> mysql -uroot -proot -e "SHOW CREATE FUNCTION griots.adjust_cost \G"

*************************** 1. row ***************************

Function: adjust_cost

sql_mode:

Create Function: CREATE DEFINER=`root`@`localhost` FUNCTION `adjust_cost`(cost double)

RETURNS double DETERMINISTIC

return cost * 1.10

character_set_client: latin1

collation_connection: latin1_swedish_ci

Database Collation: latin1_swedish_ci

1

2

3

4

5

6

7

8

9

10

shell>mysql-uroot-proot-e"SHOW CREATE FUNCTION griots.adjust_cost \G"

***************************1.row ***************************

Function:adjust_cost

sql_mode:

CreateFunction:CREATEDEFINER=`root`@`localhost`FUNCTION`adjust_cost`(costdouble)

RETURNSdoubleDETERMINISTIC

returncost *1.10

character_set_client:latin1

collation_connection:latin1_swedish_ci

DatabaseCollation:latin1_swedish_ci

在这个实例中,我们使用到数据库模式'%cost%'来查找所有符合‘cost’的对象。同时,使用--body选项来查找存储对象和函数。

我们查找到一个函数adjust_cost,通过SHOW CREATE FUNCTION命令来查看函数体。因此,不仅仅可以查找对象名称包含cost,也可以查找任何逻辑里面可能包含cost。

权限

用户必须有对mysql数据库的SELECT权限。

小技巧

如果使用正则表达式,可以指定--regexp选项来使用正则表达式,而不是数据库模式。如上面的例子可以写成:--pattern='^.*cost.*' --basic-regex。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值