mysql 表数据备份和恢复
假定表tbl_name具有一个PRIMARY KEY或UNIQUE索引,备份一个数据表的过程如下:
1、锁定数据表,避免在备份过程中,表被更新
mysql>LOCK
TABLES READ tbl_name;
关于表的锁定的详细信息,将在下一章介绍。
2、导出数据
mysql>SELECT
* INTO OUTFILE ‘tbl_name.bak’ from tbl_name;
3、解锁表
mysql>UNLOCK
TABLES;
相应的恢复备份的数据的过程如下:
1、为表增加一个写锁定:
mysql>LOCK
TABLES tbl_name WRITE;
2、恢复数据
mysql>LOAD
DATA INFILE ‘tbl_name.bak’
->REPLACE INTO TABLE tbl_name;
如果,你指定一个LOW_PRIORITY关键字,就不必如上要对表锁定,因为数据的导入将被推迟到没有客户读表为止:
mysql>LOAD
DATA LOW_PRIORITY INFILE ‘tbl_name’
->REPLACE INTO TABLE tbl_name;
3、解锁表
mysql->UNLOCAK
TABLES;
相关文档:
SQL标准在数据存储的物理方面没有提供太多的指南。SQL语言的使用独立于它所使用的任何数据结构或图表、表、行或列下的介质。但是,大部分高级数据库管理系统已经开发了一些根据文件系统、硬件或者这两者来确定将要用于存储特定数据块物理位置的方法。在MySQL中,InnoDB存储引擎长期支持表空间的概念,并且MySQL服务器甚至在 ......
如果一个MyISAM表包含任何可变长度列(VARCHAR, BLOB或TEXTDynamic),或者如果一个表被用ROW_FORMAT=DYNAMIC选项来创建,动态存储格式被使用。
这个格式更为复杂一点,因为每行有一个表明行有多长的头。当一个记录因为更新的结果被变得更长,该记录也可以在超过一个位置处结束。
你可以使用OPTIMIZE TAB ......
LAST_INSERT_ID
自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里
The ID that was generated is maintained in the server on a per-connection basis.
LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变。
可以用 SELECT LAST_INSERT_ID(); 查询LAST ......
注:本文讨论的范围为未启用MAXDB模式的表!
今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新。岂知对这个类型的值还不甚了解,导致出错。发现这个字段只是在这行数据建立的时候有值,在更新的却无变化。
查找资料,发现是我 ......
1. Mysql 培训
1.1. 培训目的
本文档是针对MySQL 数据库方面的基础培训,为了使项目组成员能够达到使用MySQL 数据库的目的。
1.2. 培训对象
开发人员
1.3. 常用词及符号说明
常用词:
Mysql:一种免费的跨平台的数据库系统
E:\mysql:表示是在dos 命令窗口下面
mysql> 表示是在mysql 的命令行下
1.4 ......