Centos7安装GBase8s数据库
方式1:GBase8s命令行交互安装
命令行交互式安装,需要先解包GBase8sV8.7_AEE_2.0.1A2_2_RHEL6_x86_64.tar,然后利用root身份执行./ids_install进行软件交互式安装,我这里不详细介绍该方式。方式2:GBase8s命令行静默安装
可以简单、快速的完成安装,相关配置参数都是使用的默认值,下面介绍该方式的安装操作。1.关闭firewalld防火墙和Selinux
#查看firwalld的状态
systemctl status firewalld #也可以执行 firewall-cmd --state#停止firewalld
systemctl stop firewalld #禁用firewalld
systemctl disable firewalld #查看Selinux状态
getenforce#关闭Selinux
vim /etc/selinux/config
SELINUX=disabled#重启服务器、立即生效配置
reboot2.系统参数调整优化
#系统级别的最大文件句柄数量调整
cat /proc/sys/fs/file-max
383676
一般不同的系统版本,默认值会有差别,有的是383676,有的是592409,一般系统的默认值够用,不用修改,我这里永久性的调整为100万:
vim /etc/sysctl.conf
fs.file-max = 1000000#立即生效
sysctl -p#查看用户的所有进程级别的限制
ulimit -a
core file size (blocks, -c) 0 //内核文件的大小限制
data seg size (kbytes, -d) unlimited //最大数据大小限制,建议用户设置为unlimited
scheduling priority (-e) 0 //调度优先级,一般根据nice设置
file size (blocks, -f) unlimited //最大文件大小限制,建议用户设置为unlimited
pending signals (-i) 15086 //信号可以被挂起的最大数,这个值针对所有用户,表示可以被挂起/阻塞的最大信号数量
max locked memory (kbytes, -l) 64 //内存锁定值的限制
max memory size (kbytes, -m) unlimited //最大可以使用内存限制
open files (-n) 65535 //进程打开文件数的限制。默认值是1024,默认值太小、通常需要调整该值为65535或unlimited
pipe size (512 bytes, -p) 8 //管道文件大小限制
POSIX message queues (bytes, -q) 819200 //可以创建使用POSIX消息队列的最大值,单位为bytes
real-time priority (-r) 0 //限制程序实时优先级的范围,只针对普通用户
stack size (kbytes, -s) 8192 //限制进程使用堆栈段的大小
cpu time (seconds, -t) unlimited //程序占用CPU的时间,单位是秒
max user processes (-u) 15086 //限制程序可以fork的进程数,只对普通用户有效
virtual memory (kbytes, -v) unlimited //限制进程使用虚拟内存的大小,建议用户设置为unlimited
file locks (-x) unlimited //锁定文件大小限制#用户进程级别的限制修改:可以通过修改/etc/security/limits.conf文件实现永久生效的修改
#修改表达式解释:
<domain> <type> <item> <value><domain>:
ftpuser //用户
@student //组
* //通配符,所有用户
% //通配符,用在组的语法
<type>:
soft //软限制。警告的设定,可以超过这个设定值,但是若超过则有警告信息
hard //硬限制。严格的设定,必定不能超过这个设定的数值
<item>:
core //限制内核文件的大小
data //最大数据大小限制
fsize //最大文件大小限制
memlock //最大锁内存地址空间
nofile //进程打开文件数的限制
rss //最大持久驻留内存
stack //最大堆栈大小
cpu //最大CPU运行时间
nproc //最大进程数
as //地址空间限制
maxlogins //最大登录次数,用户
maxsyslogins //最大登录次数,登录此系统的最大次数
priority //用户运行的优先级
locks //用户锁定文件数限制
sigpending //信号可以被挂起的最大数
msgqueue //可以创建使用POSIX消息队列的最大值
nice //可以设置的优先级,nice [-20, 19]
rtprio //实时优先级,数字大的优先级高#进程级打开文件句柄数量
#在文件末尾添加配置内容:echo "
* soft nofile 65535
* hard nofile 70000
" >> /etc/security/limits.conf注意:
1)修改后用户需要重新登录才能生效
2)如果调整用户进程级限制达到系统级的最大数时,还需要调整系统级的最大值安装操作
1.拷贝安装包
# mkdir -p /opt/soft/GBase8sV8.7
拷贝安装包:
GBase8sV8.7_AEE_2.0.1A2_2_RHEL6_x86_64.tar
AutoInit_GBase8s_v1.3.5.tar
到该目录下2.解压释放自动安装脚本
# cd /opt/soft/GBase8sV8.7
# tar -xvf AutoInit_GBase8s_v1.3.5.tar
会释放安装和卸载脚本:
AutoInit_GBase8s.sh
CleanAll.sh3.静默安装(默认会安装到路径:/opt/gbase下)
./AutoInit_GBase8s.sh 说明:
官方文档强调,静默安装时请不要创建用户和组,静默安装过程中会自动创建。
如果是用命令行交互安装方式,才需要提前创建好用户和组:
# groupadd -g 1000 gbasedbt
# useradd -g gbasedbt -u 1000 -d /home/gbase -m -s /bin/bash gbasedbt
# passwd gbasedbt
因此我不用执行这些操作,直接执行AutoInit_GBase8s.sh即可。静默安装完毕,所有参数都是默认值:
默认端口:9088
默认用户:gbasedbt
默认密码:GBase123
默认实例名:gbaseserver
默认表空间:datadbs1配置文件:
/opt/gbase/etc/onconfig.gbase01监听IP端口配置文件:
/opt/gbase/etc/sqlhosts4.检查数据库监听端口
# netstat -an |grep 90885.启动和停止数据库服务
通常情况下,使用gbasedbt用户来启动和停止数据库服务,成功安装数据库 GBase 8s 后,数据库会自动处于启动状态,一般不需要手动启动,可通过以下命令检查服务进程是否存在:
# ps -ef|grep oninit如果停止以后,手动启动命令如下:
# su - gbasedbt
$ oninit -vy注意:如果数据库测试连接失败报错:Caused by: java.sql.SQLException: Database locale information mismatch.
可能是由于自启动服务的环境变量文件设置不正确(检查/etc/sysconfig/gbasedbtd_service),没有设置 DB_LOCALE=zh_CN.utf8 导致,正确设置环境变量文件。
或者是手动以root身份启动数据库(环境变量没有DB_LOCALE)导致,可以尝试切换到gbasedbt用户启动数据库,该问题就能解决。停止服务:
以gbasedbt用户身份登录后,输入 onmode –ky,可停止数据库服务
# su - gbasedbt
$ onmode –ky6.服务配置
为了方便管理数据库服务,配置以systemd方式实现GBase 8s数据库的自启动与关闭
systemd需要的两个配置文件目录为:
1)service 文件所在位置: /usr/lib/systemd/system/
2)service 的环境配置文件位置: /etc/sysconfig/文件1:
touch /usr/lib/systemd/system/gbasedbtd.service
vi /usr/lib/systemd/system/gbasedbtd.service
[Unit]
Description=GBase 8s Database Server v8.7 2.0.1a2_2
Documentation=file:/opt/gbase/release/en_us/0333
Wants=network-online.target
After=network.target network-online.target
[Service]
Type=oneshot
User=gbasedbt
Group=gbasedbt
RemainAfterExit=yes
EnvironmentFile=/etc/sysconfig/gbasedbtd_service
ExecStart=/opt/gbase/bin/oninit
ExecStop=/opt/gbase/bin/onmode -ky
#Restart=on-abort
[Install]
WantedBy=multi-user.target文件2:
touch /etc/sysconfig/gbasedbtd_service
vi /etc/sysconfig/gbasedbtd_service# gbasedbtd.service environmental variables
GBASEDBTSQLHOSTS=/opt/gbase/etc/sqlhosts
GBASEDBTDIR=/opt/gbase
GBASEDBTSERVER=gbase01
#ONCONFIG=onconfig.${GBASEDBTSERVER}
ONCONFIG=onconfig.gbase01DB_LOCALE=zh_CN.utf8
CLIENT_LOCALE=zh_CN.utf8
DBDATE="Y4MD-"
GL_DATE="%iY-%m-%d"
GL_DATETIME="%iY-%m-%d %H:%M:%S"
DBACCESS_SHOW_TIME=1 管理命令
systemctl start gbasedbtd
systemctl status gbasedbtd
systemctl stop gbasedbtd设置开机自启动
方法1)修改rc.local增加开机自启动
在Centos7下rc.local文件没有执行属性,开机默认不执行(/etc/rc.local是一个软连接,对应实际文件/etc/rc.d/rc.local),设置开机启动:
chmod +x /etc/rc.d/rc.local
echo "
#auto start gbase
systemctl start gbasedbtd
" >> /etc/rc.d/rc.local方法2)设置systemd开机自启动gbasedbtd.service
ln -s /usr/lib/systemd/system/gbasedbtd.service /etc/systemd/system/multi-user.target.wants/gbasedbtd.service也可以执行命令: systemctl enable gbasedbtd.service 同样会完成上面的链接操作。
7.登录数据库
注意:dbaccess -和-之间有一个空格,如果dbaccess不带参数,会有类似菜单的提示操作界面,也可以通过选择不同的菜单功能进行操作。
# su - gbasedbt
不指定数据库登录(如果指定数据库testdb登录则使用:dbaccess testdb -)
$ dbaccess - - -- 创建数据库并测试
create database testdb;
create table test (id int not null, name varchar(255), primary key (id));
insert into test values(1,'test');
select * from test;远程访问数据库:testdb@gbase01:
connect to 'testdb@gbase01' user 'gbasedbt';
会提示输入密码GBase123登录成功 卸载数据库
需要先停止数据库服务,切换到 root 用户,进入安装目录下的 uninstall/uninstall_ids,执行该目录下的 uninstallids 命令进行卸载。GBase常用命令:
su - gbasedbt 切换到数据库用户后执行的常用系统命令:
#启动数据库服务
oninit -vy
#停止数据库服务
onmode -ky
#监控系统cpu和内存使用情况
top
#查看数据库版本和运行模式
onstat -
#监控数据库磁盘空间大小
onstat -d
#监控逻辑日志,物理日志信息
onstat -l
#监控GBase 8s占用系统内存大小
onstat -g seg
#监控实例整体运行情况
onstat -p
#查看实例运行日志最后20行信息
onstat -m
#查看数据库进程状态
onstat -g glo
#查看数据库会话状态
onstat -g ses
#从离线模式向静态模式转换
oninit -s
#从离线模式向管理员模式转换
oninit -j
#从管理员模式,静态模式向在线模式转换
onmode -m
#从在线模式向管理员模式转换
onmode -j
#从在线模式向静态模式转换
onmode -s;onmode -u常用SQL:
#创建库语法
create database “数据库名” in “dbspace名”
[ with buffered log | with log | with log mode ansi]#选择库语法
database ”数据库名“
也可以dbaccess登录时指定数据库
dbaccess testdb -
#数据类型
字符型:char(20),varchar(minsize, maxsize)
数值型:decimal(16,2),smallint,integer,smallfloat,float,serial
日期型:date, 默认格式为 mm/dd/yyyy #注意:如果要修改 date 类型的缺省格式,可在用户主目录的 .profile 文件中进行如下说明:dbdate=y4md/
货币型:money (8,2)
其它类型:interval,datetime 等#索引
创建索引则必须建立命名索引
create [ unique ] index 索引名 on 表名(字段名)
create [ unique ] index 索引名 on 表名(字段名) disabled;
set indexes 索引名 enabled
drop index 索引名 #权限和授权管理
connect:访问数据库权限
resource:允许用户建立或清除数据库中的表和索引
dba: 数据库管理员grant 权限 to <public | 用户名>
revoke 权限 from <public | 用户名>
#创建表语法
create [ tmp | row ] table “表名”( “列名””数据类型” “列级约束”, ... ... ,
[ 表级约束 ] ) [ in “表的存放路径” ]创建表示例:
create table test01 (
id integer not null,
name char(255),
info varchar(255),
desc lvarchar(512),
indate date,
primary key(id) constraint pk_test01
); create table test02 (
id integer not null unique constraint uq_test02,
name char(255),
info varchar(255),
desc lvarchar(512),
indate date);
#查看建表信息(类似MySQL的 show create table )
$ dbschema -t test01 -d testdb[gbasedbt@localhost ~]$ dbschema -t test01 -d testdb
DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1AEE
{ TABLE "gbasedbt".test01 row size = 1034 number of columns = 5 index size = 9 }
create table "gbasedbt".test01
(
id integer not null ,
name char(255),
info varchar(255),
desc lvarchar(512),
indate date,
primary key (id) constraint "gbasedbt".pk_test01
);revoke all on "gbasedbt".test01 from "public" as "gbasedbt";
[gbasedbt@localhost ~]$ dbschema -t test02 -d testdb
DBSCHEMA Schema Utility GBASE-SQL Version 12.10.FC4G1AEE
{ TABLE "gbasedbt".test02 row size = 1034 number of columns = 5 index size = 9 }
create table "gbasedbt".test02
(
id integer not null ,
name char(255),
info varchar(255),
desc lvarchar(512),
indate date,
unique (id) constraint "gbasedbt".uq_test02
);revoke all on "gbasedbt".test02 from "public" as "gbasedbt";
#修改表语法
alter table“表名”add“列名”“数据类型”| modify“列名”“数据类型”
|drop column“列名” #删除表语法
drop table “表名”
#查询数据语法
select [ all | distinct ] “列表达式”, ...... from ”表名“, ......
[ where ”条件表达式“ ]
[ group by “列名”, ...... [ having ”条件表达式“ ] ]
[ order by ”列名“ [ asc | desc ], ...... ] ; #插入数据语法
insert into “表名”[ ( 列1, 列2, 列3, ...... ) ] values ( 值1, 值2 , 值3 , ...... )#更新数据语法
update “表名”set 列1=值1, ...... [ where “条件表达式” ]#删除数据语法
delete from “表名”[ where “条件表达式” ]#使用dba用户(gbasedbt)创建普通用户,并指定密码
create user dbuser02 with password 'GBase123';
database testdb;
grant connect to dbuser02;#也可以使用dba用户在数据库中赋权访问,直接在系统shell界面操作
$ echo "grant connect to dbuser02;" | dbaccess testdb -#使用内部用户访问数据库,按提示输入密码
dbaccess - -
connect to 'testdb@gbase01' user 'gbasedbt';
connect to 'testdb@gbase01' user 'dbuser02';
会提示输入用户输入密码。testdb@gbase01代表数据库名@实例名 简单操作举例
创建缓冲式日志模式数据库testdb,test表,以及insertdata存储过程,切换到gbasedbt用户,并生效当前实例对应的环境变量文件。操作如下:
su - gbasedbt
. .bash_profile进入sql编辑器dbaccess,执行SQL语句:
dbaccess - -
-- 创建库testdb
create database testdb in datadbs1 with buffered log;-- 创建表
create table test03 (id int , name char(255));
create table test04 (id int not null, name varchar(255), primary key (id));-- 创建insertdata()存储过程,向test01表中插入10条数据
create procedure insertdata()
define i int;
for i in (1 to 10)
insert into test01 values(i,'test');
end for;
end procedure;-- 执行insertdata()存储过程
execute procedure insertdata();-- 查看实例名,数据库名,用户名
select a.cf_original, DBINFO('dbname') dbname, user from sysmaster:sysconfig a where cf_name = 'testdb'; -- 查看实例中所有数据库名
select name from sysmaster:sysdatabases; -- 查看数据库中所有表名
select dbsname,tabname from sysmaster:systabnames where dbsname='testdb';
centos8的core文件在什么位置 centos8 reached target basic system
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
centos7安装mysql8
centos7安装mysql8全过程
mysql Server MySQL -
Python控制三菱 PLC FX3U
三菱FX3U或2N PID开关量固态继电器调节水温程序 当温度差目标远时,输出值100%,当接近温度,部分输出,到达温度时,输出值更小
Python控制三菱 PLC FX3U 程序人生 阶跃响应 控制系统 触摸屏