MySQL Shell 2:连接与模式

2020-12-24  本文已影响0人  轻松的鱼

连接

1. 启动时建立 session

命令选项的方式连接 MySQL:

mysqlsh -h 172.16.22.1 -P 3306 -u root -p

uri 字符串方式连接 MySQL:

mysqlsh root@172.16.22.1:3306/db1

关于 X Protocol 和 MySQL Protocol,默认 3306 是 MySQL Protocol,33060 是 X Protocol,也可以通过--mysql、--mysqlx 参数指定(可以省略),当然必须填写正确的端口:

mysqlsh --mysql -h 172.16.22.1 -P 3306 -u root
mysqlsh --mysqlx -h 172.16.22.1 -P 33060 -u root

默认使用 JS 模式,如果要用 SQL 模式(也就是通过 SQL 管理数据库),可以指定参数:

mysqlsh --sqlc -h 172.16.22.1 -P 3306 -u root
mysqlsh --sqlx -h 172.16.22.1 -P 33060 -u root
2. 启动后建立 session

如果执行 mysqlsh 没有指定任何参数或 uri,是不会连接到 MySQL 的,可以使用 \connect 命令用 uri 字符串方式连接到指定的 MySQL:

JS > \connect root@172.16.22.1:33060/hucq

这里不能在连接时选择 SQL 模式,可以在连接后切换 SQL 模式:

JS > \sql
Switching to SQL mode... Commands end with ;
Fetching table and column names from `hucq` for auto-completion... Press ^C to stop.

模式

MySQL shell 默认以 JS(JavaScript)模式进行操作,此外也支持 SQL、Python 语法。\help 命令可以查看帮助信息:

JS > \help
...
- \js                 Switches to JavaScript processing mode.
- \sql                Executes SQL statement or switches to SQL processing
                       mode when no statement is given.
- \py                 Switches to Python processing mode.                       

可以按照上面的方法切换语言模式,比如切换到 SQL 模式:

JS > \sql

可以看到shell 提示符变为 "SQL",接下来可以执行 DBA 熟悉的 SQL 语句:

SQL > show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| hucq                          |
| information_schema            |
| mysql                         |
| mysql_innodb_cluster_metadata |
| mysqlslap                     |
| performance_schema            |
| sys                           |
| world_x                       |
+-------------------------------+
SQL > show global variables like 'long_query_time';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
上一篇下一篇

猜你喜欢

热点阅读