一、Can"t connect to MySQL server on "localhost"(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误。?解决:既然没有启动那就去启动这台机子的mysql。如果启动不成功,多数是因为你的my.ini配置的有问题。重新配置其即可。?如果觉得mysql负载异常,可以到mysql/bin 的目录下执行mysqladmin-uroot -p123 processlist来查看mysql当前的进程。 二、Unknown MySQL ServerHost "localhosadst" (11001) 翻译:未知的MySQL服务器localhosadst?分析:服务器localhosasdst 不存在。或者根本无法连接?解决:仔细检查自己论坛下面的./config.inc.php找到$dbhost重新设置为正确的mysql 服务器地址。 三、Access denied for user:"roota@localhost" (Using password: YES) ?翻译:用户roota 访问 localhost 被拒绝(没有允许通过)?分析:造成这个错误一般数据库用户名和密码相对mysql服务器不正确?解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbuser、$dbpw核实后重新设置保存即可。
四、Access denied for user:"red@localhost" to database "newbbs"? 翻译:用户 red在localhost 服务器上没有权限操作数据库newbbs?分析:这个提示和问题三是不同的。那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的。比如在selectupdate等等。这个是因为该用户没有操作数据库相应的权力。比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作。?解决:如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red 。或者直接修改./config.inc.php 为其配置一个具有对数据库操作权限的用户?或者通过如下的命令来更新授权grantall privileges on dbname.* to "user"@"localhost" identified by "password"?提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效?FLUSH PRIVILEGES;
七、Table"test.xxx_sessions" doesn"t exist ?翻译:xxxxx表不存在?分析:在执行sql语句时没有找到表,比如:SELECT * FROMxxx_members WHERE uid="XX" 这里如果表xxx_members不存在于$dbname库里,那么就会提示这个错误。具体可分为以下三种情况来讨论:?安装插件或者hack时修改了程序文件,而忘记了对数据库作相应的升级。?后台使用了不完全备份,导入数据时没有导入到已经安装了相应版本的论坛的数据库中。?解决: 同样对症下药,不同的原因不同的处理方法。?仔细对照插件作者提供的安装说明,把遗漏的对数据库的操作补上,如果仍然不能解决问题,那么应该怀疑该插件的可用性了。去咨询一下插件作者,或者将其卸载。?不要张冠李戴,多大的脚就穿多大的鞋。总之使得程序文件和数据库配套即可.
八、Unknown column"column_name" in "field list" 翻译:未知的字段名column_name?分析:在执行sql语句是出现了指定表中没有的字段名称,就会出现这个错误。具体导致的原因可分为以下两种?安装插件或者hack时修改了程序文件,而忘记了对数据库作相应的升级。?程序文件和数据库不配套,比如d2.5的数据库配置给d4.1的程序来用肯定会出现这个错误。?解决: 导致的原因和问题八的1和 3是相同的,所以解决方法也一样。
九、You have an error in yourSQL syntax 翻译:有一个语法错误在你的sql中?分析:论坛标准的程序是没有sql语法错误的。所以造成这个错误的原因一般就两类?安装插件或擅自修改程序。?不同的数据库版本数据库导出导入,比如MySQL4.1的数据在导出的语句包含了MySQL4.0没有的功能,像字符集的设定,这时如果将这些sql导入到MySQL4.0的时候就会产生sql语法错误。?解决:?仔细检查看到底是哪里的错误,将其修正,实在不行就用标准程序把出错的程序替换。?在数据库备份的时候要留意,如果不打算倒入到其他版本的mysql中则不用特殊考虑,反之要特殊的设定。使用DZ4.1的后台数据备份,可以按照提示去设定想要的格式。独立主机的也可以在到处的时候将其导出为mysql4.0的格式。?mysqldump -uroot -p--default-character-set=latin1 --set-charset=gbk --skip-opt databse >test.sql
十六、Unknown system variable"NAMES" ?翻译:未知的系统变量NAMES?分析:Mysql版本不支持字符集设定,此时强行设定字符集就会出现这个错误。?解决: 将sql语句中的SET NAMES ‘xxx" 语句去掉
十七、 Lost connection toMySQL server during query? 翻译:MySQL服务器失去连接在查询期间?分析:远程连接数据库是有时会有这个问题。MySQL服务器在执行一条sql语句的时候失去了连接造成的。?解决: 一般不需要怎么去处理,如果频繁的出现那么考虑改善硬件环境。
十九、Too many connections(1040)链接过多? 翻译:达到最大连接数?问题分析:?连接数超过了mysql设置的值,与max_connections和wait_timeout 都有关系。wait_timeout的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大?解决方法:?1.虚拟主机用户请联系空间商优化MySQL 服务器的配置;?2.独立主机用户请联系服务器管理员优化MySQL 服务器的配置,可参考:?修改MySQL 配置文件 my.ini 或者 my.cnf 中的参数:?max_connections= 1000?wait_timeout = 10?修改后重启 MySQL ,如果经常性的报此错误,请做一下服务器的整体优化。
二十、There is no such grantdefined for user "%s" on host "%s"? 错误编号:1141?问题分析:?MySQL当前用户无权访问数据库。?解决方法:?1、虚拟主机用户请联系空间商,确认给你提供的帐号是否有授权数据库的权限。?2、独立主机用户请联系服务器管理员,确认给您提供的数据库帐号是否有管理此数据库的权限。
二十一、Error on rename of "%s"to "%s" (errno: %d)?error.:1025? 问题分析:?请检查一下您的程序是否有修改数据库表名的语句。?解决方法:?1.请检查您的程序中哪些地方需要修改数据库表名;?2.如果您的实际应用确实需要修改到数据库表名的话,请联系空间商或者服务器管理员给您开放修改库名的权限和服务器本身是否正常。
二十三、Host "*****" is blockedbecause of many connection errors; unblock with "mysqladmin flush-hosts"?error.:1129 问题分析:?数据库出现异常,请重启数据库。?解决方法:?1. 由于存在很多连接错误,主机"****"被屏蔽,虚拟主机用户请联系空间商处理,独立主机用户请联系服务器管理员,在MySQL 的命令控制台下执行"mysqladmin flush-hosts"解除屏蔽即可,或者重启MySQL 数据库
二十五、Got error 28 from tablehandler?error.:1030? 问题分析:?数据库所在磁盘空间已满。?解决方法:?1.虚拟主机用户请联系空间商增加MySQL 所在的磁盘空间或者清理一些无用文件;?2.独立主机用户请联系服务器管理员增加MySQL 所在的磁盘空间或者清理一些无用文件
二十六、Can"t create a newthread; if you are not out of available memory, you can consult the manual fora possible OS-dependent bug。?error.:11/35? 问题分析:?数据库服务器问题,数据库操作无法创建新线程。一般是两个原因:?1.服务器系统内存溢出。?2.环境软件损坏或系统损坏。?解决方法:?1.虚拟主机用户请联系下空间商数据库服务器的内存和系统是否正常。?2.独立主机用户请联系服务器管理员检查服务器的内存和系统是否正常,如果服务器内存紧张,请检查一下哪些进程消耗了服务器的内存,同时考虑是否增加服务器的内存来提高整个的负载能力。
二十七、Error: Client does notsupport authentication protocol requested by server; consider upgrading MySQLclient?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 SETPassword=OLD_PASSWORD("new_password") WHERE Host="some_host" ANDUser="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";
二十八、Error: Can"t connect tolocal 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";
二十九、Can"t connect to MySQLserver on "localhost"?error.:2003? 问题分析:?MySQL服务没有启动,一般是在异常的情况下 MySQL 无法启动导致的,比如无可用的磁盘空间,my.ini里 MySQL 的 basedir 路径设置错误等。?解决方法:?1.检查磁盘空间是否还有剩余可用空间,尽量保持有足够的磁盘空间可用。?2.检查 my.ini 里的basedir 等参数设置是否正确,然后重新启动下 MySQL 服务。
三十、Lost connection to MySQLserver during query?error.:2013 ?问题分析:?数据库查询过程中丢失了与MySQL 服务器的连接。?解决方法:?1.请确认您的程序中是否有效率很低的程序,比如某些插件,可以卸载掉插件,检查一下服务器是否正常;?2.服务器本身资源紧张,虚拟主机用户请联系空间商确认,独立主机用户请联系服务器管理员,检查一下服务器是否正常。
三十一、Got a packet bigger than"max_allowed_packet" bytes? 错误编号:1153?问题分析:调整了 Mantis 的上传附件的大小却没有调整 MySQL 的配置文件。?解决办法:?1、独立主机用户请按照以下方法调整:?查找 MySQL 的配置文件(my.cnf 或者my.ini)?在[mysqld] 部分添加一句(如果存在,调整其值就可以):?max_allowed_packet=10M?重启 MySQL 服务就可以了。这里设置的是 10MB。