适用于MySQL/PostgreSQL/SQL Server的SQLPad基于Web的SQL编辑器

时间:2020-02-23 14:31:27  来源:igfitidea点击:

SQLPad是基于Web的SQL编辑器,用于编写和运行SQL查询并可视化结果。它支持MySQL,SQL Server,PostgreSQL,Presto,Vertica,Crate,SAP HANA和Cassandra。它是自托管的,可以安装在基础结构(VM,容器,专用服务器等)中或者在云计算实例中运行。

如何在Linux上安装SQLPad

SQLPad应用程序是用Node.js编写的,我们需要首先安装它。

在Ubuntu/Debian上安装Node.js

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash 
sudo apt-get install -y nodejs

在RHEL,CentOS或者Fedora上安装Node.js

运行命令:

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash 

对于其他发行版,请参阅如何在Linux上运行多个版本的Node.js。

安装Node后,使用npm安装sqlpad软件包。

npm install sqlpad -g

这将安装用于运行SQLPad服务器的SQLPad命令行实用程序。

安装SQLPad之后,应该已经准备好启动服务器。

sqlpad

sqlpad命令应位于/usr/bin/sqlpad下

要获得帮助并查看参数:

$sqlpad --help

SQLPad Help:
Usage: sqlpad [options]

Options: 
  --passphrase [phrase]   Passphrase for modest encryption
                            optional, default: ** *****
                            environment var: SQLPAD_PASSPHRASE
  --dir [path]            Data directory 
                            optional, default: $HOME/sqlpad/db
                            environment var: SQLPAD_DB_PATH
  --ip [ip]               IP address to bind to
                            optional, default: 0.0.0.0 (all IPs)
                            environment var: SQLPAD_IP
  --port [port]           Port to run on 
                            optional, default: 80
                            environment var: SQLPAD_PORT
  --base-url [path]       Base url to mount sqlpad routes to 
                            optional, default: ''
                            environment var: SQLPAD_BASE_URL
  --admin [emailaddress]  Whitelist/add admin permission to email provided.
                            optional, default: ''
                            environment var: SQLPAD_ADMIN
  --debug                 Enable extra console logging
                            optional, default: false
                            environment var: SQLPAD_DEBUG (set to TRUE)

  --save                  Saves above parameters to file for future use.
  --forget                Forget parameters previously saved.

  See configuration management page in-application for 
  additional settings and further documentation.

Example: 
  sqlpad --dir ./sqlpaddata --ip 127.0.0.1 --port 3000 --passphrase secr3t

配置SQLPad Server在启动时启动

很好地使用systemd在我们的系统上管理sqlpad服务。 SQLPad将其数据存储在$HOME/sqlpad/db中,但可以使用目录。

sudo mkdir -p /var/lib/sqlpad/db

添加将运行和管理sqlpad服务的系统用户

sudo groupadd --system sqlpad
sudo useradd -s /sbin/nologin --system -g sqlpad sqlpad

设置/var/lib/sqlpad /的权限

sudo chown -R sqlpad:sqlpad /var/lib/sqlpad/
sudo chmod -R 775  /var/lib/sqlpad/

创建一个系统服务文件

sudo vim /etc/systemd/system/sqlpad.service

如下添加内容

[Unit]
Description=SQLPad Web based SQL Editor
Documentation=https://github.com/rickbergfalk/sqlpad
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=sqlpad
Group=sqlpad
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/bin/sqlpad --dir /var/lib/sqlpad/\
--ip 0.0.0.0 \
--port 8000 \
--admin theitroad@localhost \
--passphrase StrongPassphrase
SyslogIdentifier=sqlpad
Restart=always

[Install]
WantedBy=multi-user.target

如果我们不希望该服务在所有可用的接口上监听,请在机器IP上将" StrongPassphrase"替换为我们所需的Passphrase.0.0.0.0。theitroad @ localhost的emall地址是我们添加的管理权限。

重新加载systemd并启动服务

sudo systemctl daemon-reload
sudo systemctl start sqlpad

启用服务以在启动时启动

sudo systemctl enable sqlpad

如果启动成功,则状态消息应类似于以下内容

访问SQLPad Web界面

设置完成后,请在浏览器中打开http://serverip:port/signup,以使用配置文件中列入白名单的电子邮件创建admin用户。

提供所需的详细信息,然后单击"注册"。完成后登录到仪表板,并通过导航到"管理">"连接"来添加新的数据库连接。

选择数据库驱动程序并填写所有连接详细信息IP地址,用户名和密码。要使用的数据库是可选的,因为它将显示用户已授予的所有数据库。

完成后,单击"新建查询"选项卡以开始添加查询并使其可视化。