Pre-General Availability: 2023-01-18
MySQL Shell for VS Code enables interactive editing and execution of SQL for MySQL Databases and the MySQL Database Service. It integrates the MySQL Shell directly into Visual Studio Code development workflows.
MySQL Shell Consoles provides with you with MySQL Shell inside a notebook-interface-styled editor. With the GUI Console, you can deploy and manage your InnoDB Cluster, InnoDB ClusterSet, and InnoDB ReplicaSet, using most of the features of MySQL Shell, including AdminAPI, X DevAPI, and ShellAPI.
DB Notebooks offer you a fresh way to work interactively with your databases. Within a notebook editor, you can switch from SQL (with embedded results) to JavaScript or TypeScript to query, manipulate, and visualize your data. In addition, each database connection also supports single-language, full-page editors for long script.
The following table enumerates the basic features of MySQL Shell and indicates which editors support them. It may assist you in choosing whether to interact with MySQL using MySQL Shell's console sessions or by using DB Notebook's interactive and script editors.
MySQL Shell Feature | MySQL Shell Console (Shell Sessions) | DB Notebooks | SQL Sripts, TS Scripts, JS Scripts |
---|---|---|---|
Supported Languages | SQL, Python, JavaScript | SQL (MySQL and SQLite), TypeScript, JavaScript | SQL (.sql ), TypeScript (.ts ),
JavaScript (.js ) |
Interactive Code Execution | Yes | Yes | No |
Batch Code Execution | Yes | Yes | Yes |
Supported APIs | AdminAPI, X DevAPI, and ShellAPI | N/A | N/A |
X Protocol Support | Yes | Yes | Yes |
Utilities | Yes | No | No |
API Command-Line Integration | N/A | N/A | N/A |
Output Formats | No | No | No |
Logging and Debug | Yes | Yes | Yes |
Global Session | Yes | No | No |
Session management means:
User sessions are identified by a universally unique identifier (UUID). The session are logged with a start and end date, and an IP.
A user session is continued if a network connection has been dropped.
All incoming and outgoing REST API messages during a session are logged.
All log messages during a session are stored.
User and Group management means:
All users that have access to the user interface of MySQL Shell for VS Code have their account information stored.
Each user is at least part of one user group, meaning their personal group.
Users can be added to user groups.
Each user has at least one profile where
module_data
is stored.
Privilege management means:
One or more roles are assigned to users to give them access to different areas of MySQL Shell for VS Code.
Each role can have several privileges assigned that define either the allowed access to Python module functions or MySQL Shell for VS Code modules.
Database Connection management means:
Database connections hold all relevant information to establish a database connection.
Database connections are assigned to one or more profiles.