10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

MySQL 5.7参考手册// MySQL企业数据屏蔽和De-Identification函数描述

6.5.5 MySQL企业数据屏蔽和De-Identification函数描述

MySQL企业数据屏蔽和De-Identification插件库包含几个功能,这可能是这些类别分为:

这些函数将字符串参数作为二进制字符串(这意味着他们不区分字母盘),返回值是二进制字符串和字符串。如果一个字符串返回值应该在不同的字符集,转换它。下面的例子显示了如何转换的结果gen_rnd_email ()utf8mb4字符集:

设置=转换(gen_rnd_email()使用utf8mb4);

它也可能需要转换字符串参数,如所示为客户识别使用蒙面数据

如果一个MySQL企业数据屏蔽和De-Identification函数中调用mysql客户端,二进制串结果显示使用十六进制符号,这取决于的价值——binary-as-hex。这个选项的更多信息,请参阅4.5.1节,“mysql——mysql命令行客户端”

数据屏蔽功能

在本节中每个函数执行一个屏蔽操作字符串参数并返回蒙面的结果。

  • mask_inner (str,margin1,margin2(,mask_char])

    面具内部字符串的一部分,离开没有结束,返回结果。可以指定一个可选的屏蔽字符。

    参数:

    • str:字符串的面具。

    • margin1:一个非负整数,指定数量的字符在字符串的左端继续揭露。如果该值为0,没有左端字符仍一览无遗。

    • margin2:一个非负整数,指定数量的字符在字符串的右端继续揭露。如果该值为0,没有权利结束字符仍一览无遗。

    • mask_char:单个字符(可选)用于屏蔽。默认值是“X”如果mask_char不是。

      屏蔽字符必须是一个单字节字符。尝试使用多字节字符产生一个错误。

    返回值:

    带着面具的字符串,或如果利润是负的。

    如果利润值之和大于参数长度,没有屏蔽时,返回的参数是不变。

    例子:

    mysql >选择mask_inner(六边形abcdef, 1, 2), mask_inner(的六边形abcdef 0 5);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_inner(六边形abcdef, 1, 2) | mask_inner(的六边形abcdef 0 5) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | aXXXef | Xbcdef | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_inner(六边形abcdef, 1, 2,‘*’), mask_inner(六边形abcdef, 0 5 ' # ');+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_inner(六边形abcdef, 1, 2,‘*’) | mask_inner(六边形abcdef, 0 5 ' # ') | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | * * * ef | # bcdef | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • mask_outer (str,margin1,margin2(,mask_char])

    面具左边和右边的一个字符串,把室内揭露,并返回结果。可以指定一个可选的屏蔽字符。

    参数:

    • str:字符串的面具。

    • margin1:一个非负整数,指定数量的字符在字符串的左端面具。如果该值为0,不戴面具的左端字符。

    • margin2:一个非负整数,指定数量的字符在字符串的右端面具。如果该值为0,不戴面具的右端字符。

    • mask_char:单个字符(可选)用于屏蔽。默认值是“X”如果mask_char不是。

      屏蔽字符必须是一个单字节字符。尝试使用多字节字符产生一个错误。

    返回值:

    带着面具的字符串,或如果利润是负的。

    如果利润值之和大于参数长度,整个论点是蒙面。

    例子:

    mysql >选择mask_outer(六边形abcdef, 1, 2), mask_outer(的六边形abcdef 0 5);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_outer(六边形abcdef, 1, 2) | mask_outer(的六边形abcdef 0 5) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | XbcdXX | aXXXXX | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_outer(六边形abcdef, 1, 2,‘*’), mask_outer(六边形abcdef, 0 5 ' # ');+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_outer(六边形abcdef, 1, 2,‘*’) | mask_outer(六边形abcdef, 0 5 ' # ') | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | * bcd * * | # # # # # | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • mask_pan (str)

    面具支付卡主帐号并返回数量,但取而代之的最后四位数字“X”字符。

    参数:

    • str:字符串的面具。字符串长度必须是适合主账号,但不检查。

    返回值:

    带着面具的付款数字作为一个字符串。如果所需的参数是短于,它返回不变。

    例子:

    mysql >选择mask_pan (gen_rnd_pan ());+ - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan (gen_rnd_pan ()) | + - - - - - - - - - - - - - - - - - - - - - - - - - + | XXXXXXXXXXXX9102 | + - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan (gen_rnd_pan (19));+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan (gen_rnd_pan (19)) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | XXXXXXXXXXXXXXX8268 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan (“a * Z”);+ - - - - - - - - - - - - - - - - - - + | mask_pan (“a * Z”) | + - - - - - - - - - - - - - - - - - - Z + | * | + - - - - - - - - - - - - - - - - - - +
  • mask_pan_relaxed (str)

    面具支付卡主帐号并返回数量与所有但前六,最后四个数字所取代“X”字符。前六位数指示付款信用卡发行商。

    参数:

    • str:字符串的面具。字符串长度必须是适合主账号,但不检查。

    返回值:

    带着面具的付款数字作为一个字符串。如果所需的参数是短于,它返回不变。

    例子:

    mysql >选择mask_pan_relaxed (gen_rnd_pan ());+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan_relaxed (gen_rnd_pan ()) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 551279 xxxxxx3108 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan_relaxed (gen_rnd_pan (19));+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan_relaxed (gen_rnd_pan (19)) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 462634 xxxxxxxxx6739 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan_relaxed (“a * Z”);+ - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan_relaxed (“a * Z”) | + - - - - - - - - - - - - - - - - - - - - - - - - - Z + | * | + - - - - - - - - - - - - - - - - - - - - - - - - - +
  • mask_ssn (str)

    掩盖了美国社会安全号码和回报,但取而代之的最后四位数字“X”字符。

    参数:

    • str:字符串的面具。字符串必须11个字符长,但不检查。

    返回值:

    带着面具的社会安全号码作为一个字符串,或如果参数不正确的长度。

    例子:

    mysql >选择mask_ssn (“909-63-6922”), mask_ssn (“abcdefghijk”);+ - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_ssn (909-63-6922) | mask_ssn (“abcdefghijk”) | + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + | xxx - xx - 6922 | XXX-XX-hijk | + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_ssn (' 909 ');+ - - - - - - - - - - - - - - - - - - + | mask_ssn(‘909’) | + - - - - - - - - - - - - - - - - - - +零| | + - - - - - - - - - - - - - - - - - - +

随机数据生成函数

本节中的函数为不同类型的数据生成随机值。在可能的情况下,生成的值特征用于演示或测试值,避免他们误认为是合法的数据。例如,gen_rnd_us_phone ()返回一个使用美国电话号码区号555,这不是分配给电话号码在实际使用。单个函数描述描述任何例外原则。

  • gen_range (较低的,)

    生成一个随机数从指定范围选择。

    参数:

    • 较低的:一个整数指定区间的下边界。

    • :一个整数指定区间的上限,必须不低于下边界。

    返回值:

    从一个随机整数较低的、包容、如果参数小于较低的

    例子:

    mysql >选择gen_range (100、200), gen_range (-1000、-800);+ - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + | gen_range (100、200) | gen_range (-1000、-800) | + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + | 177 | -917 | + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择gen_range (1,0);+ - - - - - - - - - - - - - - - - - - + | gen_range(1,0) | + - - - - - - - - - - - - - - - - - - +零| | + - - - - - - - - - - - - - - - - - - +
  • gen_rnd_email ()

    生成一个随机的电子邮件地址example.com域。

    参数:

    一个也没有。

    返回值:

    一个随机的电子邮件地址作为字符串。

    例子:

    mysql >选择gen_rnd_email ();+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_rnd_email () | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ijocv.mwvhhuf@example.com + | | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • gen_rnd_pan ([大小])

    生成一个随机的支付卡主帐号。通过Luhn检查数量(一个算法执行校验和验证与校验位)。

    警告

    返回值从gen_rnd_pan ()应仅用于测试目的,不适合出版。没有办法保证给定的返回值不是分配给一个合理的付款账户。应该有必要发布gen_rnd_pan ()因此,考虑屏蔽它mask_pan ()mask_pan_relaxed ()

    参数:

    • 大小(可选):一个整数,指定大小的结果。默认是16大小不是。如果有,大小必须是一个整数的范围从12到19岁。

    返回值:

    随机支付数量作为一个字符串,或如果一个大小参数在允许的范围之内。

    例子:

    mysql >选择mask_pan (gen_rnd_pan ());+ - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan (gen_rnd_pan ()) | + - - - - - - - - - - - - - - - - - - - - - - - - - + | XXXXXXXXXXXX5805 | + - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan (gen_rnd_pan (19));+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan (gen_rnd_pan (19)) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | XXXXXXXXXXXXXXX5067 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan_relaxed (gen_rnd_pan ());+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan_relaxed (gen_rnd_pan ()) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 398403 xxxxxx9547 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择mask_pan_relaxed (gen_rnd_pan (19));+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | mask_pan_relaxed (gen_rnd_pan (19)) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | 578416 xxxxxxxxx6509 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择gen_rnd_pan (11), gen_rnd_pan (20);+ - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | gen_rnd_pan (11) | gen_rnd_pan(20) | + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +零零| | | + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • gen_rnd_ssn ()

    生成一个随机的美国社会安全号码AAA- - - - - -BB- - - - - -预备格式。的AAA部分大于900年BB部分小于70,特点不用于合法的社会安全号码。

    参数:

    一个也没有。

    返回值:

    一个随机的社会安全号码为字符串。

    例子:

    mysql >选择gen_rnd_ssn ();+ - - - - - - - - - - - - - - - - - - + | gen_rnd_ssn () - - - - - - - - - - - - - - - - - - | + + | 951-26-0058 | + - - - - - - - - - - - - - - - - - - +
  • gen_rnd_us_phone ()

    生成一个随机的美国电话号码1 - 555 -AAA- - - - - -BBBB格式。555区号不用于合法的电话号码。

    参数:

    一个也没有。

    返回值:

    一个随机的美国电话号码作为字符串。

    例子:

    mysql >选择gen_rnd_us_phone ();+ - - - - - - - - - - - - - - - - - - - - - - + | gen_rnd_us_phone () | + - - - - - - - - - - - - - - - - - - - + | 1-555-682-5423 | + - - - - - - - - - - - - - - - - - - - +

随机数据词典功能

本节中的功能操作基于字典的条款和执行生成和屏蔽操作。这些功能需要超级特权。

字典加载时,它变成了字典注册表的一部分,被赋予一个名字供其他词典的功能。从纯文本文件加载的字典是每行包含一个术语。空行被忽略。字典文件是有效的,必须包含至少一个非空的行。

  • gen_blacklist (str,dictionary_name,replacement_dictionary_name)

    替换一个术语出现在一个字典词从一个字典并返回替换词。这面具代换原词。

    参数:

    • str:一个字符串,表示这个词来替换。

    • dictionary_name:一个字符串名称包含术语的词典来取代。

    • replacement_dictionary_name:一个字符串名字的字典选择替换词。

    返回值:

    一个字符串从随机选择replacement_dictionary_name作为一个替代str,或str如果它不出现在dictionary_name,或如果在注册表字典词典的名字不是。

    如果这个词来替代出现在这两个字典,它是可能的返回值是相同的。

    例子:

    mysql >选择gen_blacklist(“柏林”、“DE_Cities”,“US_Cities”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_blacklist(“柏林”、“DE_Cities”,“US_Cities”) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -凤凰城+ | | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • gen_dictionary (dictionary_name)

    返回一个随机的词从一个字典。

    参数:

    • dictionary_name:一个字符串名称字典的选择项。

    返回值:

    随机词的字典作为一个字符串,或如果字典名称没有在字典里注册。

    例子:

    mysql >选择gen_dictionary (“mydict”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary (“mydict”) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |我的词+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择gen_dictionary (“no-such-dict”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary (“no-such-dict”) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +零| | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • gen_dictionary_drop (dictionary_name)

    从字典中删除一个字典注册表。

    这个函数需要超级特权。

    参数:

    • dictionary_name:一个字符串名称字典从字典里删除注册表。

    返回值:

    一个字符串,表明下降操作是否成功。字典了表示成功。字典删除错误显示失败。

    例子:

    mysql >选择gen_dictionary_drop (“mydict”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary_drop (“mydict”) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + |字典删除| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择gen_dictionary_drop (“no-such-dict”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary_drop (“no-such-dict”) | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | | +字典删除错误- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  • gen_dictionary_load (dictionary_path,dictionary_name)

    加载一个文件到字典注册表和分配使用的词典名称与其他功能需要一个字典名称参数。

    这个函数需要超级特权。

    重要的

    字典是不持久的。任何词典使用的应用程序必须为每个服务器启动时加载。

    一旦加载到注册中心,使用一个字典,即使底层字典文件更改。重新加载一个字典,首次下降gen_dictionary_drop (),然后再加载它gen_dictionary_load ()

    参数:

    • dictionary_path:一个字符串,指定字典文件的路径名。

    • dictionary_name:一个字符串,它提供了一个名称为字典。

    返回值:

    一个字符串,表明加载操作是否成功。字典加载成功表示成功。字典加载错误显示失败。字典加载故障可能发生的原因有几个,其中包括:

    • 字典的名字已经加载。

    • 字典文件没有找到。

    • 字典文件不包含任何条款。

    • secure_file_priv设置系统变量和字典文件不是位于目录命名的变量。

    例子:

    mysql >选择gen_dictionary_load (“/ usr /地方/ mysql / mysql-files / mydict ', ' mydict ');+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary_load (“/ usr /地方/ mysql / mysql-files / mydict ', ' mydict ') | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | | +字典加载成功- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + mysql >选择gen_dictionary_load (“/ dev / null”、“零”);+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | gen_dictionary_load (“/ dev / null”、“零”)| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | | +字典加载错误- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +