6.在windows下同样可以使用该命令,可以直接在windows目录下生成文本文件备份:
dump.exe-h192.168.1.78-usysdba-p123456--hex-blob--all-databases>d:
\ss.sql
7.用户可以只导出建表脚本文件而不导出数据:
导出的脚本不包括创建存储过程和触发器脚本------
dump-usysdba–ppwd--opt-ddb_name>gs_dbfile.sql
导出的脚本包括创建存储过程和触发器脚本------
dump-usysdba–ppwd-R--triggers--opt-ddb_name>gs_dbfile.sql
8.用户可以只导出数据到文本文件,但是不导出表结构:
dump-usysdba-ppwd-t--hex-blobdb_name>backup.sql
在恢复备份,即,将导出的数据导入原来的表中,需要保留原来的数据库、表结构,但是表中的数据清空,避免主键冲突,然后使用下面命令:
9.用户只导出表(包含结构和数据):
dump-usysdba-ppwddb_name--opt--tables-R--triggers--opt--hex-blobtbl_name[tbl_name2]...>gs_dbfile.sql
10.自动备份方式:
windows版:
首先编写bat文件,具体内容如下:
setThisDay=%date:
~0,4%%date:
~5,2%%date:
~8,2%
if"%time:
~0,2%"lss"10"(
setThisTime=0%time:
~1,1%%time:
~3,2%
)else(
setThisTime=%time:
~0,2%%time:
~3,2%
)
setNow=%ThisDay%%ThisTime%
cdC:
\GeneralData\GBase\Server\bin(GBase安装路径)
dump.exe-usysdba-p1--opt-Rstjsc>G:
\bacupup_%Now%.sql
然后,通过在windows的任务计划程序中增加自动运行任务的方式就可以自动实现备份。
11.单表备份:
使用以下语句:
dump-usysdba-ppassworddb_nametable_name>single-table-file.sql
参数说明
1.--help
可以查询dump命令下的参数选项。
2.--opt
它可以为用户提供一个快速的备份操作并可以产生一个可快速重载到Gbase的备份。
在GBase中,-opt在默认下打开,但是可以使用-skip-opt来关闭。
要关闭被-opt打开的某种操作,使用它们的--skip形式。
例如--skip-add-drop-table或--skip-quick。
3.-R
导出常规存储,函数、存储过程。
4.--triggers
为每个备份的表备份触发器。
这个选项默认下是打开的,使用--skip-triggers选项可以关闭它。
5.--all-databases
导出所有数据库中全部的表。
这参数和使用--databases选项并且在命令行上列明所有的数据库是一样的。
6.-d|--no-data
不会为表写任何数据至文件中,意味着,该选项只导出表结构。
7.-t|--no-create-info
不会重新创建表的createtable语句。
即,不会导出表的结构,只导出数据。
8.--default-character-set=utf8
制定默认字符集
9.--hex-blob
导出二进制列的参数
五、
增量备份恢复及binlog使用
数据库的增量备份需要使用到常用的命令行客户端工具之一,binlog。
这个客户端工具能够在以全备份为基线的前提,对数据库进行增量备份。
具体内容请参考管理员手册4.8节,备份和恢复。
1.首先我们需要检查配置文件,更新日志是否开启。
a)vi/etc/f
b)查看是否存在:
log-bin=/opt/GBase/Server/var/gbasebinlog
c)该配置选项的日志文件路径以及日志名均可以由用户指定。
d)如果不存在该选项,请先停止gbase.server的服务然后修改配置文件。
2.使用dump工具进行全备份,建立增量备份的基线:
a)dump-usysdba-ppwd--single-transaction--flush-logs--master-data=2--all-databases>backup.sql
3.在进行对数据库操作之后,数据库GBase会自动产生日志文件,gbasebinlog.000001gbasebinlog.000002…
a)在已经产生的全备份的文件backup.sql(本章节要点2)中有增量备份的基点,使用命令:
lessbackup.sql可以查看该文件:
--CHANGEMASTERTOMASTER_LOG_FILE='gbasebinlog.000002',MASTER_LOG_POS=106;
这句话本身是注释的。
MASTER_LOG_FILE='gbasebinlog.000002'说明增量恢复的日志文件从“’gbasebinlog.000002’”开始。
b)恢复日志文件,恢复增量备份的内容:
binlog/opt/GBase/Server/var/gbasebinlog.000002|sqlcli-usysdba-ppwd
c)根据时间点的进行数据恢复:
根据时间范围进行恢复:
binlog--start-datetime="2012-05-3110:
30:
00"--stop-datetime="2012-05-3110:
50:
00"/opt/GBase/Server/var/gbasebinlog.[0-9]*|sqlcli-usysdba-ppwd
根据截至时间点进行恢复(可以恢复到该时间的状态):
binlog--stop-datetime="2012-05-3110:
50:
00"/opt/GBase/Server/var/gbasebinlog.[0-9]*|sqlcli-usysdba-ppwd
根据起始时间点进行恢复(可以指定某个时间点后的状态):
binlog--start-datetime="2012-05-3110:
50:
00"/opt/GBase/Server/var/gbasebinlog.[0-9]*|sqlcli-usysdba-ppwd
参数说明
1.--single-transaction
这个选项在从服务器备份数据之前执行BEGINSQL语句。
因为在BEGIN执行时,可以在不妨碍任何应用程序的情况下进行数据库的一致性备份,所以此选项只对GsDB表有用。
默认关闭。
2.--flush-logs|-F
在开始备份之前刷新GBase服务器日志文件。
这个选项需要RELOAD权限。
默认关闭。
3.--master-data[=value]
这个选项会将更新日志的位置和文件名写到输出中。
这个选项需要RELOAD权限且必须开启更新日志。
如果选项值等于1,位置和文件名会使用CHANGEMASTER语句的形式写到备份输出,且如果用户使用SQLdump主服务器来建立从服务器的话,这会使得从服务器从主服务器更新日志中正确的位置启动。
如果选项值设置为2,CHANGEMASTER语句会写成为SQL注释。
默认值为0,没有CHANGEMASTER语句等信息。
4.--start-datetime
从日志文件中读取datetime时间点和之后的记录。
所给的datetime值应对应运行GBase服务器的机器的时区。
它的格式应该符合DATETIME或TIMESTAMP数据类型
5.--stop-datetime
对于发生在datetime时间点或之后的日志文件中的事件,不进行读取。
六、
数据库配置
主要配置/etc/f文件,参数可参考管理员手册第2章。
在对配置文件进行修改的时候,请注意以下两点:
1.修改配置文件前需要先停止服务;
2.修改配置文件前先进行备份。
对于小数据量的建议配置如下:
port=5258
●数据服务器端口号
default-character-set=GBK
●数据服务器默认编码
tmp_table_size=32M
●临时表内存大小,超过该设置时将会写入磁盘;
gsdb_buffer_pool_size=150M
●缓冲池用来高速缓冲数据表中的数据以及索引,大的内存缓冲池值可以减少I/O操作,提升性能;
gsdb_log_file_size=256M
●日志文件的大小,值越大,缓冲池中刷新活动检查点就越少,从而减少I/O操作,但是如果服务器崩溃而从日志文件恢复时意味着很慢;
gsdb_log_buffer_size=8M
●日志的缓冲区,在执行大的事务时可以等到事务提交后再写入日志,从而减少了I/O操作;
gsdb_data_file_path=gbdata1:
2G:
autoextend(注:
RedHatLinux64位下如数据量不大,可以不设置这个选项)默认路径:
/opt/GBase/Server/var/(即数据文件默认路径)
●这个路径表达了两层意思:
1、数据文件名gbdata1的文件路径,缺省为默认的路径;2、该文件的大小:
2G,autoextend表明可以自动扩展。
(不建议去设置,为默认值即可)
wait_timeout=28800
●GBase服务器在关闭之前等待非交互连接被激活的时间(单位:
秒)。
不指定参数,默认时间为8小时(28800秒)。
可以手动设置。
interactive_timeout=28800
●在关闭交互连接之前,服务器的等待时间(单位:
秒)。
不指定参数,默认时间为8小时(28800秒)。
可以手动设置。
七、
最常用命令行工具sqlcli
参考管理员手册6.2节。
例如:
./sqlcli-usysdba-p123456-h1.1.1.33-P5258;
-u用户名
-p口令
-h服务器名称或IP地址
-P端口号
成功登录后,常用命令如下:
showdatabases;
usenorthwind;
showtables;
注:
不指定数据库登陆默认不会使用某一个数据库
以下在交互式的sqlcli命令模式下,常用的show命令(参考SQL手册5.5.4章节):
1.showdatabases;
✧显示所有数据库;
2.showtables;
✧显示当前数据库的所有表;
3.showcolumnsfromtbl_namefromdb_name;
✧显示tbl_name的列,等同于命令:
desctbl_name;;
4.showopentables;
✧显示在内存中的打开的表;支持like语句
5.showtablestatus;
✧显示表的状态;可以查看创建时间、更新时间、是否为分区表,以及使用的引擎等主要信息;
6.showindexfromtbl_namefromdb_name;
✧显示数据库中表tbl_name的索引
7.select*frominformation_schema.views;
✧查看所有的视图;
8.showcreate{table|database|procedure|view}name;
✧显示创建表、数据库、存储过程、视图的语句;
9.showprocedurestatus;
✧显示所有的存储过程;
10.showfunctionstatus;
✧显示所有的自定义函数;
11.showtriggers;
✧显示当前数据库的所有表的触发器;支持like语句;
12.showcollation[like‘%str%’];
✧显示字符集;
13.showgrants;
✧显示当前用户权限赋予语句
14.showengines;
✧显示server可支持的存储引擎;
15.showmasterlogs
✧显示二进制文件日志
16.showvariables[like‘%str%’];
✧显示server的当前参数;
17.showstatus;
✧显示当前server的状态;
18.showprocesslist;
✧显示当前进程;
19.showprivileges;
✧显示server支持的权限;
20.showwarnings;
✧显示错误或警告信息;根据level列决定,等同于命令:
showerrors;;
八、
图形客户端工具
参考管理员手册第7、8章
企业管理器(类似SQLServer,比较简便易用)。
审计工具(供DBA查询)。
状态监控工具(供DBA查询)。
备份恢复工具(不建议在服务启动时使用,全库备份和增量备份都通过时间点控制)。
配置管理工具(不建议在服务启动时使用,但是改数据库配置时请先停止GBase服务,然后可以进行直接编辑/etc/f)。
数据迁移工具(如果有迁移需求,可联系南大通用协助完成)主要参考《管理员手册》第7.2章节。
九、
创建用户和访问授权
参考GBase8sSQL手册第5.5.1.3节。
例如:
1.grantallondldb.*to'dluser'@'%'identifiedby'1';
dldb数据库名,”.*”表示这个库的所有表,也可单独制定某一个表;
dluser用户名;该用户可以不存在,系统会首先创建用户;
1密码;
如果在创建用户时没有设置密码,密码为空;
%’是指通过远程登陆,本地为:
’127.0.0.1’
2.revokeinsertondldb.*from‘dluser’@’%’;
flushprivileges;
Revoke移除权限命令
3.要改变用户密码,使用SETPASSWORD语句。
还可以直接更新系统中的用户表。
例如,要改变所有GBase帐户中sysdba用户的密码,可以这样:
bash-2.05b$>sqlcli-usysdba
sqlcli>UPDATEgbase.userSETPassword=PASSWORD('newpwd')
->WHEREUser='sysdba';
sqlcli>FLUSHPRIVILEGES;
十、
数据库的卸载
参考GBase8sLinux版安装手册第4节。
运行卸载程序成