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.
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|
|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|
|API Command-Line Integration||N/A||N/A||N/A|
|Logging and Debug||Yes||Yes||Yes|
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
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.