电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> mysql>>mysql常见问题集锦(二):

mysql常见问题集锦(二)

来源:www.cncfan.com | 2006-3-20 | (有3489人读过)

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: ''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''。



  改变一张表中列的顺序

  在一个应用程序中,应该决不基于他们的位置使用select * 检索列,因为被返回的列的顺序永远不能保证;对数据库的一个简单改变可能导致应用程序相当有戏剧性地失败。

  可以使用如下方法改变:

  以正确的列顺序创建一张新表。

  执行insert into new_table select fields-in-new_table-order from old_table.

  删除或改名old_table。

  alter table new_table rename old_table。



  数据库复制

  mysql(至今)没有数据库复制,但是有一些如何实现的信息。

  复制一个数据库最一般的方法是使用更新日志。
mysql热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号