H4.3. 数据库管理命令

数据库初始化

进行初始化时应没有数据库或数据库为空。

drwcsd [<ключи>] initdb [<授权密钥>|- [<sql脚本>|- [<ini文件>|- [<密钥> [<lua脚本>|-]]]]]——数据库初始化。

<授权密钥> ——授权密钥Dr.Web agent.key的路径。

<sql脚本> ——用于数据库物理结构初始化的sql脚本的路径。

<ini文件>——事先创建的格式为drweb32.ini的文件,此文件用于设定Dr.Web软件组件初始配置(适用Everyone组)。

<密码>——服务器管理员初始密码(用户名为admin)。默认为root

<lua脚本>——用于数据库初始化的lua脚本的路径(将默认值添加到数据库)。

专门符号-(减号)表示不使用这一参数。

“减号”后如无参数,可略去。

指定数据库初始化参数

使用内设数据库时可通过外部文件指定初始化参数,指令为:

drwcsd.exe initdbex <response-file>

<response-file>——记录数据库初始化参数的文件,参数分行写入,顺序同initdb指令参数。

文件格式:

<授权密钥文件完整名称>

<sql脚本文件完整名称>

<ini文件完整名称>

<管理员密码>

OS Windows下使用response文件时可在管理员密码中使用任何符号。

必要措施后的尾行为非必要。如参数行为 "-" (一个减号),则使用默认值(同initdb)。

数据库更新

drwcsd [<参数>] updatedb <脚本>——从指定文件中执行SQL或LUA脚本,对数据库进行某种操作(如更换版本时进行更新)。

更新数据库版本

drwcsd upgradedb [<目录>] ——启动服务器更新数据库结构转用指定目录的新版本(见目录update-db)或利用内部脚本。

导出数据库

a)drwcsd exportdb <文件>——将数据库导出到指定文件。

Windows操作系统下示例

C:\Program Files\DrWeb Server\bin\drwcsd.exe -home="C:\Program Files\DrWeb Server" -var-root="C:\Program Files\DrWeb Server\var" -verbosity=all exportdb "C:\Program Files\DrWeb Server\esbase.es"

OS UNIX下以用户drwcs:drwcs名义执行操作至目录$DRWCS_VAR(OS FreeBSD除外,此系统下默认为将文件保存到启动脚本的目录。如明确指定路径,则安装时创建的<用户>:<组>应具备写入此目录的权限,默认为drwcs:drwcs)。

b)drwcsd xmlexportdb <xml文件>——将数据库导出到指定的xml文件。

如文件扩展名为gz,则导出数据库文件时压缩为gzip文档。

如不指定扩展名或扩展名不是gz,则导出文件时不压缩。

Windows操作系统下示例

将数据库导出至xml文件,不压缩:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.db

将数据库导出至xml压缩文件:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.gz

UNIX家族操作系统示例

将数据库导出至xml文件,不压缩:

/etc/init.d/drwcsd xmlexportdb /es/database.db

将数据库导出至xml压缩文件:

/etc/init.d/drwcsd xmlexportdb /es/database.gz

导入数据库

a)drwcsd importdb <文件>——从指定文件导入数据库(覆盖原数据库内容)。

b)drwcsd upimportdb <文件> [<目录>]——导入并更新从上一版本服务器导出的数据库(数据库原有内容删除)。还可指定脚本目录,用于转用新版本时更新数据库结构(与指令upgradedb类似)。

c)drwcsd xmlimportdb <xml文件>——从指定的xml文件导入数据库。

d)drwcsd upimportdb <文件> [<目录>]——导入并更新从之前版本服务器进行xml导出的数据库。还可指定脚本目录,用于转用新版本时更新数据库结构(与指令upgradedb类似)。

e)drwcsd xmlimportdbnh <xml文件>——从指定的xml文件导入数据库,不计哈希值。如因手动控制xml文件造成导出时自动记录的文件哈希值失效时可使用这一指令。

使用指令upimportdbxmlupimportdb前必须进行数据库备份。

执行这些指令过程中出现的任何问题都可能导致数据库全部信息被删除。

 

只能在同一DBMS内使用指令upimportdbxmlupimportdb导入来更新数据库版本。

导出数据库的转储

drwcsd [<参数>] dumpimportdb <数据库文件> [<SQL文件> [<表格过滤器>]]——将内设或外设数据库详细信息写入服务器日志文件或SQL文件。

执行命令dumpimportdb时不导入和导出数据库。

<数据库文件>——数据库导出文件,此数据库信息将写入服务器日志或<SQL文件>。可利用命令exportdb获取导出文件;也可使用数据库备份时获得的文件。不可使用利用命令xmlexportdb获得的XML文件。

<SQL文件>——记录所有从<数据库文件>指定的文件导入数据库时执行的所有SQL请求。如未指定SQL文件,会记录到服务器日志(为表格和表栏列表)。如指定了文件,则只记录到SQL文件。

<表格过滤器>——数据库表格列表,这些列表信息会记录到<SQL文件>。各表格列表需用逗号隔开,名称需与数据库中表格名称相符。如:admins,groups,stations。只有写入SQL文件时表格过滤器才有效。如未指定表格列表,则显示所有表格。

检查数据库

drwcsd verifydb——启动服务器以便检查数据库。检查结束后服务器将检查结果导出到日志文件(默认为drwcsd.log)。

数据库运行提速

drwcsd [<参数>] speedupdb——执行指令VACUUMCLUSTERANALYZE,加快运行数据库的速度。

恢复数据库

drwcsd repairdb——执行受损内设数据SQLite3的还原或外设数据库MySQL受损表格的还原。

启动服务器时可自动恢复SQLite3,如管理中心数据库SQLite3设置中勾选了自动恢复受损镜像(参见管理员手册中的恢复数据库)。

清空数据库

drwcsd cleandb——清空服务器数据库,删除所有列表。