/Yearning

🐳 A most popular sql audit platform for mysql

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

Yearning
Simple, Efficient and MYSQL-Like

Seamlessly integrates SQL detection and query auditing, tailored for the use of DBAs and developers.
A locally deployed, privacy-focused, simple and efficient for MYSQL audit platform.

OSCS Status

LICENSE Github Stars Releases

English | 简体中文

Feature

  • SQL Audit — Support the creation of SQL audit tickets with approval workflows and automated syntax checkers to validate submitted SQL statements for correctness, security, and compliance. Automatically generate rollback statements corresponding to the submitted DDL/DML operations for easy recovery when needed. Maintain a comprehensive history log of all SQL audit operations for traceability and auditing purposes.
  • Query Audit — Our solution supports auditing of user query statements, including restrictions on data sources and databases, as well as anonymization of sensitive fields. Query records are also saved for future reference.
  • Check Rules — The automated syntax checker supports dozens of check rules, catering to most of the automatic checking scenarios.
  • Privacy focussed - Locally deployable and open-source solution ensures the security of your database and SQL statements. In addition to providing control over the infrastructure, the solution also includes encryption mechanisms to protect sensitive data before storing it in your database. This ensures that even if there is unauthorized access to the database, the encrypted data remains secure and unreadable. By combining local deployment, open-source transparency, and data encryption, we prioritize the privacy and security of your database and SQL statements.
  • RBAC - In our platform, you can create and manage different roles and assign specific permissions to each role. This allows you to restrict users' access to query work orders, auditing functions, and other sensitive operations based on their assigned roles.

Docs

Yearning Docs only Chinese

Install

Download the latest release and extract it.

First make sure you have configured ./config.toml

Manual

## init database
./Yearning install

## start
./Yearning run

## help
./Yearning --help

Yes, it's that simple

Docker

## init database
docker run --rm -it -p8000:8000 -e SECRET_KEY=$SECRET_KEY -e MYSQL_USER=$MYSQL_USER -e MYSQL_ADDR=$MYSQL_ADDR -e MYSQL_PASSWORD=$MYSQL_PASSWORD -e MYSQL_DB=$Yearning_DB yeelabs/yearning "/opt/Yearning install"
## You must initialize your database in the startup container
docker run -d -it -p8000:8000 -e SECRET_KEY=$SECRET_KEY -e MYSQL_USER=$MYSQL_USER -e MYSQL_ADDR=$MYSQL_ADDR -e MYSQL_PASSWORD=$MYSQL_PASSWORD -e MYSQL_DB=$Yearning_DB yeelabs/yearning

Recommend

Spug - 开源轻量自动化运维平台

Automatic SQL Checker

The SQL statement detection function tests against predefined rules and syntax
we can set predefined rules to check whether the SQL statement conforms to specific coding standards, best practices or security requirements.


SQL syntax highlighting and Auto-completion

SQL syntax highlighting and auto-completion features to enhance the user experience and improve query writing efficiency.
SQL syntax highlighting helps users visually distinguish different parts of the SQL query, such as keywords, table names, column names, and operators. This makes it easier to read and understand the query structure.



Order/Query record

Supports auditing of user order/query statements
Through the auditing feature, you can track and record all query operations, including the data source, database, and handling of sensitive fields. This ensures that query operations comply with regulations and allows for tracing query history.


Ecosystem

Gemini Yearning front-end Project

Yee Yearning web framework

Contact Us

E-mail: henry@yearning.io

License

See LICENSE for details.

2023 © Henry Yee