小白级别的thingsboard数据库安装

最近在研究开源的ThingsBoard相关源码的内容,作为一个移动端APP的开发者,第一次接触这种后端项目,真的是无从下手,后端的一些概念也搞不明白,像数据库、表、表空间等这些概念把自己搞的一塌糊涂。根据网上的步骤进行配置环境的时候,特别是到了数据库安装这一步的时候,把自己卡了一段时间,也没有找到一个小白级别的数据库安装教程,虽然加了一个论坛,也不好意思问这么简单的问题。多亏自己有耐心,不放弃,今天终于把数据库安装成功了,记录下小白级别的数据库安装的过程,希望帮助像我一样从前端去研究后端的同行们。

这几天最大的一个收获就是自己概念上有一个改变,对于后端的开发环境不仅有源码的一个运行环境,还得有一个数据库的运行环境。一开始自己真没搞懂为什么还要去安装一个PostgreSQL。现在感觉PostgreSQL可以理解为一个用来管理数据库的一个软件。

第一步从thingsboard git地址上面拉取源码及编译的过程,等能够正常运行成功之后,再去补充这个过程。

本文主要介绍下第二步数据库安装的过程,纯属小白级别的操作流程。前提已经安装好PostgreSQL,另外我的电脑系统是Mac环境。下面就是将代码中提到的下面几个sql文件给安装成功。

  • 1.通过mac的搜索功能,进入到psql终端界面

目前这些我都采用的是默认的配置,默认的数据库和用户名就是postgres,我现在理解的这个postgres+#这个应该是用户名:

  • 2.查看该用户名postgres下所有的数据库,可以看到目前有一个默认的postgres的数据库

  • 3.在用户名postgres下创建数据库thingsboard

直接在命令窗口下输入

create database thingsboard;

成功之后,如下图所示: 

  • 4.查看用户名postgres下所有的数据库,可以看到数据库thingsboard已经创建成功。

  • 5.在数据库thingsboard创建表,现在我理解的有两种方式:

方法一:在命令窗口直接执行sql语句

CREATE TABLE IF NOT EXISTS admin_test ( id varchar(31) NOT NULL CONSTRAINT admin_test_pkey PRIMARY KEY, json_value varchar, key varchar(255));

在命令窗口执行成功之后会提示CREATE TABLE

在查看该数据库中表如下:

 

方法二:在命令窗口中执行sql文件

执行完之后,查看数据库thingsboard下的表,如图所示:

  • 6.采用5中第二种方法依次就源码中的sql文件执行完毕,查看该数据库thingsboard下所有的表如下:

当然也是可以使用pdAmin查看数据库的表如下:

这几天终于有结果了,成功的完成了数据库安装,后面的步骤在进行一点一点的摸索,加油!

附psql常用的几个命令总结

(1)通过搜索psql,进入到psql终端界面界面后:

<!--查看postgres用户名下的所有的数据库-->
postgres=# \l
                              List of databases
    Name     |  Owner   | Encoding | Collate | Ctype |   Access privileges   
-------------+----------+----------+---------+-------+-----------------------
 postgres    | postgres | UTF8     | C       | C     | 
 template0   | postgres | UTF8     | C       | C     | =c/postgres          +
             |          |          |         |       | postgres=CTc/postgres
 template1   | postgres | UTF8     | C       | C     | =c/postgres          +
             |          |          |         |       | postgres=CTc/postgres
 thingsboard | postgres | UTF8     | C       | C     | 
(4 rows)
<!--查看当前主机名-->
postgres=# \! hostname
xxxMacBook-Pro.local
<!--查看字符集-->
postgres=# \encoding
UTF8
<!--进入到thingsboard数据库-->
postgres=# \c thingsboard
You are now connected to database "thingsboard" as user "postgres".
<!--查看thingsboard数据库当前scheme下所有的表-->
thingsboard=# \d
                     List of relations
 Schema |            Name             |   Type   |  Owner   
--------+-----------------------------+----------+----------
 public | admin_settings              | table    | postgres
 public | admin_test                  | table    | postgres
(2 rows)
<!--查看thingsboard数据库当前scheme下admin_settings的所有列的信息-->
thingsboard-# \d admin_settings
                    Table "public.admin_settings"
   Column   |          Type          | Collation | Nullable | Default 
------------+------------------------+-----------+----------+---------
 id         | character varying(31)  |           | not null | 
 json_value | character varying      |           |          | 
 key        | character varying(255) |           |          | 
Indexes:
    "admin_settings_pkey" PRIMARY KEY, btree (id)
<!--查看角色属性-->
thingsboard=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
<!--执行xxxx.sql里面的sql语句,当然也可以直接在命令行直接执行sql语句-->
thingsboard=# \i xxxx.sql

(2)psql常用的连接参数,如psql -h 192.165.2.164 -p 5332 -U postgres -W(指定用户和IP端口登陆)。后面可以累加的参数如下,但是这种方式还没有验证成功,但是把这些可以累加的参数先总结下。

作用缩写全拼
数据库主机或套接字目录,默认为local socket-h--host=HOSTNAME
数据库端口号,默认为5432-p--port=PORT
数据库用户名,默认为postgres-U--username=USERNAME
连接数据库名字,默认postgres-d--dbname=DBNAME
密码提示

-W

--password
执行文件的命令-f--file=FILENAME
列出可用的数据库-l--list
输出版本信息-V--version
只有查询输出-q--quiet
查询结果以html表格形式输出-H--html
运行一条sql语句或命令

-c

--command=COMMAND
zlte 正式会员 UID 958416 精华 0 积分 188 帖子 106 金币 885 威望 188 阅读权限 10 注册 2009-8-18 状态 离线 1楼大 中 小 发表于 2009-9-7 07:53 zlte MYSQL使用指南.doc 一、连接MySQL。 格式: MySQL -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MySQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:MySQL> 2、例2:连接到远程主机上的MySQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: MySQL -h110.110.110.110 -uroot -pabcd123 (注:u与root可以不用加空格,其它也一样) 3、退出MySQL命令: exit (回车) 二、修改密码。 格式:MySQLadmin -u用户名 -p旧密码 password 新密码 1、例1:给root加个密码ab12。首先在DOS下进入目录MySQLbin,然后键入以下命令 MySQLadmin -uroot -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、例2:再将root的密码改为djg345。 MySQLadmin -uroot -pab12 password djg345 三、增加新用户。(注意:和上面不同,下面的因为是MySQL环境中的命令,所以后面都带一个分号作为命令结束符) 格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令: grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。 例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MySQL主机上的web页来访问了。 grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 如果你不想test2有密码,可以再打一个命令将密码消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MySQL的提示符下进行的,而且每个命令以分号结束。 一、操作技巧 1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值