当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL常见错误提示及解决方法

MYSQL
mysql 常用数据库语句 小练习
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
mysql 字符集的系统变量说明
MySQL 在触发器里中断记录的插入或更新?
将MySQL数据库移植为PostgreSQL
mysql 操作总结 INSERT和REPLACE
linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''
运用mysqldump 工具时需要注意的问题
mysql 优化日记
MySQL 字符串函数大全
mysql 截取指定的两个字符串之间的内容
MySQL 备份还原数据库批处理
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
Mysql 数字类型转换函数
mysql 动态生成测试数据
mysql 显示SQL语句执行时间的代码
mysql 设置查询缓存
MYSQL explain 执行计划
MySQL 有输入输出参数的存储过程实例
巧用mysql提示符prompt清晰管理数据库的方法

MYSQL 中的 MySQL常见错误提示及解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 71 ::
收藏到网摘: n/a

130 :文件格式不正确。(还不是很清楚错误的状况)

145 :文件无法打开。

1005:创建表失败。

1006:创建数据库失败。

1007:数据库已存在,创建数据库失败。

1008:数据库不存在,删除数据库失败。

1009:不能删除数据库文件导致删除数据库失败。

1010:不能删除数据目录导致删除数据库失败。

1011:删除数据库文件失败。

1012:不能读取系统表中的记录。

1016:文件无法打开,使用后台修复或者使用 phpmyadmin 进行修复。

Quote:

开始=>所有程序=>附件=>命令提示符

输入 mysql 所在硬盘盘符

cd mysql 所在目录

cd bin

输入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI

ps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径

-f 根据具体情况选择,一般也可以选择 -r

注意你的 系统C盘或放数据库的硬盘空间是否足够,一般小于 1G 很容易出现错误。

或用mysqlcheck命令进行修复。具体的方法:利用命令行进入mysql/bin目录,执行

mysqlcheck -o -r phpwind -uroot -p

其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。然后就会修复你的数据库。

1017:服务器非法关机,导致该文件损坏。

1020:记录已被其他用户修改。

1021:硬盘剩余空间不足,请加大硬盘可用空间。

1022:关键字重复,更改记录失败。

1023:关闭时发生错误。

1024:读文件错误。

1025:更改名字时发生错误。

1026:写文件错误。

1030:可能是服务器不稳定。(具体原因不是很清楚)

1032:记录不存在。

1036:数据表是只读的,不能对它进行修改。

1037:系统内存不足,请重启数据库或重启服务器。

1038:用于排序的内存不足,请增大排序缓冲区。

1040:已到达数据库的最大连接数,请加大数据库可用连接数。

Quote:

在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql

1041:系统内存不足。

1042:无效的主机名。

1043:无效连接。

1044:数据库用户权限不足,请联系空间商解决。

1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。

Quote:

方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改:

如果 MySQL 正在运行,首先停止。

启动 MySQL :bin/safe_mysqld --skip-grant-tables &

就可以不需要密码就进入 MySQL 了。

然后就是

1046:没有选择数据库。

1048:字段不能为空。

1049:数据库不存在。

1050:数据表已存在。

1051:数据表不存在。

1054:字段不存在,自行建立字段。

1060:字段重复,导致无法插入这个字段。

1062:字段值重复,入库失败

Quote:

1.如果出类似主码为"65535"的错误,可以查看相关表的自增字段,将字段值改在就可以

2.确保相关数据表中主码重复的字段是否存在,如果存在删除这条记录

3.备份数据库,修复相关表(注:这种情况比较常见,如pw_posts表,对表进行修复的时候不要忘记备份)

1064:MySQL 不支持错误提示中的编码。

1065:无效的 SQL 语句,SQL 语句为空。

1067:MySQL 版本为 5,不支持空的默认值。

1081:不能建立 Socket 连接。

1114:数据表已满,不能容纳任何记录。

1115:设置的字符集在 MySQL 并没有支持。

1116:打开的数据表太多。

1129:数据库出现异常,请重启数据库。

1130:连接数据库失败,没有连接数据库的权限。

1133:数据库用户不存在。

1135:可能是内存不足够,请联系空间商解决。

1141:当前用户无权访问数据库。

1142:当前用户无权访问数据表。

1143:当前用户无权访问数据表中的字段。

1146:数据表缺失,请恢复备份数据

1147:未定义用户对数据表的访问权限。

1149:SQL 语句语法错误。

1158:网络错误,出现读错误,请检查网络连接状况。

1159:网络错误,读超时,请检查网络连接状况。

1160:网络错误,出现写错误,请检查网络连接状况。

1161:网络错误,写超时,请检查网络连接状况。

1169:字段值重复,更新记录失败。

1177:打开数据表失败。

1180:提交事务失败。

1181:回滚事务失败。

1193:不支持字符集限定(SET NAMES)。

1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库。

1205:加锁超时。

1211:当前用户没有创建用户的权限。

1216:外键约束检查失败,更新子表记录失败。

1217:外键约束检查失败,删除或修改主表记录失败。

1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器。

1227:权限不足,您无权进行此操作。

1235:MySQL版本过低,不具有本功能。

1250:客户端不支持服务器要求的认证协议,请考虑升级客户端。

1251:Client 不能支持 authentication protocol 的要求

Client does not support authentication protocol requested by server; consider upgrading MySQL client

Quote:

方法1:mysql> SET PASSWORD FOR

-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');

结合我们的实际情况,在 MySQL Command Line Client 下运行:

set password for root@localhost = old_password('123456');

方法2:

以下为引用的内容:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

上面红色的部分请按自己实际情况修改。

1267:不合法的混合字符集。

2002:服务器端口不对,请咨询空间商正确的端口。

2003:MySQL 服务没有启动,请启动该服务。

2008:MySQL client ran out of memory

错误指向了MySQL客户mysql。这个错误的原因很简单,客户没有足够的内存存储全部结果。

2013:远程连接数据库是有时会有这个问题,MySQL 服务器在执行一条 SQL 语句的时候失去了连接造成的。

10048:

Quote:

建议在my.ini文件中修改最大连接数,把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
要修改mysql_pconnect(),可以在论坛的data目录的sql_config.php中$pconnect = 0; //是否持久连接修改成$pconnect = 1;开启防刷新,严禁刷新太快。

10055:没有缓存空间可利用

Quote:

查看下你的C盘空间是否已经满,清除一些没有用的文件.

可以在后台的"论坛核心设置","核心功能设置"里"进程优化"开启,"GZIP 压缩输出"关闭.

查找了一下10055(没有缓存空间可利用)出错的原因,分析了my.ini的配制文件,在my.ini中如下:

以下为引用的内容:
default-storage-engine=INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=10M
innodb_log_file_size=10M
innodb_thread_concurrency=8

觉得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M

以上是对mysql5的

如果是mysql4可以在my.ini中增加如下:

以下为引用的内容:
#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50

把前面的#去了

10061:

Quote:

启动这台机器上的MySQL服务

如服务启动失败

一定是你的my.ini文件出了差错,

MySQL服务不能正常启动

你删除了它后,MySQL就会按其默认配置运行,

那就没有问题了