MYSQL 问题

MYSQL 问题

(1)mysql server has gone away

导数据时,如果脚本太大,会执行中断,这时需要修改最大允许包的大小:

set global max_allowed_packet=1024*1024*16;

(2)函数

a.创建

delimiter $$
CREATE DEFINER=`yun_aged_test2`@`%` FUNCTION `GetDistrictName1`(`DistrictID` int) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE DistrictName varchar(255) DEFAULT ''; SELECT area_name into DistrictName from sys_area WHERE area_id = DistrictID; RETURN DistrictName;
END $$

b.显示所有函数

show function status;

c.查看定义

show create function GetDistrictName;

(3)远程拷贝的本地Mysql的储存过程,报错:[Err] 1449 - The user specified as a definer ('admin_isbox'@'localhost') does not exist

凭借以前经常见到的root@localhost报错,给root赋值所有权限:

grant all privileges on *.* to root@"%" identified by ".";

flush privileges;

发现无效。

可能数据库没有此用户:

select user,host from mysql.user;

没找到此用户,但是报错出现了这个用户。寻求谷歌后,找到解决方法:

SELECT definer,type FROM mysql.proc GROUP BY definer,type;

UPDATE mysql.proc SET definer='root@localhost' WHERE definer = '*username*@localhost';

重启数据库,OK

上一篇:CentOS7安装GitLab、汉化、邮箱配置及使用


下一篇:[SQL] 有中间件的两个表该怎么连接