目录
前言
安装与配置MySQL或MariaDB
安装MySQL
启动MySQL
配置MySQL
启动FISCO-BCOS区块链节点并配置
下载依赖
编辑
创建目录并下载脚本
创建FISCO-BCOS单机四节点网络
修改配置为MySQL
编辑
到这里FISCO-BCOS的后台数据库就已经修改完成了
前言我们都知道区块链被称为分布式数据库,那么这个数据技术也不是凭空产生和凭空存储的,所以我们也要为区块链平台配置一个数据库用于存储区块链数据,在FISCO-BCOS联盟链中,默认使用为RocksDB,我们想要看到区块链中的数据也非常的麻烦,所以我们直接将RocksDB换成我们日常使用的数据库
演示系统:Ubuntu20.0
安装与配置MySQL或MariaDB 安装MySQLsudo apt install -y mysql-server mysql-client libmysqlclient-dev
# 一般都是已经安装好了所以这里只是需要判断一下即可
启动MySQLsudo systemctl enable mariadb.service
# 设置开机自启动
sudo service mysql start
# 启动MySQL
mysql -uroot -p
# 初始化数据库
mysql> set password for root@localhost = password('123456');
# 将密码设置为123456,也可以不设置默认没有密码
# 一般情况下输入命令就可以了,但是我这里是权限不够所以我进入了超级用户状态
不知道超级用户的童鞋可以去看看我的这篇文章不懂什么是linux中的用户?
在/etc/mysql/my.cnf
配置文件的[mysqld]
部分添加如下配置:
max_allowed_packet = 1024M #允许最大包 sql_mode =STRICT_TRANS_TABLES #数据库模式 ssl=0 #ssl连接 default_authentication_plugin = mysql_native_password #数据库默认密码
# 这里是修改数据库配置
sudo service mysql restart
# 验证一下配置是否生效
mysql -uroot -p
查看配置文件是否生效
show variables like 'max_allowed_packet%';
# 与上面最大包数一致
show variables like 'sql_mode%';
# 与上面数据库模式一致
show variables like 'default_authentication_plugin';
# 与上面默认一致
sudo apt install -y openssl curl

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
通过群组配置文件group.[group_id].ini的storage配置项可配置MySQL。
本教程中,所有节点均以root用户名连接同一个本机MySQL数据库,真实业务场景中,可按需修改数据库相关配置(包括MySQL的IP和端口,连接MySQL的用户名和密码等)。

# 这里我们使用统一修改,如果大家想要一个个手动修改也是可以的
# 修改存储类型为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