网站首页 > 文章中心 > 其它

mysql怎么查看异常

作者:小编 更新时间:2023-09-02 13:23:39 浏览量:128人看过

mysql存储过程怎么获取异常信息

DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement

其中,

handler_type的取值范围:CONTINUE | EXIT | UNDO

condition_value的取值范围:SQLSTATE [VALUE] sqlstate_value | condition_name | SQLWARNING | NOT FOUND | SQLEXCEPTION | mysql_error_code

mysql怎么查看异常-图1

这个语句指定每个可以处理一个或多个条件的处理程序.如果产生一个或多个条件,指定的语句被执行. 对一个CONTINUE处理程序,当前子程序的执行在执行处理程序语句之后继续.对于EXIT处理程序,当前BEGIN...END复合语句的执行被终止.UNDO 处理程序类型语句还不被支持.

- SQLWARNING是对所有以01开头的SQLSTATE代码的速记.

- SQLEXCEPTION是对所有没有被SQLWARNING或NOT FOUND捕获的SQLSTATE代码的速记.

注:除了SQLSTATE值,MySQL错误代码也不被支持.

例:

delimiter $$

CREATE TABLE +_t1+ (

+id+ int(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (+id+)

DELIMITER $$

CREATE DEFINER=+abandonship+@+%+ PROCEDURE +P_TestException+()

BEGIN

declare _var,_err int default 0;

Mysql常见的几个错误问题及解决方法

翻译:不能连接到 localhost 上的mysql

分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.

需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.

解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.

第二段:Unknown MySQL Server Host 'localhosadst' (11001)

翻译:未知的MySQL服务器 localhosadst

分析:服务器 localhosasdst 不存在.或者根本无法连接

解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbhost重新设置为正确的mysql 服务器地址.

翻译:用户 roota 访问 localhost 被拒绝(没有允许通过)

分析:造成这个错误一般数据库用户名和密码相对mysql服务器不正确

解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbuser、$dbpw核实后重新设置保存即可.

翻译:用户 red 在localhost 服务器上没有权限操作数据库newbbs

分析:这个提示和问题三是不同的.那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的.比如在select update等等.这个是因为该用户没有操作数据库相应的权力.比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作.

解决:如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red .或者直接修改 ./config.inc.php 为其配置一个具有对数据库操作权限的用户

提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效

FLUSH PRIVILEGES;

第五段:No Database Selected

翻译:没有数据库被选择上

分析:产生的原因有两种

config.inc.php 里面$dbname设置的不对.致使数据库根本不存在,所以在 $db-select_db($dbname); 时返回了false

和上面问题四是一样的,数据库用户没有select权限,同样会导致这样的错误.当你发现config.inc.php的设置没有任何问题,但还是提示这个错误,那一定就是这种情况了.

解决:对症下药

打开config.inc.php 找到$dbname核实重新配置并保存

同问题四的解决方法

翻译:不能打开xxx_forums.MYI

问题分析:

这种情况是不能打开 cdb_forums.MYI 造成的,引起这种情况可能的原因有:

①.、服务器非正常关机,数据库所在空间已满,或一些其它未知的原因,对数据库表造成了损坏.

解决方法:

①.、修复数据表

可以使用下面的两种方式修复数据表:(第一种方法仅适合独立主机用户)

①.)使用 myisamchk ,MySQL 自带了专门用户数据表检查和修复的工具 —— myisamchk .更改当前目录到 MySQL/bin 下面,一般情况下只有在这个下面才能运行 myisamchk 命令.常用的修复命令为:myisamchk -r 数据文件目录/数据表名.MYI;

注意:以上两种修复方式在执行前一定要备份数据库.

数据库查询异常处理

今天晚上运营同事反馈了系统有个列表数据查询不出来,筛选某个条件又能查出数据来.当运营反馈时,立马收到线上报警邮件提示如下:

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章