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(至今)没有数据库复制,但是有一些如何实现的信息。
复制一个数据库最一般的方法是使用更新日志。
为了得到一个一致的备份,在相关的表上做一个LOCK TABLES。你只需一个读锁定;当你在数据库目录中做文件的一个拷贝时,这允许其他线程继续查询该表。如果你想要做一个SQL级的备份,你可以SELECT INTO OUTFILE。
备份一个数据库的另一个方法是使用mysqldump程序:
为你的数据库做一个完整的备份:
shell> mysqldump --tab=/path/to/some/dir --opt --full
你也可以简单地拷贝所有的表文件(“*.frm”、“*.MYD”和“*.MYI”文件),只要服务器不在更新任何东西。
停止mysqld如果它正在运行,然后以--log-update选项启动它。你将得到一个名为“hostname.n”形式的日志文件, 这里n是随着你每次执行mysqladmin refresh或mysqladmin flush-logs、FLUSH LOGS语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行mysqldump处后面进行的复制数据库改变的所需信息。
如果你必须恢复一些东西,尝试首先用myisamchk -r恢复你的表。这应该处理所有情况的99.9%。如果myisamchk失败,尝试下列过程:
Web: http://www.qqread.com/mysql/z348260.html相关专题
- Office技巧专区 (7169篇文章)
- MySQL数据备份 (1918篇文章)
- MySQL (1794篇文章)
- MySQL安全 (9903篇文章)
- 网管实用技巧100例 (6880篇文章)
- 城域网专题 (7840篇文章)
- ADO.NET实用技巧 (6407篇文章)
- MySQL技巧 (28篇文章)
- MySQL故障 (68篇文章)
- 专家答疑 (106篇文章)
- 专访MySQL CEO:无形之手指导开源发展 (0次浏览)
- 专访MySQL CEO:MySQL与企业级应用 (0次浏览)
- 深入了解MySQL系统日常管理 (0次浏览)
- 如何保护MySQL重要数据 (0次浏览)
- 浅析MySQL数据库常用管理 (0次浏览)
- 缓存PHP页面代码 可减轻CPU和MYSQL负担 (0次浏览)
- 浅析Tomcat5配置Mysql JDBC数据库连接池 (0次浏览)
- MySQL数据库敏感数据安全保护六大措施 (0次浏览)
- apache+php+mysql+serv_u迷你傻瓜安装程序 (0次浏览)
- Oracle,SQL Server,MySQL的自增变量设置 (0次浏览)



