MySQL数据库常见错误类型及解决方法

平常在使用美国主机的时候,尤其是Linux操作系统的主机,咱们基本都会和MySQL数据库打交道,毕竟网站的所有数据都放置在MySQL数据库里面。

不过在网站建设的过程中,有时候使用MySQL数据库,或者访问网站可能会出现各种错误,而这些都是由于MySQL数据库设置不正确而导致 。今天小编就简单总结下MySQL数据库常见错误类型及解决方法,希望对大家有所帮助。

Can't connect to MySQL server on localhost

这个错误很容易理解,就是网站无法连接到MySQL数据库。

解决方法:

首先需要看看MySQL服务有没有正常启动,对于使用美国虚拟主机来说,我们基本没有权限来启动或关闭MySQL服务功能,因此这个时候需要联系主机商帮忙解决。

如果MySQL数据库是正常启动的话,那么就需要在配置文件中查看本地连接localhost是不是指向127.0.0.1。另外,也需要看看数据库名以及数据库用户名的填写是否正确。

Access denied for user: root@localhost

用户root访问localhost被拒绝,这个错误一般是由于数据库用户名和密码相对MySQL服务器不正确

解决方法:

仔细检查网站所对应的./config.inc.php文件,并且找到$dbuser、$dbpw,核实用户名和密码后,重新设置保存即可。

Access denied for user: 'user@localhost' to database 'XXX'

这个错误是显示用户user没有对xxx数据库具有操作权限。

这个错误和第一个问题是不同的,第一个是无法连接数据库,而这个错误是用户对数据进行操作时而导致,比如在进行选择、修改数据库时等操作。

解决方法:

如果使用的独立主机,那么需要更新mysql.user的相应用户记录,或者直接修改 ./config.inc.php,为其配置一个具有对数据库操作权限的用户。

如果是虚拟主机的话,可以进入控制面板,然后找到对应的数据库,并且为该用户赋予对数据库操作的所有权限。

You have an error in your SQL syntax

这个错误一般是由于错误的SQL语法引起的,因为很多博客、论坛程序是没有对应的SQL语法的,所以这个错误的原因一般是安装插件或擅自修改程序导致的。

不同的数据库版本数据库导出导入,比如MySQL4.2数据在导出的语句包含了MySQL4.1没有的功能,这时如果将这些SQL导入到MySQL4.1时就会产生错误。

解决方法:

仔细检查看具体是哪里导致的,然后更正好。另外,在数据库备份时要注意,如果不打算导入到其他版本的MySQL中则不用特殊考虑,否则要区别对待。

Can’t not create Database.Database exists

不能创建某个数据库,该数据库已经存在。由于一个MySQL下面的数据库名称必须保证唯一性,否则就会有这个错误。

解决方法:

把已经存在的数据库删除或改名,也可以把将要创建的数据库重新改名,让其名称不冲突就可以了。

Too many connections

此错误是表示已经达到最大连接数,连接数超过了MySQL设置的值,这个与max_connections和wait_timeout 都有关系。

解决方法:

如果是美国虚拟主机的话,需要联系主机商优化MySQL服务器的配置,或者尽可能减少网站的在线访问人数。

如果是独立服务器的话,可以自行优化MySQL服务器的配置,具体方法如下:

修改MySQL配置文件my.ini或者my.cnf 中的参数:

max_connections= 2000

wait_timeout = 20

修改后重启MySQL数据库,如果经常性的报此错误,可以对服务器的整体性能做优化。

Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

出现这个错误一般是因为下面两个原因导致的:

1、MySQL服务器没有开启。

2、MySQL服务器开启了,但无法找到socket文件。

解决方法:

1、如果是美国虚拟主机的话,需要联系主机商确认数据库是否正常启动。

2、如果是独立主机的话,请检查一下MySQL服务是否已经开启。如果已经开启,需要检查MySQL的socket路径,然后打开config.inc.php找到

$dbhost = 'localhost'; 在hostname后面加冒号‘:’和 MySQL 的 socket 的路径。

Got a packet bigger than 'max_allowed_packet' bytes

这个因为调整了Mantis的上传附件的大小,但却没有调整MySQL的配置文件,从而引起的错误。

解决方法:

1、独立服务器可以按照以下方法调整:

查找MySQL的配置文件(my.cnf 或者 my.ini)

在[mysqld]部分添加一句(如果已有调整下值就可以):

max_allowed_packet=20M

重启MySQL服务就可以了,这里设置的是20MB。

2、虚拟主机用户可以联系主机商调整此参数。

以上简单总结MySQL数据库常见错误类型及相应的解决方法,在使用美国主机的时候可能经常遇到,大家可以参考以上解决方案进行解决。当然,MySQL数据库错误类型远远不止这些,不过都能找到相应的解决方法,所以出现问题也不必惊慌失措。

12

发表回复