mysql该账户已存在_mysql 查看函数的所属用户和已存在的函数
復(fù)現(xiàn)方式:
Delete FROM user Where User='test' and Host='%';
flush privileges;
修復(fù)流程:
1.用root用戶刪除兩個函數(shù),語句分別為
DROP FUNCTION IF EXISTS currval;
DROP FUNCTION IF EXISTS nextval;
2.然后用程序用戶(sharding_slave)創(chuàng)建函數(shù),創(chuàng)建語句為:
DELIMITER $
CREATE FUNCTION currval (seq_name VARCHAR(50))
RETURNS BIGINT(20)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE value BIGINT(20);
SET value = 0;
SELECT current_value INTO value
FROM key_sequence
WHERE table_name = seq_name;
RETURN value;
END
$
DELIMITER ;
DELIMITER $
CREATE FUNCTION nextval (seq_name VARCHAR(50))
RETURNS BIGINT(20)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
UPDATE key_sequence
SET current_value = current_value + increment
WHERE table_name = seq_name;
RETURN currval(seq_name);
END
$
DELIMITER ;
3.查看definer 是否為 程序用戶
select db,name,type,created,definer from mysql.proc where db like 'dbname;
修改definer:
參考博客:https://www.cnblogs.com/zejin2008/p/4767531.html
總結(jié)
以上是生活随笔為你收集整理的mysql该账户已存在_mysql 查看函数的所属用户和已存在的函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浮生不若梦孤影照惊鸿什么意思 浮生不若梦
- 下一篇: session mysql登录实现_PH