A clean-looking, secure, MySQL/MariaDB remote connection terminal made in NodeJS

Overview

NodeJS MySQL/MariaDB Terminal

NodeJS MySQL/MariaDB Terminal is a remote terminal for MySQL/MariaDB databases, which works in the same way as the official shell does!

Features

  1. Secure connection to the database through the mysql npm package, with SSL support.

  2. Debugging mode to analyze and check for problems with the database

  3. Clean looking console, possibility to activate/deactivate color mode

  4. Completely free to redistribute (with appropriate credits and license, along a copy of this README)

How to install

Using git

To install the terminal using git:

  1. Clone this repository, by running the git clone https://github.com/TeknoSenpai/MySQL-MariaDB-Node-Terminal.git in your console.

Beware that you'll need to install and configure git, a guide that explains how to do so can be found here

How to use

Terminal Mode

To run the terminal, you can use the terminal script, with the npm run terminal command.

Single-Query Mode

The terminal also supports a "single-query" usage, through CLI Arguments.
Simply run the index.js file with the node index.js -q (query)
Example: node index.js -q SHOW VARIABLES LIKE 'port';

You might need to wrap the query in apexes (") depending on your console's settings, to avoid ER_PARSE_ERROR errors

SQL File Mode (In development)

You can use SQL Script Files .sql to run a series of queries at a single time!. Run the npm run sql <path to file (can be relative)>

Debug Mode

To start the terminal in debug mode, use the debug script, or run the index file with the node index.js -debug true command. The console will throw a warning, to suppress it, go in the config.json file and set silent_debug to true.
In debug mode, the console will log the raw data recived from the database, along with any error.
Please keep in mind that some personal data might be exposed, such as user, password, server address and other. Use debug mode at your own risk.

Configuring the terminal

The terminal doesn't need an extensive configuration. To create a config file, run the npm run create-config command.

  1. Example config.json file:
{
   "data":{
      "silent_debug":false,
      "no_color":false
   },
   "database_connection":{
      "host":"localhost",
      "user":"tekno",
      "password":"tekno",
      "database":"mysql"
   }
}

The config file is straightforward, here is a list of the meaning of all the options:

data:

  1. silent_debug: Suppresses the debug Mode Warning when debug mode is activated. Default: false
  2. no_color: Disables the usage of colors in the terminal, this is to support monochrome terminals or if you just don't like colors. Default: false

database_connection:

  1. A detailed description of this can be found here

Credits and How to contribute

  1. Credits:
  2. How to contribute:
    • Fork the repository
    • Clone your fork locally (git clone (repo url))
    • Add your work (git add .)
    • Create a new branch (git checkout -b "your branch name (can be your username)")
    • Commit (git commit -m "Your very detailed description")
    • Start a pull request and wait

Screenshots

Some screenshots of the terminal in action, taken from the Manjaro Shell.

  1. Terminal (full screen with color) Terminal With Color
  2. Terminal (full screen, no color) Terminal Without Color
You might also like...

A website that lets you create legit-looking GitHub links that rickroll the visitor.

A website that lets you create legit-looking GitHub links that rickroll the visitor.

microsoftgithub.com, a.k.a. NotHub A website that lets you create legit-looking GitHub links that rickroll the visitor. Usage Just replace github.com

Dec 23, 2022

Planning a getaway with family or friends and looking for a trip planner app to help you figure out the logistics?

Never-Wavering-Wayfaring-Wanderlust-Adventure-Planner Planning a getaway with family or friends and looking for a trip planner app to help you figure

Jun 15, 2022

Don't waste time looking at what you are typing, spend time thinking about the meaning.

Don't waste time looking at what you are typing, spend time thinking about the meaning.

LETA Don't waste time looking at what you are typing, spend time thinking about the meaning. About You will be able to: Practice touch typing Pick bes

Dec 15, 2022

Simple modern-looking event calendar 📅💜

Simple modern-looking event calendar 📅💜

evo-calendar Simple Modern-looking Event Calendar 👀 Demo: https://edlynvillegas.github.io/evo-calendar/ 💡 Features: Flexible and fully customizable

Jan 6, 2023

A good-looking Zotero add-on.

Chartero 简介 记录Zotero内置阅读器的浏览历史并通过各种图形呈现出来,方便读者对过去一段时间内学习过程的复盘与回顾。 使用说明 首选项参数 扫描周期:阅读时记录页码的时间间隔,推荐1秒 保存周期:保存历史数据的时间间隔,过小会导致卡顿 仪表盘 选择文献条目后,右侧边栏将出现“仪表盘”选

Dec 20, 2022

A custom Chakra UI component that adds ready-made styles for rendering remote HTML content.

Chakra UI Prose Prose is a Chakra UI component that adds a ready-made typography styles when rendering remote HTML. Installation yarn add @nikolovlaza

Jan 3, 2023

A remake of the famous Google Chrome Dinosaur game that comes-up when we're out of connection.

A remake of the famous Google Chrome Dinosaur game that comes-up when we're out of connection.

Dino Game Preview: Project: This is a remake of the classic "easter egg" T-Rex game that we can play on Google Chrome when we're out of connection. Ho

Nov 9, 2022

An abstraction layer on top of @replit/crosis that makes Repl connection management and operations so easy, a Furret could do it! 🎉

An abstraction layer on top of @replit/crosis that makes Repl connection management and operations so easy, a Furret could do it! 🎉

Crosis4Furrets An abstraction layer on top of @replit/crosis that makes Repl connection management and operations so easy, a Furret could do it! 🎉 In

Dec 29, 2022

NestJS implementation of client and strategy hasn't enough features for work with RabbitMQ so i developed this one (basically, just a wrapper for amqp-connection-manager)

NestJS RabbitMQ Client and strategy NestJS implementation of client and strategy hasn't enough features for work with RabbitMQ so i developed this one

Sep 6, 2022
Owner
TeknoSenpai
👨‍💻Italian Developer ⚙Full Stack 🎞Video Editor and AE nerd 🔒Cybersecurity Expert TeknoSenpai#0957 on Discord
TeknoSenpai
💻 ssher.vim is interacting remote machines(only linux) through ssh connection

?? ssher.vim is interacting remote machines(only linux) through ssh connection

Luma 3 Feb 21, 2022
A Secure Web Proxy. Which is fast, secure, and easy to use.

Socratex A Secure Web Proxy. Which is fast, secure, and easy to use. This project is under active development. Everything may change soon. Socratex ex

Leask Wong 220 Dec 15, 2022
Simple REST API using Express with TypeScript, PostgreSQL, and MySQL to practice the Clean Architecture by Uncle Bob.

Clean-Architecture Simple REST API using Express with TypeScript, PostgreSQL, and MySQL to practice the Clean Architecture by Uncle Bob. About This RE

Abdullah Adel 10 Oct 16, 2022
A good looking help command made with discord.js with select menus. Works with prefix and slash commands too!

fancy-help-command A good looking help command made with discord.js with select menus. Works with prefix and slash commands too! Dependencies: Select

LunarCodes 11 Dec 12, 2022
Personal project to a student schedule classes according his course level. Using GraphQL, Clean Code e Clean Architecture.

classes-scheduler-graphql This is a personal project for student scheduling, with classes according his course level. I intend to make just the backen

Giovanny Lucas 6 Jul 9, 2022
A CRUD implementation using sequelize, mySQL, NODEJS, Express, JWT and other technologies.

A ideia do projeto é simular o funcionamento do backend de um blog através da implementação de uma aplicação em Node.js usando o pacote sequelize para

Vinicius Savordelli 6 May 11, 2022
CRUD APIs in NodeJS, Express and MySQL

Create CRUD APIs in NodeJS, Express and MySQL This is a simple NodeJS, Express and MySQL CRUD API example. that allows you to create, read, update and

Hala Ziani 5 Oct 19, 2022
A remote nodejs Cache Server, for you to have your perfect MAP Cache Saved and useable remotely. Easy Server and Client Creations, fast, stores the Cache before stopping and restores it again!

remote-map-cache A remote nodejs Cache Server, for you to have your perfect MAP Cache Saved and useable remotely. Easy Server and Client Creations, fa

Tomato6966 8 Oct 31, 2022
Better looking pdf for lovely rustacean <3

The Rust Programming Language (TRPL) PDF Better looking pdf in your finger tips. Please find the latest version of pdf in release tab. Contributing I

Shirshak 76 Dec 29, 2022
This is an app that gives you a mood by looking at the weather.

Weather-to-mood It is a basic application which shows user weather and date and by looking at these information it gives a mood. WeatherMoodApp This p

Büşra Akbulut 4 Jun 30, 2022