温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么处理MySQL数据库相关异常

发布时间:2021-10-27 16:38:45 来源:亿速云 阅读:226 作者:柒染 栏目:数据库

怎么处理MySQL数据库相关异常,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  大家都明白,任何数据库在使用过程中,发生异常是不可避免的。下面小编来讲解下MySQL数据库相关异常怎么处理?

  问题一:启动mysql时候出现StartingMySQL..Managerofpid-filequitwithoutupdatingf[失败]StartingMySQL...Managerofpid-filequitwithoutupdating[失败]

  解决方案:

  第一种:

  1.删除/usr/local/mysql/data/mysql-bin.*文件夹所有临时文件数字后缀名。

  2.重启mysql(用二进制安装后,重启的方法)servicemysqldstart。

  第二种:

  编辑/etc/my.cnf添加:

  [mysqld]datadir=/var/lib/mysql

  MySQL服务器把数据库存储在由datadir变量所定义的目录中。

  查看已有进程之后杀掉:

  ps-aux|grepmysql8016pts/200:00:00mysqld_safe8037pts/200:00:00mysqld

  重启mysql。

  第三种:

  在/etc/my.cnf中注释掉

  skip-federated=>#skip-federated

  第四种:

  有时候在/etc/my.cnf中设置了datadir=/var/lib/mysql重启mysql就会出现这种错误。

  若不单独设置,mysql默认数据目录为mysql安装目录下。

  问题二:当让系统自己生成库时候,出现FATALERROR:Couldnotfind./bin/my_print_defaults。

  解决方案:/usr/local/mysql/scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

  问题三:mysql_connect()[function.mysql-connect]:Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(13)/eccore/model/mysql.php94或者StartingMySQL/etc/init.d/mysql:line327:--socket=/var/lib/mysql/mysql.sock。

  解决方案:

  1>加入如下代码,让mysql去tmp文件夹应用这个文件,以前默认为/var/lib/mysql/mysql.sock这个地址。

  修改/etc/my.cnf

  [mysql]socket=/tmp/mysql.sock

  2>进入/tmp文件夹创建mysql.sock

  touchmysql.sock

  3>重启mysql

  /etc/init.d/mysqldrestart

  MySQL数据库相关异常怎么处理

  问题四:A主机mysql访问B主机mysql:mysql-uroot-proot-P3306-h292.168.100.52出现如下错误:ERROR2003(HY000):Can'tconnecttoMySQLserveron'192.168.100.52'(113)

  解决方案:

  1.服务器要能在网(公网)上被访问到,如果有防火墙,要开放3306端口(MySQL默认的监听端口);

  关闭所有防火墙/etc/rc.d/init.d/iptablesstop

  加入规则vim/etc/sysconfig/iptables

  2.在mysql服务器上建立一个远程用户,最简单的方式就是

  grantALLPRIVILEGESon*.*tousername@"%"identifiedby"root"

  问题五:出现MySQLserverhasgoneaway有几种情况。

  解决方案:

  1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。

  解决方案:

  在my.cnf文件中添加或者修改以下两个变量:

  wait_timeout=2880000interactive_timeout=2880000

  关于两个变量的具体说明可以google或者看官方手册。

  如果不能修改my.cnf,则可以在连接数据库的时候设置CLIENT_INTERACTIVE,比如:

  sql="setinteractive_timeout=24*3600";mysql_real_query(...)

  2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。

  解决方案:

  在my.cnf文件中添加或者修改以下变量:

  max_allowed_packet=10M(也可以设置自己需要的大小)

  max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度。

看完上述内容,你们掌握怎么处理MySQL数据库相关异常的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节
推荐阅读:
  1. 异常处理
  2. PHP 异常处理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI