Firebird数据库的安装配置与使用
Firebird数据库的安装配置与使用
【温馨提示:本文档所有操作均在root用户下进行】
一、安装
1、rpm包方式
我选用的安装方式是 使用rpm包安装
执行以下命令进行安装:
$ rpm -ivh FirebirdSS-2.5.9.27139-0.amd64.rpm --force --nodeps
不加–force --nodeps会出现 /bin/sh is needed by xxxxxx(安装包的名字)
安装成功后查看firebird进程
安装位置默认会在/opt/firebird
安装包的详细信息显示是无法重定向安装的【Relocations : (not relocatable)】
$ ps aux | grep firebird
firebird 4684 0.0 0.0 35396 408 ? S Oct15 0:00 /opt/firebird/bin/fbguard -pidfile /var/run/firebird/firebird.pid -daemon -forever
firebird 4686 0.0 0.6 362008 12592 ? Sl Oct15 0:00 /opt/firebird/bin/fbserver
firebird的安装位置默认在/opt/firebird,进入文件夹
$ cd /opt/firebird
$ ls
aliases.conf examples firebird.log IDPLicense.txt lib security2.fdb
bin fb_guard firebird.msg include misc SYSDBA.password
de_DE.msg fbtrace.conf fr_FR.msg intl plugins UDF
doc firebird.conf help IPLicense.txt README WhatsNew
2、tar包方式
执行以下命令解压tar包:
$ tar -zxvf FirebirdSS-2.5.9.27139-0.amd64.tar.gz
# 进入解压后的文件夹
$ cd FirebirdSS-2.5.9.27139-0.amd64
# 使用install.sh进行安装
$ ./install.shFirebird super 2.5.9.27139-0.amd64 InstallationPress Enter to start installation or ^C to abort # 键入回车开始安装或者Ctrl+C中止安装
Extracting install data
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start runlevel arguments (2 3 5) do not match firebird Default-Start values (2 3 4 5)
Starting Firebird server: Please enter new password for SYSDBA user: root123 # 此处设置用户sysdba的密码
Install completed
安装成功后查看firebird进程
$ ps aux | grep firebird
firebird 18132 0.0 0.0 35388 412 ? S 16:54 0:00 /opt/firebird/bin/fbguard -pidfile /var/run/firebird/firebird.pid -daemon -forever
firebird 18133 0.0 0.0 230664 11048 ? Sl 16:54 0:00 /opt/firebird/bin/fbserver
firebird的安装位置默认在/opt/firebird,进入文件夹
$ cd /opt/firebird
$ ls
aliases.conf examples firebird.log IDPLicense.txt lib security2.fdb
bin fb_guard firebird.msg include misc UDF
de_DE.msg fbtrace.conf fr_FR.msg intl plugins WhatsNew
doc firebird.conf help IPLicense.txt README
# 由于tar包安装方式在安装时已经设置了sysdba用户的密码,所以这里就没有SYSDBA.password文件了
二、配置
将安装目录加入/etc/profile配置文件,以供firebird全系统可用
$ vi /etc/profile
# 在/etc/profile配置文件中加入以下字段
export FIREBIRD_HOME=/opt/firebird
export PATH=$PATH:$FIREBIRD_HOME/bin
# 加入完成后保存文件,并执行配置文件
$ source /etc/profile
查看缺省登录账户和密码(rpm安装方式)
cat /opt/firebird/SYSDBA.password
会展示以下内容,ISC_USER为用户,ISC_PASSWD为密码
# Firebird generated password for user SYSDBA is:ISC_USER=sysdba
ISC_PASSWD=4FCEB54C# generated on koal at time Fri Oct 15 07:00:16 UTC 2021# Your password can be changed to a more suitable one using the
# /opt/firebird/bin/gsec utility.
◆ gsec:
这是一个安全的系统程序,可以使用命令行的方式来创建、修改和删除数据库用户、改变密码等。必须以SYSDBA来运行gsec,以root身份调用并执行以下命令。
通过以下命令进入安全系统,以后续进行修改密码(若没有将firebird加入到配置文件中,则可以通过到安装目录的bin文件夹下./gsec -user sysdba -password 4FCEB54C
)
gsec -user sysdba -password 4FCEB54C
将会出现一个 GSEC> 的提示符,可以使用display命令显示当前的用户
GSEC> displayuser name uid gid admin full name
-------------------------------------------------------------------------------------SYSDBA 0 0 Sql Server Administrator
缺省的密码不安全,建议更改SYSDBA的密码,可使用以下命令来更改密码
GSEC> modify SYSDBA -pw root123
命令中的root123即为新的密码,可以按照自己的需求来自行设定
三、使用
1、测试运行
◆ isql:
这是一个交互式SQL工具,类似于Oracle的SQL*Plus和Postgresql的psql命令。可以使用它来测试和运行SQL查询。
firebird自带一个名为employee.fdb的数据库实例,可以使用其测试SQL命令,命令如下:
# 由于一些与数据库相关的系统也会安装名为isql的工具,所以尽量进入到安装目录的bin文件夹中运行isql工具
cd /opt/firebird/bin
./isql /opt/firebird/examples/empbuild/employee.fdb -u sysdba -p root123
# 会显示以下内容,表示连接到了employee数据库
Database: /opt/firebird/examples/empbuild/employee.fdb, User: sysdba
SQL>
注意:employee.fdb每个版本的存放位置不太相同,1.5.2在/opt/firebird/examples/目录下,2.5.9在/opt/firebird/examples/empbuild/,自行在examples文件夹中寻找一下
使用show tables命令可以查看当前所有表,显示以下内容:
SQL> show tables;COUNTRY CUSTOMERDEPARTMENT EMPLOYEEEMPLOYEE_PROJECT JOBPROJECT PROJ_DEPT_BUDGETSALARY_HISTORY SALESSQL>
2、创建数据库
可以使用以下两种方式进行创建数据库
(1)打开isql工具时就指明用户
$ isql -user sysdba -password root123
# 会显示一下信息
Use CONNECT or CREATE DATABASE to specify a database
SQL>
# 输入以下SQL语句创建数据库
SQL> CREATE DATABASE 'firstdb.fdb';
SQL>
# 没有任何响应就说明创建成功
(2)创建数据库时指明用户
$ isql
# 会显示一下信息
Use CONNECT or CREATE DATABASE to specify a database
SQL> CREATE DATABASE 'firstdb.fdb' USER 'sysdba' PASSWORD 'root123';
SQL>
# 没有任何响应就说明创建成功,该数据库归sysdba所有
# 下面创建一个表并插入数据
$ isql firstdb.fdb -user sysdba -password root123
Database: firstdb.fdb, User: sysdba
SQL> CREATE TABLE sales_catalog (
CON> item_id varchar(10) not null primary key,
CON> item_name varchar(40) not null,
CON> item_desc varchar(50)
CON> );
SQL> INSERT INTO sales_catalog VALUES('001', 'Aluminum Wok', 'Chinese wok');
SQL> INSERT INTO sales_catalog VALUES('002', 'Microwave Oven', '300W Microwave oven');
SQL> INSERT INTO sales_catalog VALUES('003', 'Chopsticks extra-long', '60cm chopsticks');
SQL> SELECT * FROM sales_catalog;ITEM_ID ITEM_NAME ITEM_DESC
=============================================================================
001 Aluminum Wok Chinese wok
002 Microwave Oven 300W Microwave oven
003 Chopsticks extra-long 60cm chopsticks SQL>
3、添加用户并分配权限
(1)创建用户:使用gsec工具创建用户LiuYu
创建用户的语句格式为:[add 用户名 -pw 密码 -fname 姓 -lname 名]
$ gsec -user sysdba -password root123
# 进入gsec工具输入以下语句创建用户
GSEC> add LiuYu -pw root123 -fname Liu -lname Yu
GSEC>
# 没有任何提示,表示成功;输入以下语句查看当前所有用户
GSEC> displayuser name uid gid admin full name
-------------------------------------------------------------------------------
SYSDBA 0 0 Sql Server Administrator
TESTADMIN 0 0 FirstDB Administrator
MASTERYI 0 0 Master Yi
LIUYU 0 0 Liu Yu
GSEC>
(2)分配权限:使用isql工具给指定用户分配权限
分配权限语句格式:GRANT 权限 ON 对象 TO 用户 [with grant option]
权限:SELECT、DELETE、UPDATE、INSERT、ALL
对象:表/视图名
用户:指定的用户,PUBLIC代表所有
with grant option:可选项——让该名使用者拥有指定使用者的权限
撤销权限语句格式:REVOKE 权限 ON 对象 FROM 用户
$ isql firstdb.fdb -user sysdba -password root123
# 进入isql工具使用指定数据库firstdb.fdb
# 输入以下语句给指定用户分配指定表或视图的权限
SQL> GRANT SELECT,UPDATE,INSERT,DELETE ON sales_catalog TO LiuYu;
SQL> quit;
# 没有提示表示语句执行成功,接下来使用新建用户操作firstdb.fdb试验一下权限是否已经分配
$ isql firstdb.fdb -user LiuYu -password root123
Database: firstdb.fdb, User: LiuYu
SQL> SELECT * FROM sales_catalog;ITEM_ID ITEM_NAME ITEM_DESC
=============================================================================
001 Aluminum Wok Chinese wok
002 Microwave Oven 300W Microwave oven
003 Chopsticks extra-long 60cm chopsticks 004 What is this 762mm ammo SQL> DELETE FROM sales_catalog;
SQL> INSERT INTO sales_catalog VALUES('666', 'Lucky Dog', 'You are so lucky');
SQL> SELECT * FROM sales_catalog;ITEM_ID ITEM_NAME ITEM_DESC
=============================================================================
001 Lucky Dog You are so lucky SQL>
四、报错
在创建数据库的过程中很有可能出现以下报错:
1、若不指明用户则会出现以下报错,意思就是未定义用户名和密码
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
只需要在创建数据库时指明用户即可,上面的两种方式都可以。
2、在创建数据库的过程中很有可能出现以下报错
Statement failed, SQLSTATE = 08001
I/O error during “open O_CREAT” operation for file “/opt/firebird/examples/firstdb.fdb”
-Error while trying to create file
-Permission denied
这个是因为其他用户对examples这个文件夹没有写的权限,所以无法创建文件
可以考虑新建一个文件夹作为今后数据库存储的位置,将这个文件夹的权限更改为所有用户可读写
$ cd /opt/firebird
$ mkdir db
# 给db文件夹 添加其他用户的写权限
$ chmod o+w db/
# 给db文件夹 添加所有用户的读、写、执行权限
$ chmod a+rwx db/
之后再往db文件夹创建数据库就不会报错了
猜测(未验证,仅为个人猜想):
用户firebird是在安装firebird之后被添加,由于安装时必须使用root权限,firebird的大部分文件的拥有者都为root,小部分文件的拥有者为firebird。
个人认为可能是firebird在创建数据库时使用的是firebird用户,若向拥有者为firebird的文件夹中创建文件应该是没有问题的,而在向拥有者为root的文件夹中写入文件的时候,要看此文件夹对其他用户(也就是实际创建数据库的用户)的写权限是否开启。
Firebird数据库的安装配置与使用相关推荐
- oracle本地没装 配置,数据库--oracle安装配置(本地安装的步骤及各种问题解决方案)...
"监听程序未启动"一般不会出现这种情况,可以在桌面左下角右键-->计算机管理-->服务和应用程序-->服务 查看OracleOraDb11g_home1TNSLi ...
- Linux下数据库的安装配置、数据库C程序连接
一.数据库的安装和配置 数据库的安装 配置 (1)先查看数据库状态(service mysql status),如果没有启动,执行启动命令(service mysql start) (2)mysql ...
- Firebird数据库的安装及使用
安装数据库,安装录入假设为D:\Program Files\Firebird\Firebird_2_5,安装完成后用管理员身份打开CMD窗口,切换到D:\Program Files\Firebird\ ...
- 测试linux mongodb数据库开启,安装配置MongoDB数据库
安装配置MongoDB数据库 实验环境: 系统环境:rhel6 x64 selinux and iptables disabled 一.安装MongoDB [root@server1 ~]# ls m ...
- nextcloud如何填写数据库_NextCloud安装配置
NextCloud安装配置 Apr 10, 2019 Eric Guo 1293 摘要:在CentOS 7服务器上安装示例 在本安装教程中,我们将部署CentOS 7.5,PHP 7.2,Mar ...
- python3 [爬虫入门实战]爬虫之mongoDB数据库的安装配置与可视化
从安装过程到可视化工具可查看数据信息,历时两天,昨天坐了一天的火车,今天早上才到的青岛–> 来放松心情. 前天说是要学习如何使用mongoDB的链接与安装. 到今天过去了将一天, 不过还是在函兮 ...
- 数据库-MYSQL安装配置和删除
* 课程回顾:* 完成注册和登陆的功能.* 准备的工作* 技术.开源jar包* 开发的功能使用MVC模式* C:控制层(接收请求和从客户端发送过来的参数) * 接收参数(request对象) * 为了 ...
- oracle集群数据库事务配置,在 .NET中使用Oracle数据库事务-安装配置-Oracle频道-中国IT实验室...
在本文中,您将了解到如何在 Visual Basic .NET (VB.NET) 和 Visual .NET () 中使用数据库事务.具体来讲,您将系统学习数据库事务.在 .NET 程序中使用 Tra ...
- redis数据库的安装配置
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括strin ...
最新文章
- Web测试需要了解的知识
- R语言str_flatten函数通过自定义字符连接(concatenate)字符串向量中的字符串
- 【问题记录】raise IndexError(‘index {} is out of range‘.format(idx)) index 0 is out of range
- 高斯粒子滤波matlab,粒子滤波(Particle filter)matlab实现 | 学步园
- 如何在 Asp.Net Core 中对请求进行限流
- 面向数据自治开放的数据盒模型
- 二、Linxu的目录结构
- 一种简单实用的 AjaxPro 调试/错误处理方式
- SpaceBase – 基于 Sass 的响应式 CSS 框架
- String s =new String()分析堆与栈
- 绝了!kafka权威指南
- 10.6 全源(All pairs)负权Johnson算法
- stm32内部基准电压
- python查找单词的位置_Python实现单词查询文件查找
- 转载-常用邮箱SMTP服务器地址大全
- C语言用数组模拟实现栈(LIFO)
- 【欧拉猜想】是否有无穷多个不可约分的正整数解
- 【JS】问题——解决JS文件页面更新不生效问题
- 直播预告 | 双十一电商风控怎么破,看这场直播就对了!
- 移动硬盘和电脑内置硬盘使用时的区别