由于操作数据库实例,独立模式不支持,好像只能部署集群模式,那就部署一个单机版的集群。
首先是安装SequoiaDB,官网连接数据库安装_安装部署_文档中心_SequoiaDB巨杉数据库
照着装就行。(我装的是3.4版本的)
装好之后,部署集群模式,如下:
在进行集群模式部署前,用户需要在每台数据库服务器上检查 SequoiaDB 配置服务的状态。
# service sdbcm status
系统提示“sdbcm is running”表示服务正在运行,否则执行如下指令重新配置服务程序:
# service sdbcm start
部署集群模式主要分为以下步骤:
下述操作步骤假设 SequoiaDB 巨杉数据库程序安装在 /opt/sequoiadb
目录下。
(大致和官网一致,但是一些细节有差别,导致安装过程中踩坑不断)
Note:
创建临时协调节点
切换到 sdbadmin 用户
$ su - sdbadmin
启动 SDB Shell 控制台
$ /opt/sequoiadb/bin/sdb
连接本地集群管理服务进程 sdbcm
> var oma = new Oma("localhost", 11790)
创建临时协调节点
> oma.createCoord(18800, "/opt/sequoiadb/database/coord/18800")
Note:
- 18800:协调节点服务端口
/opt/sequoiadb/database/coord/18800
:协调节点的数据文件存放路径
启动临时协调节点
> oma.startNode(18800)
创建编目节点组和节点
连接临时协调节点
> var db = new Sdb("localhost",18800)
创建编目节点组
> db.createCataRG("ps1", 11800, "/opt/sequoiadb/database/cata/11800")
创建编目节点
> var cataRG =db.getRG("SYSCatalogGroup");
> var node1 = cataRG.createNode("ps1", 11810,"/opt/sequoiadb/database/cata/11810")
> var node2 = cataRG.createNode("ps1", 11820,"/opt/sequoiadb/database/cata/11820")
启动编目节点
> node1.start()
> node2.start()
创建数据节点组和节点
创建数据节点组
> var dataRG = db.createRG("datagroup")
创建数据节点
> dataRG.createNode("ps1", 11830, "/opt/sequoiadb/database/data/11830")
> dataRG.createNode("ps1", 11840, "/opt/sequoiadb/database/data/11840")
> dataRG.createNode("ps1", 11850, "/opt/sequoiadb/database/data/11850")
启动数据节点组
> dataRG.start()
创建协调节点组和节点
创建协调节点组
> var coordRG = db.createCoordRG()
创建协调节点
> coordRG.createNode("ps1", 11860, "/opt/sequoiadb/database/coord/11860")
> coordRG.createNode("ps1", 11870, "/opt/sequoiadb/database/coord/11870")
> coordRG.createNode("ps1", 11880, "/opt/sequoiadb/database/coord/11880")
启动协调节点组:
> coordRG.start()
删除临时协调节点
连接本地集群管理服务进程 sdbcm
> var oma = new Oma("localhost", 11790)
删除临时协调节点
> oma.removeCoord(18800)
至此,SequoiaDB 集群模式部署完毕,用户可通过 SDB Shell 进行数据操作。
(过程中执行完启动的命令,稍微等个几秒,再做下面的操作。如果失败了需要停掉所有的端口,重新来一遍)
集群搭建完。开始装mysql实例安装部署_操作_MySQL实例_关系型数据库实例_文档中心_SequoiaDB巨杉数据库
这个也照着官网装即可。
装完之后需要
配置 SequoiaDB 连接地址
SequoiaDB 巨杉数据库默认的连接地址为 localhost:11810
,用户可通过命令行或修改配置文件两种方式修改连接地址。以下步骤中的路径均为默认安装路径,用户可根据实际情况修改。
通过 sdb_mysql_ctl 指定实例名修改 SequoiaDB 连接地址
$ /opt/sequoiasql/mysql/bin/sdb_sql_ctl chconf myinst --sdb-conn-addr=ps1:11860,ps1:11870,ps1:11880
修改过程中需要提供该数据库实例 root 用户的密码,若未设置 root 用户的密码,在提示密码时直接输入回车即可
Changing configure of instance myinst ...
Enter password:
ok
只提供一种方式,官网还有修改配置文件另外一种方式。
最后一步就是修改连接的配置,可以远程连接操作数据库。
登录 MySQL Shell
MySQL 支持基于 UNIX 域套接字文件和 TCP/IP 两种连接方式。UNIX 域套接字文件连接属于进程间通信,连接时只需指定对应的套接字文件,不需要使用网络协议所以传输效率比 TCP/IP 连接方式更高,但仅限于本地连接。TCP/IP 连接属于网络通信,支持本地连接(环回接口)和远程连接,同时可以灵活地配置和授权客户端 IP 的访问权限。
通过 TCP/IP 连接
本地连接
$ cd /opt/sequoiasql/mysql
$ bin/mysql -h 127.0.0.1 -P 3306 -u root
远程连接
MySQL 默认未授予远程连接的访问权限,所以需要在服务端对客户端 IP 进行访问授权。
创建 sdbadmin 用户,对所有的 IP 都授权访问权限,且设置授权密码 123456
mysql> GRANT ALL PRIVILEGES ON *.* TO sdbadmin@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
假设 mysql 服务器地址为 sdbserver1:3306
,在客户端可以使用如下方式进行远程连接:
$ /opt/sequoiasql/mysql/bin/mysql -h 127.0.0.1 -P 3306 -u sdbadmin -p
Enter password:
设置 MySQL Shell 登陆密码
为本地连接的 root 用户设置密码 123456
mysql> ALTER USER root@localhost IDENTIFIED BY '123456';
Note:
用户设置密码后,登录 MySQL Shell 需要指定 -p 参数输入密码。
到此全部完成,接下来就可以自由操作数据库里了。
(有啥问题,欢迎指出,一同探讨。)