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

posted @ 2015-01-19 17:23  Peter_youny  阅读(198)  评论(0编辑  收藏  举报