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

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

2022-08-11 10:02:00 阿雄不会写代码

目录

前言

安装与配置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 [email protected] = 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的后台数据库就已经修改完成了

 

原网站

版权声明
本文为[阿雄不会写代码]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_57309855/article/details/126265605