原文链接:https://www.modb.pro/db/22716?cyn

摘要:如果在WINDOWS上想链接在LINUX上的MYSQL有什么方法,windows上各种GUI,还是打开MYS

如果在WINDOWS上想链接在LINUX上的MYSQL有什么方法,windows上各种GUI,还是打开MYSQL那个原本黑漆漆的小方格。现在你有了新的选,MYSQL Shell 全新的连接MYSQL 的方式,一个满足各种人群连接MYSQL的方式。从官方上下载后,在WINDOWS 上解压后,直接点击执行。

双击mysqlsh

为什么要有mysql shell,这是ORACLE 的一个计划,这个工具支持社区和企业版的MYSQL,首先这个工具并不是只针对DBA,或者说白的,他的对象是更广阔的开发人员和会写程序的DBA们。

下图就是ORACLE 对MYSQL Shell 的定位。

怎么说,如果用过MONGODB的话,就深有体会会JS的优点,操作MONGODB 可以入行云流水一般。,那mysql shell的功能可是要更广,看下图。

原理先不多讲,直接使用, 目前MYSQL Shell 自带了PYTHON3.7 ,以下的案例大部分在 Python中调用一些 MYSQL SHELL 的命令,最后在总结。

打开下载的文件,其中有一个可以执行的文件

双击然后\py, 然后输入 连接 mysql 的连接字符串, \connect -mc 用户名:密码@IP或域名:端口号

然后就进来了。

\connect -mc shell:1234.Com@192.168.198.210:3306

另外下面是一个例子,如何使用 mysql shell 中的 py模块来遍历一下数据库的库名。

from mysqlsh import mysqlx

mySession = mysqlx.get_session('shell:1234.Com@192.168.198.210')

schemaList = mySession.get_schemas()

print('Available schemas in this session:\n')

for schema in schemaList:

print(schema.name)

mySession.close()

写到这里,我个人的感觉没有对这个shell of mysql有一个整体的了解,不了解的原因没有从ORACLE 整体的观点来看这个mysql shell, 他到底要服务于什么人群,目的是什么。

从上面的英文介绍来看,MYSQL SHELL 并不是要替换我们现在常用的已知的方式。MYSQL SHELL 面对的人群

1 程序员,尤其不会写SQL 语句的那些人

2 自动化,或者想他通过程序的方式来自动化管理MYSQL 一部分功能的人

3 将MYSQL 部分管理简单化得人,尤其与集群方面有关(个人感觉,就是要简化操作,继续降低MYSQL 的操作复杂度)

在说白一点,MYSQL的野心是不小的,他首先的目标要开始转向 Document store. 说白了MYSQL 8 要开始分割 MONGODB 的市场,尤其是轻量级使用MONGODB 的那部分,然后你习惯,在依赖。为什么可以从官方给的例子来说的名字,我们只有对MONGODB 的表的称呼叫 collection,看看MYSQL 对二维表格的文档的操作叫什么。

然后就是面对自己的高可用的业务,INNODB CLUSTER 和 Group Replication ,将高可用的方式进一步程序化。

下面看几个CRUD 的例子

from mysqlsh import mysqlx

mySession = mysqlx.get_session({'host': '192.168.198.210', 'port': 33060,'user': 'shell', 'password': '1234.Com'})

myDb = mySession.get_schema('employees')

myTable = myDb.get_table('dept_emp')

myResult = myTable.select(['emp_no', 'dept_no']).limit(1).execute()

print(myResult.fetch_all())

上边是操作普通的表,实际上如果操作 JSON 文档有怎样

from mysqlsh import mysqlx

mySession = mysqlx.get_session({'host': '192.168.198.210', 'port': 33060,'user': 'shell', 'password': '1234.Com'})

myDb = mySession.get_schema('test')

myColl = myDb.create_collection('Mongo_json')

myColl.add({'_id': '1', 'name': 'Laurie', 'age': 19}).execute()

myColl.add({'_id': '2', 'name': 'Nadya', 'age': 54}).execute()

myColl.add({'_id': '3', 'name': 'Lukas', 'age': 32}).execute()

docs = myColl.find('name like :param1 AND age < :param2').limit(1).bind('param1','L%').bind('param2',20).execute()

doc = docs.fetch_one()

print(doc)

myDb.drop_collection('my_collection')

从上边的例子来看,PYTHON 操作下的MYSQL 活脱脱的变成让我有点熟悉的MONGODB

此时脑洞来了忽然理解了,MYSQL 8 真的不简单,不是5.8 是8是有道理的野心不小,MYSQL 再也不是那个“单纯”的孩子。

这是要做一个生态,让MYSQL 借程序员之手,要开始大举进攻 JSON 半结构化得市场,要和谁争地盘不言而喻了。并且这样的方式操作起来,还真叫人喜欢。如果推广开来,那........

因为MYSQL SHELL 并不光支持PYTHON ,还有JS 那是 MONGODB 操作的根本语言。

在看看 X DevAPI 的help 。

MYSQL SHELL 到底是个什么局 剑指 “大芒果”相关推荐

  1. mysql shell是什么意思_MYSQL SHELL 到底是个什么局 剑指 “大芒果”

    如果在WINDOWS上想链接在LINUX上的MYSQL有什么方法,windows上各种GUI,还是打开MYSQL那个原本黑漆漆的小方格.现在你有了新的选,MYSQL Shell 全新的连接MYSQL ...

  2. 三星收购云计算公司剑指“大数据”,IBM“跨界”合作打造智慧医疗

    三星终向"大数据"出手,正式收购美国云计算公司Joyent 相较于高调的苹果,忙得不亦乐乎的华为,同为手机大品牌的韩国三星近一段时间并为出现什么大动作,在人人争抢大数据的时间点里, ...

  3. 剑指offer里的递归与循环

    文章目录 递归怎么解 根据前序中序序列重建二叉树 从尾到头打印链表 递归产生的问题 Fibonacci数列 跳台阶 变态跳台阶 总结 其实这是第二遍刷剑指offer,发现已经忘得差不多了-虽然说有印象 ...

  4. left join 一对多_MYSQL 连接查询算法:JOIN语句在 MYSQL 内部到底是怎么执行的

    前言 我们从一个问题引入今天的主题. 在日常业务开发中,我们可能经常听到 DBA 对我们说"不要"(注意:不是禁止)使用 join,那么为什么 DBA 对 join 这么抵触呢?是 ...

  5. 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)

    现在开始介绍php+mysql+shell监控系统 1.目的 此监控系统主要是通过php+mysql+shell的方式,通过shell脚本对各个机器的其各个服务进行监控,达到及时的了解其各个应用服务的 ...

  6. mysql shell 1.0.10_MySQL Shell(使用Shell命令管理MySQL)下载 v1.0.10 官方32位+64位Windows版 - 比克尔下载...

    MySQL Shell是一个MySQL数据库的高级命令管理工具,与其它数据库管理工具不同的是,该工具不仅支持SQL语言,可以使用Shell命令来管理MySQL的功能,支持JavaScript以及Pyt ...

  7. MySQL SHELL 缓存历史命令

    在正常情况下,我们在 MySQL SHELL 中输入的历史命令语句,通过上下箭头键可以向前向后查看,但是如果输入的语句中含有密码字段,那么这条命令语句不会被缓存到历史记录中.

  8. mysql的 怎么处理_本人的MySQL连接到底怎么处理才好……

    RT,代码本人直接贴了-- using MySql.Data.MySqlClient; namespace WindowsFormsApplication1 { public class ClassC ...

  9. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

最新文章

  1. Oneproxy 读写分离
  2. mysql begin end 批量更新_MySql中4种批量更新的方法
  3. 打算把我的视频工具整合一下
  4. 最新发布!斯坦福 CS224n 出作业视频详细讲解啦!
  5. 快递鸟电子面单打印功能基于java
  6. 代码模板在哪里_C++的可变参数模板
  7. android项目闪屏页细节
  8. [Ext JS] Sencha Cmd命令参考之二
  9. C++11特性补充笔记1
  10. Android 4.0 ICS SystemUI浅析——StatusBar加载流程分析
  11. VMware Workstation 历史版本下载
  12. 类数据源Visual C++对ODBC数据库资源的访问
  13. EntityFramework Codefirst Select 查询指定列
  14. 翻译:iOS上的MVVM + RxSwift架构对比 MVC,MVVM,MVP和VIPER
  15. 31部黑客电影,你看过哪几部?
  16. java中什么是实例化
  17. Excel下拉选项设置
  18. python找出3或者5的倍数_在 python 中,确定3或者5的倍数
  19. 流媒体技术基础-流媒体文件格式
  20. vue 动态背景图片

热门文章

  1. linux对磁盘进行分区_如何在Linux中对磁盘进行分区
  2. zephyr_Facebook,IBM,Yahoo和更多新闻发布的物联网Zephyr项目
  3. 搭建 | 一步成功搭建Centos + Kubernetes 环境
  4. Bootstrap是什么
  5. Bootstrap 禁用的按钮
  6. CSS 兼容浏览器的方法 CSS Hack
  7. es6 yield表达式
  8. Windows固态硬盘,unbuntu机械硬盘双系统方案
  9. Git笔记(15) 远程分支
  10. 程序设计基础(C语言)课程设计报告,C语言程序设计基础课程设计报告.doc