MySQL数据库常见错误问题解答
2007-04-22 10:55:44 来源:WEB开发网如果你忘记了MySQL的root用户的口令,你可以用下列过程恢复它。
通过发送一个kill(不是kill-9)到mysqld服务器来关闭mysqld服务器。pid被保存在一个.pid文件中,通常在MySQL数据库目录中:
kill`cat/mysql-data-directory/hostname.pid`
你必须是一个UNIXroot用户或运行服务器的相同用户做这个。
使用--skip-grant-tables选项重启mysqld。
用mysql-hhostnamemysql连接mysqld服务器并且用一条GRANT命令改变口令。见7.26GRANT和REVOKE句法。你也可以用mysqladmin-hhostname-uuserpassword’newpassword’进行。
用mysqladmin-hhostnameflush-privileges或用SQL命令FLUSHPRIVILEGES来装载权限表。
18.10文件许可权限问题
如果你有与文件许可有关的问题,例如,如果当你创建一张表时,mysql发出下列错误消息:
ERROR:Can’tfindfile:’path/with/filename.frm’(Errcode:13)
那么可能是在mysqld启动时,环境变量UMASK可能设置不正确。缺省的umask值是0660。你可以如下启动safe_mysqld改变其行为:
shell>UMASK=384 #=600inoctal
shell>exportUMASK
shell>/path/to/safe_mysqld&
18.11文件没找到
如果你从MySQL得到ERROR’...’notfound(errno:23),Can’topenfile:...(errno:24)或任何其他有errno23或errno24的错误,它意味着,你没有为MySQL分配足够的文件描述符。你能使用perror实用程序得到错误号含义是什么的描述:
shell>perror23
Filetableoverflow
shell>perror24
Toomanyopenfiles
这里的问题是mysqld正在试图同时保持打开太多的文件。你也可以告诉mysqld一次不打开那么多的文件,或增加mysqld可得到的文件描述符数量。为了告诉mysqld一次保持打开更少的文件,你可以通过使用safe_mysqld的-Otable_cache=32选项(缺省值是64)使表缓冲更小。减小max_connections值也将减少打开文件的数量(缺省值是90)。
更多精彩
赞助商链接