php备份数据库原理和方法
原理
- 查找所有表
- 查找所有字段,列出所有字段名 字段类型等信息
- 查找所有数据 读取后注意特殊符号转换addslashes()
-
生成sql 把数据库格式化生成对应sql
相关函数
mysql_list_tables()//表查询函数
mysql_fetch_field()//字段信息函数返回句柄
NAME 字段名称
Table 字段所属数据表名称
max_length字段最大长度
not_null 字段是否不能为空,是,这一项值为1
primary_key 字段是否为主键,是,值为1
unique_key 字段是否为unique键,是,值为1
multiple_key字段是否不为unique键,是则这一项为1
Numeric字段是否为数字型是,则这一项值为1
Blob 字段是否为unsigned,是,值为1
Zerofill数字型字段是否为zerofilled,是,值为1
CREATE TABLEhelp_category(
help_category_idint(5) NOT NULL,
name` char(64) NOT NULL)
备份时注意事项
- 注意数据库大小,过大或者过多的表分段处理
- 生成的sql文件名或者存放位置不易被猜到
- 备份生成文件可以表或者自动为单位保存
- 可以使用zip组件压缩生成的文件以便保存