<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[mysql错误日志及解决全攻略]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Thu, 19 Mar 2009 01:21:30 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	说明:如果遇到数据库出错的问题修改相应的代码后一般要重启mysql。如果遇到mysql的问题可以先重启一下mysql 看看问题能否解决。<br/>1005：创建表失败<br/>1006：创建数据库失败<br/>1007：数据库已存在，创建数据库失败<br/>1008：数据库不存在，删除数据库失败<br/>1009：不能删除数据库文件导致删除数据库失败<br/>1010：不能删除数据目录导致删除数据库失败<br/>1011：删除数据库文件失败<br/>1012：不能读取系统表中的记录<br/>1016: 无法打开文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;击后 开始=>所有程序=>附件=>命令提示符<br/>&nbsp;&nbsp;&nbsp;&nbsp;输入 mysql 所在硬盘盘符<br/>&nbsp;&nbsp;&nbsp;&nbsp; cd mysql 所在目录<br/>&nbsp;&nbsp;&nbsp;&nbsp; cd bin<br/>&nbsp;&nbsp;&nbsp;&nbsp;输入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI<br/>&nbsp;&nbsp;&nbsp;&nbsp;ps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径<br/>&nbsp;&nbsp;&nbsp;&nbsp; -f 根据具体情况选择，一般也可以选择 -r<br/>&nbsp;&nbsp;&nbsp;&nbsp; 注意你的 系统C盘或放数据库的硬盘空间是否足够，一般小于 1G 很容易出现错误。 <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;或用mysqlcheck命令进行修复。具体的方法：利用命令行进入mysql/bin目录，执行<br/><br/>mysqlcheck -o -r phpwind -uroot -p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>其中phpwind是你数据库的名称，root是你的数据库用户名，然后会提示你输入密码。&nbsp;&nbsp;<br/><br/>然后就会修复你的数据库。<br/>1020：记录已被其他用户修改<br/>1021：硬盘剩余空间不足，请加大硬盘可用空间<br/>1022：关键字重复，更改记录失败<br/>1023：关闭时发生错误<br/>1024：读文件错误<br/>1025：更改名字时发生错误<br/>1026：写文件错误<br/>1032：记录不存在<br/>1036：数据表是只读的，不能对它进行修改<br/>1037：系统内存不足，请重启数据库或重启服务器<br/>1038：用于排序的内存不足，请增大排序缓冲区<br/>1040：已到达数据库的最大连接数，请加大数据库可用连接数<br/>1041：系统内存不足<br/>1042：无效的主机名<br/>1043：无效连接<br/>1044：当前用户没有访问数据库的权限<br/>1045：不能连接数据库，用户名或密码错误<br/>方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改:<br/>如果 MySQL 正在运行，首先停止。<br/>启动 MySQL ：bin/safe_mysqld --skip-grant-tables &<br/>就可以不需要密码就进入 MySQL 了。<br/>然后就是<br/>>use mysql<br/>>update user set password=password("new_pass") where user="root";<br/>>flush privileges;<br/>在数据库的用户名和密码正确的情况一下，要确保data目录有写入的权限。对于windows主机可以设置users用户组在data目录有写入的权限。对类linux系统可以用chmod -r 777 data来修改。<br/><br/><br/>1040: 最大连接数<br/>&nbsp;&nbsp;&nbsp;&nbsp;方法:在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql<br/>1048：字段不能为空<br/>1049：数据库不存在<br/>1050：数据表已存在<br/>1051：数据表不存在<br/>1054：字段不存在<br/>1065：无效的SQL语句，SQL语句为空<br/>1081：不能建立Socket连接<br/>1114：数据表已满，不能容纳任何记录<br/>1116：打开的数据表太多<br/>1129：数据库出现异常，请重启数据库<br/>1130：连接数据库失败，没有连接数据库的权限<br/>1133：数据库用户不存在<br/>1141：当前用户无权访问数据库<br/>1142：当前用户无权访问数据表<br/>1143：当前用户无权访问数据表中的字段<br/>1146：数据表不存在<br/>1147：未定义用户对数据表的访问权限<br/>1149：SQL语句语法错误<br/>1158：网络错误，出现读错误，请检查网络连接状况<br/>1159：网络错误，读超时，请检查网络连接状况<br/>1160：网络错误，出现写错误，请检查网络连接状况<br/>1161：网络错误，写超时，请检查网络连接状况<br/>1062：字段值重复，入库失败<br/>方法:<br/>&nbsp;&nbsp;&nbsp;&nbsp;1.如果出类似主码为"65535"的错误,可以查看相关表的自增字段,将字段值改在就可以<br/>&nbsp;&nbsp;&nbsp;&nbsp;2.确保相关数据表中主码重复的字段是否存在,如果存在删除这条记录<br/>&nbsp;&nbsp;&nbsp;&nbsp;3.备份数据库,修复相关表(注:这种情况比较常见,如pw_posts表,对表进行修复的时候不要忘&nbsp;&nbsp;&nbsp;&nbsp; 记备份).<br/>1169：字段值重复，更新记录失败<br/>1177：打开数据表失败<br/>1180：提交事务失败<br/>1181：回滚事务失败<br/>1203：当前用户和数据库建立的连接已到达数据库的最大连接数，请增大可用的数据库连接数或重启数据库<br/>1205：加锁超时<br/>1211：当前用户没有创建用户的权限<br/>1216：外键约束检查失败，更新子表记录失败<br/>1217：外键约束检查失败，删除或修改主表记录失败<br/>1226：当前用户使用的资源已超过所允许的资源，请重启数据库或重启服务器<br/>1227：权限不足，您无权进行此操作<br/>1235：MySQL版本过低，不具有本功能<br/><br/>1250：客户端不支持服务器要求的认证协议，请考虑升级客户端。<br/><br/>1251:Client does not support authentication protocol requested by server; consider upgrading MySQL client<br/><br/>方法1：mysql> SET PASSWORD FOR<br/>-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');<br/><br/>结合我们的实际情况,在 MySQL Command Line Client 下运行:<br/><br/>set password for root@localhost = old_password('123456');<br/><br/>方法2:<br/><br/>mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')<br/>&nbsp;&nbsp;&nbsp;&nbsp; -> WHERE Host = 'some_host' AND User = 'some_user';<br/>mysql> FLUSH PRIVILEGES;<br/><br/>上面红色的部分请按自己实际情况修改。<br/><br/><br/>10061: 方法:&nbsp;&nbsp;&nbsp;&nbsp; 启动这台机器上的MySQL服务<br/>&nbsp;&nbsp;&nbsp;&nbsp;如服务启动失败<br/>&nbsp;&nbsp;&nbsp;&nbsp;一定是你的my.ini文件出了差错，<br/>&nbsp;&nbsp;&nbsp;&nbsp;MySQL服务不能正常启动<br/>&nbsp;&nbsp;&nbsp;&nbsp;你删除了它后，MySQL就会按其默认配置运行，<br/>&nbsp;&nbsp;&nbsp;&nbsp;那就没有问题了<br/>10048:<br/>&nbsp;&nbsp;&nbsp;&nbsp;建议在my.ini文件中修改最大连接数，<br/>&nbsp;&nbsp;&nbsp;&nbsp;把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.<br/>&nbsp;&nbsp;&nbsp;&nbsp;要修改mysql_pconnect()，可以在论坛的data目录的sql_config.php中<br/>&nbsp;&nbsp;&nbsp;&nbsp;$pconnect = 0; //是否持久连接<br/>&nbsp;&nbsp;&nbsp;&nbsp;修改成$pconnect = 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;开启防刷新,严禁刷新太快.<br/>10055:没有缓存空间可利用<br/>&nbsp;&nbsp;&nbsp;&nbsp;方法:查看下你的C盘空间是否已经满,清除一些没有用的文件.<br/>&nbsp;&nbsp;&nbsp;&nbsp;可以在后台的"论坛核心设置","核心功能设置"里"进程优化"开启,"GZIP 压缩输出"关闭.<br/><br/>查找了一下10055（没有缓存空间可利用）出错的原因，分析了my.ini的配制文件，在my.ini中如下：<br/>default-storage-engine=INNODB<br/>innodb_additional_mem_pool_size=2M<br/>innodb_flush_log_at_trx_commit=1<br/>innodb_log_buffer_size=1M<br/>innodb_buffer_pool_size=10M<br/>innodb_log_file_size=10M<br/>innodb_thread_concurrency=8<br/><br/>觉得可以把innodb_buffer_pool_size=10M　加大如100M或是1000M<br/><br/>以上是对mysql5的<br/><br/>如果是mysql4可以在my.ini中增加如下：<br/><br/>#innodb_data_file_path = ibdata1：2000M;ibdata2：2000M<br/>#innodb_data_home_dir = c：ibdata<br/>#innodb_log_group_home_dir = c：iblogs<br/>#innodb_log_arch_dir = c：iblogs<br/>#set-variable = innodb_mirrored_log_groups=1<br/>#set-variable = innodb_log_files_in_group=3<br/>#set-variable = innodb_log_file_size=5M<br/>#set-variable = innodb_log_buffer_size=8M<br/>#innodb_flush_log_at_trx_commit=1<br/>#innodb_log_archive=0<br/>#set-variable = innodb_buffer_pool_size=16M<br/>#set-variable = innodb_additional_mem_pool_size=2M<br/>#set-variable = innodb_file_io_threads=4<br/>#set-variable = innodb_lock_wait_timeout=50<br/><br/>把前面的#去了<br/><br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a> , <a href="http://www.dzhope.com/tags/%25E9%2594%2599%25E8%25AF%25AF%25E6%2597%25A5%25E5%25BF%2597/" rel="tag">错误日志</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] mysql错误日志及解决全攻略]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>