MySQL Shell的简单介绍(r12笔记第95天)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:  MySQL Shell是在官方版本5.7.12推出,工具的初衷本身都是为了解决一类问题,想必官方从很多方面了解到工具的使用情况,支持的开发语言太多,众口难调,所以这么个命令行工具就出来了,从它的推出,足以看到MySQL的格局,它是把很多能做不能做得都揽过来自己做了。

 MySQL Shell是在官方版本5.7.12推出,工具的初衷本身都是为了解决一类问题,想必官方从很多方面了解到工具的使用情况,支持的开发语言太多,众口难调,所以这么个命令行工具就出来了,从它的推出,足以看到MySQL的格局,它是把很多能做不能做得都揽过来自己做了。根据官方的shell,python,原生SQL,Javascript等,格式都是清一色的JSON.

   如果对这个工具还是有一些疑惑的话,在最新版本的InnoDB Cluster可以作为其中的一个标准组件,如果你想搭建这个环境,里面的标准步骤是按照MySQL Shell的操作来的,再加上MySQL Router,MGR,这一套算是全了。

20170418133736568.png

    这个工具本身是一个可选组件,如果平时用起来也是一个蛮不错的选择。最新版本是1.0.9,可以通过如下的方式来下载二进制版本。

wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-1.0.9-linux-glibc2.12-x86-64bit.tar.gz --no-check-certificate   mysqlsh命令是这个工具的核心部分,如果查看这个mysqlsh命令的情况如下:

# file mysqlsh
mysqlsh: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

   假设你连接MySQL是通过如下的方式来连接。

# mysql -uroot -h127.0.0.1 --port=3308  -pmysql

那么在mysqlsh里面就很容易了。

mysql-js> \connect root:mysql@127.0.0.1:3308
Creating a Session to 'root@127.0.0.1:3308'
Classic Session successfully established. No default schema selected.

 如果查看MySQL服务的状态,就是一个很简单的status

mysql-js> \status
MySQL Shell Version 1.0.9
Session type:                 Classic
Connection Id:                1571
Default schema:               
Current schema:               
Current user:                 root@localhost
SSL: Cipher in use:           null
Server version:               MySQL Community Server (GPL)
Server info:                  5.7.17-log
Protocol version:             10
Connection:                   127.0.0.1 via TCP/IP
Server characterset:          latin1
Schema characterset:          latin1
Client characterset:          latin1
Conn. characterset:           latin1
Up time:                      47 days, 22 hours, 40 minutes, 57 sec
Threads: 3  Questions: 691328  Slow queries: 0  Opens: 10336  Flush tables: 35  Open tables: 69  Queries per second avg: 0.166
mysql-js>

   总体来说,用法和MongoDB很相似,风格和PG也蛮相似。

比如切换到sql模式。

mysql-js> \sql
Switching to SQL mode... Commands end with ;
mysql-sql> select @@port;
+--------+
| @@port |
+--------+
|   3308 |
+--------+

MySQL Shell的连接还支持uri的方式,使用mysqlsh -uri的形式即可。

当然里面的很多信息可以通过API的方式来调用得到。

比如检查状态等。

mysql-js> dba.configureLocalInstance('root@127.0.0.1:3308')
Please provide the password for 'root@127.0.0.1:3308':
Please fix these issues and try again.
{
    "errors": [],
    "restart_required": false,
    "status": "error"
}




  

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
70 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
3月前
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
51 0
|
5月前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
5月前
|
SQL 存储 关系型数据库
运维笔记.MySQL.基于mysqldump数据备份与恢复
运维笔记.MySQL.基于mysqldump数据备份与恢复
84 0
|
5月前
|
SQL 关系型数据库 MySQL
【go笔记】使用sqlx操作MySQL
【go笔记】使用sqlx操作MySQL
|
7月前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
69 0
|
7月前
|
存储 关系型数据库 MySQL
技术笔记:MySQL数据库优化详解(收藏)
技术笔记:MySQL数据库优化详解(收藏)
71 0
|
7月前
|
SQL 关系型数据库 MySQL
技术笔记:python连接mysql数据库
技术笔记:python连接mysql数据库
135 0
|
7月前
|
SQL 存储 关系型数据库
技术笔记:MYSQL常用基本SQL语句总结
技术笔记:MYSQL常用基本SQL语句总结
48 0
|
7月前
|
SQL 关系型数据库 MySQL
Mysql优化之索引相关介绍(笔记)
这段内容涵盖了创建MySQL用户表的SQL语句,创建一个包含`username`、`age`和`dept`字段的联合索引,以及关于联合索引查询时遵循的最左前缀原则的解释。
51 0