关于奇矩互动奇矩互动招贤纳士奇矩互动优质虚拟主机Discuz!商业用户享有本站VIP服务LAMP环境配置手册(CentOS5.1)
 25 123
发新话题
打印

mysql常见错误及分析解决参考方法

本主题由 Edwin 于 2008-4-8 23:13 置顶
Table '**.cdb_***' doesn't exist
error.:1146
问题分析:
查询的数据表不存在,有可能在意外操作的过程中导致表的丢失;或者在安装插件过程中忘记添加插件需要的表,也有可能是配置论坛的 config.inc.php 文件时候,表前缀填写错误;另外,确认下是否是用 Discuz! 相应版本的程序文件连接对应的数据库。

解决方法:
1.如果你已经在论坛后台备份过你的数据库,你可以从你的备份中找回相应的表的数据进行恢复,对于论坛用到的 cdb_caches , cdb_sessions 等表 可以在你的论坛目录里的 install/discuz.sql 中找到重建语句,可以直接重新建立。
2.仔细对照插件作者提供的安装说明,把遗漏的对数据库的操作补上,如果仍然不能解决问题,那么应该怀疑该插件的可用性了。去咨询一下插件作者,或者将其卸载。
3.检查程序文件和论坛的配置文件,看看是否是正确的版本,检查配置文件配置是否正确。

TOP

Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
error.:1251
问题分析:
如果你升级 MySQL 到 4.1 以上版本后遇到以上问题,请先确定你的 MySQL Client 是 4.1 或者更高版本( Windows 下有问题你就直接跳到下面看解决方法了,因为 MySQL 在 Windows 是 client 和 server 一起装上了的)。

解决方法:
1. Windows 平台
主要是改变连接 MySQL 的帐户的加密方式,MySQL 4.1/5.0 是通过 PASSWORD 这种方式加密的。可以通过以下两种方法得到解决:
1) mysql->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');
2) mysql->UPDATE mysql.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';
2. Linux/Unix 平台
Linux 平台下首先确定是否安装过 MySQL 的客户端,这个用 rpm 安装很简单,Linux 代码为:
rpm -ivh MySQL-client-4.1.15-0.i386.rpm
然后在编译 php 的时候要加上:
--with-mysql=/your/path/to/mysql
一般情况下都可以解决。如果还出现这种错误,可以按照下面的方法来做:
mysql->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');
mysql->UPDATE mysql.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';

TOP

Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
error.:2002
问题分析:
出现这个错误一般情况下是因为下面两个原因:
1.MySQL 服务器没有开启。
2.MySQL 服务器开启了,但不能找到 socket 文件。

解决方法:
1.虚拟主机用户,请联系空间商确认数据库是否正常启动。
2.独立主机用户,请检查一下 MySQL 服务是否已经开启,没有开启,请启动 MySQL 服务;如果已经开启,并且是 Linux 系统,请检查一下 MySQL 的 socket 的路径,然后打开 config.inc.php 找到
$dbhost = 'localhost'; 在 hostname 后面加冒号‘:’和 MySQL 的 socket 的路径。
比如 MySQL 服务器为 localhost
MySQL 的 socket 的路径为 /tmp/mysql.sock
那么就改成如下:
$dbhost = 'localhost:/temp/mysql.sock';

TOP

Can't connect to MySQL server on 'localhost'
error.:2003
问题分析:
MySQL 服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini 里 MySQL 的 basedir 路径设置错误等。

解决方法:
1.检查磁盘空间是否还有剩余可用空间,尽量保持有足够的磁盘空间可用。
2.检查 my.ini 里的 basedir 等参数设置是否正确,然后重新启动下 MySQL 服务。

TOP

Lost connection to MySQL server during query
error.:2013
问题分析:
数据库查询过程中丢失了与 MySQL 服务器的连接。

解决方法:
1.请确认您的程序中是否有效率很低的程序,比如某些插件,可以卸载掉插件,检查一下服务器是否正常;
2.服务器本身资源紧张,虚拟主机用户请联系空间商确认,独立主机用户请联系服务器管理员,检查一下服务器是否正常。

TOP

 25 123
发新话题