WEB开发网
开发学院数据库MySQL MySQL常见问题集锦 阅读

MySQL常见问题集锦

 2010-01-05 15:54:44 来源:WEB开发网   
核心提示:Out of memory错误mysql: Out of memory at line 42, 'malloc.c'mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)ERROR 2008: MySQL client r

Out of memory错误

mysql: Out of memory at line 42, 'malloc.c'

mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)

ERROR 2008: MySQL client ran out of memory

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

首先检查你的查询是否正确

Packet too large错误

一个MySQL客户或mysqld服务器得到一个比max_allowed_packet个字节长的包

可以通过用mysql --set-variable=max_allowed_packet=8M指定一个更大的缓冲区来启动客户程序。

The table is full错误

这个错误发生在内存临时表变得比tmp_table_size字节大时。

Commands out of sync in client错误

正在以错误的次序调用客户函数!
Ignoring user错误

Found wrong password for user: _user@some_host'">'some_user@some_host'; Ignoring user

这意味着在mysqld启动时或在它再次装载权限表时,它在user表中找到了一个有一个无效口令的条目。结果,条目简单地被权限系统忽略。

Table 'xxx' doesn't exist错误

数据库和表名件是区分大小写的!可以用SHOW TABLES检查你在当前数据库中有哪个表。

从一个文本文件运行SQL命令

可以把SQL命令放在一个文件中并且告诉mysql从该文件读取其输入:创造一个文本文件“text_file”,它包含要执行的命令。然后如下调用mysql:

shell> mysql database < text_file

shell> mysql < text_file

启动有USE db_name语句的文本文件。

怎样重新设置一个忘记的口令

如果忘记了MySQL的root用户的口令,可以使用如下方法恢复:

通过发送一个kill(不是kill -9)到mysqld服务器来关闭mysqld服务器。pid 被保存在一个.pid文件中,通常在MySQL数据库目录中:

kill `cat /mysql-data-directory/hostname.pid`

你必须是一个UNIX root用户或运行服务器的相同用户做这个。

使用--skip-grant-tables选项重启mysqld。

用mysql -h hostname mysql连接mysqld服务器并且用一条GRANT命令改变口令。见7.26 GRANT和REVOKE句法。也可以用mysqladmin -h hostname -u user password 'new password' 进行。

用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES来装载权限表。

使用DATE列的问题

DATE值的格式是'YYYY-MM-DD'。

Tags:MySQL 常见问题 集锦

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接