MySQL_Function

本文深入探讨了SQL中常用的时间函数、字符处理函数、数学运算函数、加密函数及其应用,通过实例展示了如何使用这些函数进行数据库操作。此外,文章还介绍了如何在数据库中插入数据并使用密码、MD5、编码等安全功能。最后,提供了详细的关键词和新标签,帮助读者快速定位和理解相关技术。

    1. Time

155417_cgdg_2363350.png

select curdate(), curtime(), month(birthday) from t_t;

155530_JNa4_2363350.png

select curdate(), curtime(), month(birthday) month from t_t;

155645_5Xpm_2363350.png


    2. Char

155729_7Bsu_2363350.png

    i. char_length

select userName, char_length(userName) from t_t;

155831_Vmwg_2363350.png

    ii. upper, lower

select userName, char_length(userName), upper(userName), lower(userName) from t_t;

160121_FdS2_2363350.png


    3. Match Function

160204_ZVu9_2363350.png

    i. abs

select num, abs(num) from t_t;

160307_c2ue_2363350.png

    ii. sqrt

select num, abs(num), sqrt(num) from t_t;

160415_uMM9_2363350.png

    iii. mod

select num, abs(num), sqrt(num), mod(9,2) from t_t;

160528_hGqe_2363350.png


    4. Cryptographic function

160617_qXNq_2363350.png

    i. password

insert into t_t values(null, '2015-04-08', 'Aa', 1, password('123456'));

160801_jKTe_2363350.png

    ii. md5

insert into t_t values(null, '2015-04-08', 'Aa', 1, md5('123456'));

160938_MQQm_2363350.png

    iii. encode & decode

161011_big8_2363350.png

insert into t_t values(null, '2015-04-08', 'Aa', 1, md5('123456'), encode('abcd','aa'));

161158_HkoQ_2363350.png

select pp, decode(pp,'aa') from t_t where id=7;

161255_Ie4r_2363350.png


转载于:https://my.oschina.net/u/2363350/blog/672264

### 问题分析 在尝试安装 `mysql_native_password` 插件时,如果遇到错误 `INSTALL PLUGIN mysql_native_password SONAME error: Function 'mysql_native_password' already exists`,这通常表明插件的符号已经存在于 MySQL 的插件系统中,无法重复注册。尽管 `mysql_native_password` 是 MySQL 的原生插件之一,但在某些版本或配置中,可能由于插件加载状态异常或插件符号冲突导致此类问题。 ### 插件加载状态检查 在尝试安装插件之前,应首先检查 `mysql_native_password` 插件的加载状态: ```sql SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'mysql_native_password'; ``` 如果插件状态为 `ACTIVE` 或 `DISABLED`,则说明插件已经存在,无法再次安装。此时应尝试启用插件或直接使用该插件进行用户认证设置[^1]。 ### 插件状态修复与使用 如果插件状态为 `DISABLED`,可以通过 MySQL 配置文件启用插件。在 `my.cnf` 或 `my.ini` 中添加以下配置: ```ini [mysqld] plugin-load-add=mysql_native_password.so ``` 然后重启 MySQL 服务以加载插件。重启后,确认插件状态是否已变为 `ACTIVE`,并尝试修改用户认证方式: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password'; ``` ### 插件冲突与修复 如果提示 `Function 'mysql_native_password' already exists`,说明插件已经注册,但可能由于配置问题导致无法正常使用。此时可以尝试卸载并重新安装插件: ```sql UNINSTALL PLUGIN mysql_native_password; INSTALL PLUGIN mysql_native_password SONAME 'mysql_native_password.so'; ``` 如果卸载失败,可能表示该插件是 MySQL 的内置插件之一,无法通过 `UNINSTALL PLUGIN` 删除。在这种情况下,应直接使用插件进行用户认证配置。 ### 配置默认认证插件 为避免插件冲突问题,可以在 MySQL 配置文件中设置默认认证插件: ```ini [mysqld] default_authentication_plugin=mysql_native_password ``` 此配置确保新创建的用户默认使用 `mysql_native_password` 插件进行认证,避免因插件未加载导致的问题。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值