【教程】区块链是数据库?那么区块链的数据存储在哪里?如何查看数据?FISCO-BCOS如何更换区块链的数据存储,由RocksDB更换为MySQL、MariaDB,联盟链区块链数据库,区块链数据库应用

目录

前言

安装与配置MySQL或MariaDB

安装MySQL

启动MySQL

配置MySQL

 启动FISCO-BCOS区块链节点并配置

下载依赖

​编辑

创建目录并下载脚本

创建FISCO-BCOS单机四节点网络

修改配置为MySQL

​编辑

到这里FISCO-BCOS的后台数据库就已经修改完成了


前言

我们都知道区块链被称为分布式数据库,那么这个数据技术也不是凭空产生和凭空存储的,所以我们也要为区块链平台配置一个数据库用于存储区块链数据,在FISCO-BCOS联盟链中,默认使用为RocksDB,我们想要看到区块链中的数据也非常的麻烦,所以我们直接将RocksDB换成我们日常使用的数据库

演示系统:Ubuntu20.0


安装与配置MySQL或MariaDB

安装MySQL

sudo apt install -y mysql-server mysql-client libmysqlclient-dev

bfaa4b85923d4f378779dad2bd289fe8.png

 # 一般都是已经安装好了所以这里只是需要判断一下即可


启动MySQL

sudo systemctl enable mariadb.service

# 设置开机自启动

sudo service mysql start

# 启动MySQL

mysql -uroot -p

# 初始化数据库

mysql> set password for root@localhost = password('123456');

# 将密码设置为123456,也可以不设置默认没有密码

# 一般情况下输入命令就可以了,但是我这里是权限不够所以我进入了超级用户状态

不知道超级用户的童鞋可以去看看我的这篇文章不懂什么是linux中的用户?

73d19b62b61644fbb580e9997c2098be.png


配置MySQL

/etc/mysql/my.cnf配置文件的[mysqld]部分添加如下配置:

max_allowed_packet = 1024M #允许最大包
sql_mode =STRICT_TRANS_TABLES #数据库模式
ssl=0 #ssl连接
default_authentication_plugin = mysql_native_password #数据库默认密码

7dadee8b8ade4314bf2a1130cdfa4b03.png

# 这里是修改数据库配置

sudo service mysql restart

81597860ce26465492e397f3f2482f27.png

# 验证一下配置是否生效

mysql -uroot -p

78c92afeca054d5a92ba56a1a5dbf04d.png

查看配置文件是否生效

show variables like 'max_allowed_packet%';

# 与上面最大包数一致

show variables like 'sql_mode%';

# 与上面数据库模式一致

show variables like 'default_authentication_plugin';

# 与上面默认一致

2d249c543a444137ab398eecafb413bb.png


 启动FISCO-BCOS区块链节点并配置

下载依赖

sudo apt install -y openssl curl

209d3b30d92d4be8896b7c109f0c0a53.png

创建目录并下载脚本

mkdir -p ~/fisco && cd ~/fisco

curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master-2.0/tools/build_chain.sh && chmod u+x build_chain.sh

创建FISCO-BCOS单机四节点网络

cd ~/fisco && bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

3cd30a3a746d41908a95322584919091.png


修改配置为MySQL

通过群组配置文件group.[group_id].ini的storage配置项可配置MySQL。

本教程中,所有节点均以root用户名连接同一个本机MySQL数据库,真实业务场景中,可按需修改数据库相关配置(包括MySQL的IP和端口,连接MySQL的用户名和密码等)。

8947349483fa40c9926e05957ed4beb4.png

# 这里我们使用统一修改,如果大家想要一个个手动修改也是可以的

# 修改存储类型为mysql
sed -i 's/type=rocksdb/type=mysql/g' ~/fisco/nodes/127.0.0.1/node*/conf/group.1.ini

# 配置数据库用户名和密码(本教程中,所有节点均以root的用户名连接同一个数据库,root用户密码为123456)
sed -i 's/db_username=/db_username=root/g' ~/fisco/nodes/127.0.0.1/node*/conf/group.1.ini
sed -i 's/db_passwd=/db_passwd=123456/g' ~/fisco/nodes/127.0.0.1/node*/conf/group.1.ini

# -----配置每个区块链节点在MySQL中创建的库名-----
# 配置node0的数据库名称为db_node0
sed -i 's/db_name=/db_name=db_node0/g' ~/fisco/nodes/127.0.0.1/node0/conf/group.1.ini

# 配置node1的数据库名称为db_node1
sed -i 's/db_name=/db_name=db_node1/g' ~/fisco/nodes/127.0.0.1/node1/conf/group.1.ini

# 配置node2的数据库名称为db_node2
sed -i 's/db_name=/db_name=db_node2/g' ~/fisco/nodes/127.0.0.1/node2/conf/group.1.ini

# 配置node3的数据库名称为db_node3
sed -i 's/db_name=/db_name=db_node3/g' ~/fisco/nodes/127.0.0.1/node3/conf/group.1.ini

5aaaf7e7dc8f4fdcbf3fa9c9c2cfd113.png

到这里FISCO-BCOS的后台数据库就已经修改完成了

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿雄不会写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值