发新话题
打印

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

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


130 :文件格式不正确。(还不是很清楚错误的状况)9 ?4 v& R( _8 Z

. u3 g, l8 B1 b4 [) l1 {* M) {145 :文件无法打开。
! n. ]& d! s0 S6 W$ B
4 L# ^/ U& x  l5 D1005:创建表失败。5 N% S3 @7 M% ], L; u

* Q; u6 @& t( X: N' X+ U3 |$ u( p  _1006:创建数据库失败。
& K3 q, |" v- p/ z! Q$ j6 m5 A) E9 S) p& }) y( T; G
1007:数据库已存在,创建数据库失败。6 M* g; |2 v' S. p' ?- j5 b

; ^, ~3 f9 Z5 |1008:数据库不存在,删除数据库失败。
/ T; a  h+ W4 j
! B2 D) X' h  [% T1009:不能删除数据库文件导致删除数据库失败。0 D. B/ I- A& S9 G7 @) ]6 q
1 j7 P7 m. L1 y5 I3 A* {' D5 a0 K
1010:不能删除数据目录导致删除数据库失败。
4 M; I- ]& U" E2 p2 o4 }6 `7 N
, ]5 `% H% M9 O) |( d' P& S1011:删除数据库文件失败。
' `! V5 o$ Z1 a0 f7 b+ I; w5 L% O6 @2 A' X* U# j' W' T; ~
1012:不能读取系统表中的记录。
& Y$ v+ ^: a" Q( z7 ?$ p# r5 x  b" K& U4 v0 G! d
1016:文件无法打开,使用后台修复或者使用 phpmyadmin 进行修复。# {! i5 W8 o& |! T
3 G- [* d) Y8 n3 ?8 H) a
Quote:! r$ }$ `9 Z. h* a( x" ?7 m" j! ^
开始=>所有程序=>附件=>命令提示符1 v" z5 H5 j0 ?& ^, d$ n
输入 mysql 所在硬盘盘符% D# a6 l0 L3 _' Z
cd mysql 所在目录3 z5 I+ |& |) b
cd bin7 U  f9 D& i, S0 ?
输入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI. k2 f. O  p8 q+ q& C
ps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径" k/ H5 w/ b! T& M, l
-f 根据具体情况选择,一般也可以选择 -r
$ Z' _+ K6 M' l- z0 y5 ]注意你的 系统C盘或放数据库的硬盘空间是否足够,一般小于 1G 很容易出现错误。 ; Z6 S' \( e7 j! O; C9 X1 f
或用mysqlcheck命令进行修复。具体的方法:利用命令行进入mysql/bin目录,执行$ Q; H3 s6 s5 v
mysqlcheck -o -r phpwind -uroot -p 1 E% B( N$ B/ I9 D- P* K; m6 O
其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。然后就会修复你的数据库。
5 p! d; C# ]0 C, a, G$ _" i- i8 B9 h& H& ]
1017:服务器非法关机,导致该文件损坏。4 h5 P$ ^8 y9 [: Q
- L# y0 r7 D7 K
1020:记录已被其他用户修改。* L6 Q/ {  G& O- E9 |1 D
- x# o3 s8 [. _
1021:硬盘剩余空间不足,请加大硬盘可用空间。7 B7 p) L" h7 i% M

3 `1 ]! b7 A; i% p' v1022:关键字重复,更改记录失败。, N6 w  {3 j6 B5 o$ ~6 A2 j- P
, x- f" r# T% j. W9 F$ |! z# Q, c
1023:关闭时发生错误。1 C9 t. f2 R7 v0 J( S/ R- A* Q6 W
4 O6 w% G" ^* f0 X3 e& b
1024:读文件错误。
9 @2 E) v( _4 B9 T" _' {' z
0 U5 \. }- l* j" P& `1025:更改名字时发生错误。& u& a) `6 x& W4 ^+ s: _6 v
2 J3 r% k& s6 a) B+ }
1026:写文件错误。
7 K7 L% o3 y( ~$ Z: a6 D. ]9 Y1 y& y8 A8 \) K2 H1 E
1030:可能是服务器不稳定。(具体原因不是很清楚)2 R9 b3 u1 U* q

0 C: [" ^0 k5 q8 N  G1032:记录不存在。. J2 [% a# F* [* W/ y9 H7 Q* B
8 I* K  z) Q! L; @
1036:数据表是只读的,不能对它进行修改。) d3 G4 B% X  P3 _  R

+ Y5 T6 u: ]; Z9 S1037:系统内存不足,请重启数据库或重启服务器。: P' N5 C) p: h9 m& D: e5 S

: j! r/ M: v! T* i. e3 w$ W1038:用于排序的内存不足,请增大排序缓冲区。
# r, h" m: O7 r6 p" r7 j  l
0 @7 U$ a; g8 }- f2 m1040:已到达数据库的最大连接数,请加大数据库可用连接数。+ _  r0 _* p# ]

. u3 ?& p) A: O9 D0 uQuote:
1 p' `7 V% {" n+ A; r在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql" w) ]( I! z5 h2 {: @" N

6 Q: z; Q, i6 h: d' D6 j* u6 `- R& e1041:系统内存不足。/ w1 e- `4 s# T, {4 o

% c  w8 O  N* j( a# Z1042:无效的主机名。
$ u* G: x1 O0 G: q7 r! ?1 \3 @% N5 O' n* ~$ r" q( X9 f9 S
1043:无效连接。  ^! W; k5 s' \" q2 K0 Z7 q% E
) m  W: J( N' v; I0 x& n' g/ O8 @# q
1044:数据库用户权限不足,请联系空间商解决。
% ]- P( e" K9 R' B$ l$ ^& Q* V# q
- {8 L& O% Q5 t8 m1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
3 _, {# @8 S, y5 h% o3 W) F' m6 B/ V' L1 K( Q! [
Quote:7 e3 G4 m* z: b/ Q- N. n/ j
方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改:; M. d0 h5 w' U* r
如果 MySQL 正在运行,首先停止。
3 Z, Q& I; d* U3 h. ~启动 MySQL :bin/safe_mysqld --skip-grant-tables &;amp; 0 B- f/ w( O! J9 w) `
就可以不需要密码就进入 MySQL 了。% D9 w: A( M0 a3 z7 H' J
然后就是
$ ]; P: Y; D3 b>use mysql
4 R  D! V; F% R7 O) y9 ?>update user set password=password("new_pass") where user="root";
% l; W. O: E8 v9 b# [1 K# X>flush privileges;
0 e, q4 {9 B5 ^, b
8 m, L. O# e$ c" o& u1046:没有选择数据库。* l) m9 t% F% X+ }( L7 s: F! W, Y: H

9 Y: N- k' {4 o% V6 E& i8 A* h- h5 r1048:字段不能为空。
* E& N5 l6 E& t4 l1 X# |" }9 f  Q$ I0 O" N3 ?
1049:数据库不存在。" z* K& `7 a. U% r* R
, w) t8 x! J9 C. ]$ K
1050:数据表已存在。9 X& w8 ]8 X+ K' A

& Z9 L, |+ l8 Q3 `9 c" h/ Y3 a( B5 D1051:数据表不存在。
- m) Y+ X! A! S1 ~5 j2 V, g4 F$ ~; Y! A
1054:字段不存在,自行建立字段。8 Y) a7 _, U- q0 i$ n6 [, W) G0 e" E

( S9 Y) _0 }0 S% _/ h1060:字段重复,导致无法插入这个字段。
; {. J4 S" h2 I# B! ^& G9 Z
. Q. L7 ]7 x8 f! c1062:字段值重复,入库失败
0 U- a% e* |. g: Q/ U  V* S4 u  ?( A5 m$ b. t
Quote:
  l) ?8 P! k# p3 ^1.如果出类似主码为"65535"的错误,可以查看相关表的自增字段,将字段值改在就可以
* Y- M1 k: I/ s0 {2.确保相关数据表中主码重复的字段是否存在,如果存在删除这条记录
4 ]/ y9 K. W# B0 R3.备份数据库,修复相关表(注:这种情况比较常见,如pw_posts表,对表进行修复的时候不要忘记备份).
# `4 H+ G! X! M5 @3 _3 R
9 n3 z/ [, i8 M- C1064:MySQL 不支持错误提示中的编码。* g+ e  d) ~; R" V2 T& y0 _$ Z: @1 C
5 H5 F/ f5 Y- S, x. \) e. L- J+ t3 N
1065:无效的 SQL 语句,SQL 语句为空。
0 z0 x% ^* m9 s1 \& T* j" m' O+ d5 m. Q9 U+ Q% F7 }; q( R
1067:MySQL 版本为 5,不支持空的默认值。
5 x$ i( ~+ L5 N' \& |, B5 t2 B+ @" k5 h; y0 e9 g3 j- C1 I- r
1081:不能建立 Socket 连接。
, M0 Q# n8 g4 O: n5 v) c7 s3 C% F' l. z1 x5 {" G' U* M: W' g6 A
1114:数据表已满,不能容纳任何记录。
3 L8 W, K4 E: A2 d1 ~0 X* i( }1 D2 L9 J
1115:设置的字符集在 MySQL 并没有支持。
) t4 J. C! E7 U  g7 A
# Q6 v0 m: l; R; r. V1116:打开的数据表太多。
& J- J! |& z9 C) I% {" b8 W% G9 N+ ^+ s! d
1129:数据库出现异常,请重启数据库。. v+ `8 B1 N' k5 s" e

5 K0 \2 Z$ F, X1130:连接数据库失败,没有连接数据库的权限。
/ c; K! h" e2 ^* k& l
# a  L5 V" o9 [) X1133:数据库用户不存在。
3 ~0 V) K3 E) E; C  p/ `7 S: d8 [* a9 P) {4 u) C/ g3 s2 Z
1135:可能是内存不足够,请联系空间商解决。
; B1 s. M, Z: Y2 h  i: b: o7 M6 R! [0 {
1141:当前用户无权访问数据库。
/ ]2 _9 {! w# \+ Z0 ]% @9 P1 Y
( ^7 w$ x' D' Q1142:当前用户无权访问数据表。) Z& C1 o, a( q- q# |5 F  r9 _  E
( E" G8 K* F5 }$ J3 V0 G& }
1143:当前用户无权访问数据表中的字段。; c( I. M+ }. w  j/ r7 Q
1 Z) L/ t0 ^( u. O* G0 N
1146:数据表缺失,请恢复备份数据2 y; ]) y9 T0 M7 W- u! m
3 H7 J5 P  D7 K) d' o& h8 a
1147:未定义用户对数据表的访问权限。7 i3 p) @' l9 l% p9 P* Y  `8 b
7 n$ w# S* Q* ?, y. _' c
1149:SQL 语句语法错误。
9 r9 ^) Y5 \& F, ]  ?. }. w, }5 q8 v) T1 U8 I
1158:网络错误,出现读错误,请检查网络连接状况。0 D' {8 v6 N) n1 C8 c8 V

" k& T% y9 O& M% ~7 c5 b1159:网络错误,读超时,请检查网络连接状况。
* N! j( H$ G) @' q
2 F+ B, B  Q+ Z0 ]1160:网络错误,出现写错误,请检查网络连接状况。
& g& g" F0 U1 y, z4 U4 r/ k/ r
" w0 Q" Y& B: i& ~5 D* b1 T1161:网络错误,写超时,请检查网络连接状况。& |9 _( Q. l: t  v  r
/ T" P+ a9 A* ^0 m& O
1169:字段值重复,更新记录失败。4 K5 G5 N1 B( Z+ @3 @0 U
( E$ T" p5 c4 d0 x* a
1177:打开数据表失败。8 \- l: i. B' }& s

, ^8 e" k! S3 Y& k1180:提交事务失败。( u' s, }! t! x# t1 ]8 U

" X& {% ^$ {7 Z. ^1181:回滚事务失败。
/ I9 u, I7 E$ g. K* Y) D8 ], ?8 `) u4 Q( h! q  k
1193:不支持字符集限定(SET NAMES)。( `/ X2 V; c/ `
7 k  x% I6 L* u0 I0 E0 j6 M
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库。9 P1 I$ q, J1 U

1 X5 b* U- I( q9 I1205:加锁超时。6 t' ~4 h" Q+ I

' D8 E) n% W& T8 b$ {) B1211:当前用户没有创建用户的权限。! b8 w! |' H/ n: z' |6 x5 n: M
9 J5 d: |3 q) Q; _. Q) I
1216:外键约束检查失败,更新子表记录失败。" g; H, @. K) Y. f" e3 ]3 ^1 l
. X3 N2 {% A& r" r9 c
1217:外键约束检查失败,删除或修改主表记录失败。9 G& p6 x- l+ t5 W2 e% ]. A

8 k% J. B: R# K- b6 S. L3 @1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器。0 ^/ p4 @! I: F! Y, J

6 f3 j; \' c- }1227:权限不足,您无权进行此操作。
$ X, w9 v& s6 M5 H9 ^6 h* C3 W+ ^3 z' W! x
1235:MySQL版本过低,不具有本功能。/ @4 ^' z; [  U
: e5 H2 C" W5 R; T
1250:客户端不支持服务器要求的认证协议,请考虑升级客户端。
) G3 b# P, U% w) d* Z  s, r% t. R; y% X4 C9 [- q8 b9 [( A
1251:Client 不能支持 authentication protocol 的要求
' P4 y7 H- A* `) mClient does not support authentication protocol requested by server; consider upgrading MySQL client
" e4 p9 q6 H, F$ c$ x5 x4 A/ n  N1 x7 [% i6 Z' L3 ^# @
Quote:$ ]6 v8 z+ J/ l" W
方法1:mysql> SET PASSWORD FOR 1 M7 v1 o% |3 k
-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd '); . @0 _) C  N/ C( J
& a2 @# i/ W# m! S- b: x$ p- S
结合我们的实际情况,在 MySQL Command Line Client 下运行: 7 }* Y" _7 m6 o; |7 y5 J3 l

6 W3 i" d: A- j+ m0 z2 sset password for root@localhost = old_password('123456');; Y. h2 N  r* S: c

( O/ n0 k; i9 c- O" O6 D4 F8 P+ h方法2:/ o: ~9 m! T5 a- g+ s4 N

* x. b0 n6 |4 Y/ ?% Q9 o2 rmysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
2 p# {" M" B9 B$ `+ Z  n' g9 c-> WHERE Host = 'some_host' AND User = 'some_user';
/ O7 d; L6 f1 T! J) s& wmysql> FLUSH PRIVILEGES;+ ]2 E7 a3 E* J! O" z! |9 f

9 U  {) Z/ I! @4 I上面红色的部分请按自己实际情况修改。
+ Q6 Q3 j8 L7 T8 v1 B
) \) T8 E( q1 A+ Q5 @9 F+ N! [& L1267:不合法的混合字符集。; e& y2 W0 g- [& ?+ q$ n
5 ~( ^0 R  i8 f  c/ d6 D5 J
2002:服务器端口不对,请咨询空间商正确的端口。* O0 n( x- q* v" \- M

9 ^1 _( s3 Y! q: S7 L- U; O2003:MySQL 服务没有启动,请启动该服务。/ \, M+ Z) D3 m: {" T
; |. N) Z  \0 g  j7 _& e
2008:MySQL client ran out of memory9 s# ]$ v' ~% S
错误指向了MySQL客户mysql。这个错误的原因很简单,客户没有足够的内存存储全部结果。6 v8 f3 H, |9 I- w& g- ]
: h) O/ M( C; W4 C: u/ k) }
2013:远程连接数据库是有时会有这个问题,MySQL 服务器在执行一条 SQL 语句的时候失去了连接造成的。
0 D4 n6 t. U8 M) i, o) t  q7 y8 _# z2 i; i
10048:+ d+ e% a  W5 W% o+ r" l' V

- ?2 S# S6 F0 c5 \5 J' rQuote:
9 D& e8 ]' B6 b2 l建议在my.ini文件中修改最大连接数,
" i& C+ G+ m; l$ Z0 P4 {# l把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
# j7 i% H! t% C要修改mysql_pconnect(),可以在论坛的data目录的sql_config.php中8 w4 {! W0 {% D, l  d0 J
$pconnect = 0; //是否持久连接8 H# k* G. b  N5 [$ p: ^
修改成$pconnect = 1;; V* a+ f! K* K& W% J4 n
开启防刷新,严禁刷新太快.
( B/ J$ j4 _' c5 Q( j9 V2 D7 d* M- d8 Z* `! n) J4 J6 V7 w9 q
10055:没有缓存空间可利用
1 x; b! T1 O& T! {5 n4 {( |" d9 Y8 J5 i
Quote:
# B2 J' u) w& b( K查看下你的C盘空间是否已经满,清除一些没有用的文件.
, n0 v6 k" y; A2 \9 S+ }可以在后台的"论坛核心设置","核心功能设置"里"进程优化"开启,"GZIP 压缩输出"关闭.
/ _7 e8 G+ y, _' k" T7 a查找了一下10055(没有缓存空间可利用)出错的原因,分析了my.ini的配制文件,在my.ini中如下:" E% {% {1 a% @
default-storage-engine=INNODB$ {4 }: @( N5 U# `1 f. t
innodb_additional_mem_pool_size=2M  A' d% l( ?0 t5 X8 |. @
innodb_flush_log_at_trx_commit=1
6 ~7 O% \1 [+ a* c# R- R  ^" F" ~# ~innodb_log_buffer_size=1M
* N1 ]; ~" ]/ M' e, @+ P7 f! b. Dinnodb_buffer_pool_size=10M
7 `) p) O  N! ?! i7 ?1 xinnodb_log_file_size=10M
- L4 J. U& ~4 }+ Y1 z9 linnodb_thread_concurrency=8
1 {8 W6 K: X- F* o4 c3 R. S2 Y, H觉得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M! u, _: g- {7 ~! [6 x+ A
以上是对mysql5的% p4 E5 `; }! L" {
% K# c% F. W6 O  H
如果是mysql4可以在my.ini中增加如下:
( {% U3 F/ p( ]0 U#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
- o, e) L! T0 N4 r& z+ y: [4 I#innodb_data_home_dir = c:ibdata
) T2 s$ R# S3 T6 Q* D! b+ U% T#innodb_log_group_home_dir = c:iblogs
) M# K! ~* y- l' I7 \3 j#innodb_log_arch_dir = c:iblogs
* F1 A7 R0 w8 {# ?+ T#set-variable = innodb_mirrored_log_groups=1: d  L  N) V# i4 g
#set-variable = innodb_log_files_in_group=3
& l# c1 b) V& K/ ^* {7 I9 J& Z#set-variable = innodb_log_file_size=5M! l0 R" d2 @! A2 ]( w1 Y) w0 Y
#set-variable = innodb_log_buffer_size=8M
, x- R, E  M, L/ z( V% u8 h#innodb_flush_log_at_trx_commit=1
  t2 ]0 j: A  S; ?; p" H#innodb_log_archive=0( |$ {; P0 M% O3 P
#set-variable = innodb_buffer_pool_size=16M# {; e( g: ]' L2 [
#set-variable = innodb_additional_mem_pool_size=2M, @5 c/ \6 T6 d' W
#set-variable = innodb_file_io_threads=42 w2 d$ N1 `+ M  n
#set-variable = innodb_lock_wait_timeout=50
% z# J6 e) t1 L* j' X  S# \( I把前面的#去了% N* ?) B8 ~* |# T2 P$ k9 D
: c8 t7 [0 N0 v; o7 C- k
10061: % O) l% x9 P* ^, [
$ l: n( U/ E. F+ \: w
Quote:
" G9 `/ W+ o- \+ V: P. N2 U( }6 p5 A( C( c启动这台机器上的MySQL服务 3 z7 A  Z" n8 b3 [* n
如服务启动失败
, B; ~9 f4 x$ f( n9 N+ K一定是你的my.ini文件出了差错,
; z; O& L1 @% s- R. i: ^MySQL服务不能正常启动 3 H* ~$ w1 k) m4 P+ D
你删除了它后,MySQL就会按其默认配置运行,- [, J# [' X+ @! K( N
那就没有问题了



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题