使用 mysql数据库启动thingsboard

      由于项目需要我公司需要开发一个物联网项目,之前也没有相应的案例,所以从网上找到开源的thingsboard项目(下文统称tb)。公司之前的项目都是使用mysql数据库,而tb项目使用的关系数据库是postgresql,因此为了更好的处理数据库中的数据领导让我实现使用mysql启动thingsboard,下面开始我曲折的探索过程。

首先是在mysql数据库上建表和插入基础数据,建表语句和插入语句如下:


建表语句:
CREATE TABLE `admin_settings` (
  `id` varchar(31) NOT NULL,
  `json_value` varchar(5000) DEFAULT NULL,
  `key` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `alarm` (
  `id` varchar(31) NOT NULL,
  `ack_ts` bigint(20) DEFAULT NULL,
  `clear_ts` bigint(20) DEFAULT NULL,
  `additional_info` varchar(218) DEFAULT NULL,
  `end_ts` bigint(20) DEFAULT NULL,
  `originator_id` varchar(31) DEFAULT NULL,
  `originator_type` int(11) DEFAULT NULL,
  `propagate` tinyint(1) DEFAULT NULL,
  `severity` varchar(255) DEFAULT NULL,
  `start_ts` bigint(20) DEFAULT NULL,
  `status` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `propagate_relation_types` varchar(218) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `asset` (
  `id` varchar(31) NOT NULL,
  `additional_info` varchar(218) DEFAULT NULL,
  `customer_id` varchar(31) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `label` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `attribute_kv` (
  `entity_type` varchar(255) NOT NULL,
  `entity_id` varchar(31) DEFAULT NULL,
  `attribute_type` varchar(255) DEFAULT NULL,
  `attribute_key` varchar(255) DEFAULT NULL,
  `bool_v` tinyint(1) DEFAULT NULL,
  `str_v` varchar(255) DEFAULT NULL,
  `long_v` bigint(20) DEFAULT NULL,
  `dbl_v` double DEFAULT NULL,
  `last_update_ts` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `audit_log` (
  `id` varchar(31) NOT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `customer_id` varchar(31) DEFAULT NULL,
  `entity_id` varchar(31) DEFAULT NULL,
  `entity_type` varchar(255) DEFAULT NULL,
  `entity_name` varchar(255) DEFAULT NULL,
  `user_id` varchar(31) DEFAULT NULL,
  `user_name` varchar(255) DEFAULT NULL,
  `action_type` varchar(255) DEFAULT NULL,
  `action_data` varchar(255) DEFAULT NULL,
  `action_status` varchar(255) DEFAULT NULL,
  `action_failure_details` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `component_descriptor` (
  `id` varchar(31) NOT NULL,
  `actions` varchar(255) DEFAULT NULL,
  `clazz` varchar(255) DEFAULT NULL,
  `configuration_descriptor` varchar(1000) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `scope` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `customer` (
  `id` varchar(31) NOT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  `address` varchar(255) DEFAULT NULL,
  `address2` varchar(255) DEFAULT NULL,
  `city` varchar(255) DEFAULT NULL,
  `country` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `phone` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `state` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `zip` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `dashboard` (
  `id` varchar(31) NOT NULL,
  `configuration` varchar(255) DEFAULT NULL,
  `assigned_customers` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `device` (
  `id` varchar(31) NOT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  `customer_id` varchar(31) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `label` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `device_credentials` (
  `id` varchar(31) NOT NULL,
  `credentials_id` varchar(255) DEFAULT NULL,
  `credentials_type` varchar(255) DEFAULT NULL,
  `credentials_value` varchar(255) DEFAULT NULL,
  `device_id` varchar(31) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `entity_view` (
  `id` varchar(31) NOT NULL,
  `entity_id` varchar(31) DEFAULT NULL,
  `entity_type` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  `customer_id` varchar(31) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `keys` varchar(255) DEFAULT NULL,
  `start_ts` bigint(20) DEFAULT NULL,
  `end_ts` bigint(20) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `event` (
  `id` varchar(31) NOT NULL,
  `body` varchar(255) DEFAULT NULL,
  `entity_id` varchar(31) DEFAULT NULL,
  `entity_type` varchar(255) DEFAULT NULL,
  `event_type` varchar(255) DEFAULT NULL,
  `event_uid` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `relation` (
  `from_id` varchar(31) NOT NULL,
  `from_type` varchar(255) DEFAULT NULL,
  `to_id` varchar(31) DEFAULT NULL,
  `to_type` varchar(255) DEFAULT NULL,
  `relation_type_group` varchar(255) DEFAULT NULL,
  `relation_type` varchar(255) DEFAULT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`from_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `rule_chain` (
  `id` varchar(255) NOT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  `configuration` varchar(255) DEFAULT NULL,
  `debug_mode` bit(1) DEFAULT NULL,
  `first_rule_node_id` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `root` bit(1) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `rule_node` (
  `id` varchar(31) NOT NULL,
  `rule_chain_id` varchar(31) DEFAULT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  `configuration` varchar(255) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `debug_mode` tinyint(1) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `tb_user` (
  `id` varchar(31) NOT NULL,
  `additional_info` varchar(255) DEFAULT NULL,
  `authority` varchar(255) DEFAULT NULL,
  `customer_id` varchar(31) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `first_name` varchar(255) DEFAULT NULL,
  `last_name` varchar(255) DEFAULT NULL,
  `search_text` varchar(255) DEFAULT NULL,
  `tenant_id` varchar(31) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `tenant` (
  `id

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
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。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值