mysql-shell的安装和使用

mysql-shell是一个高级的mysql命令行工具、它直接两种模式(交互式&批处理式)三种语言(javascript\python\sql)

1、下载地址

https://dev.mysql.com/downloads/shell/

2、安装 安装方法就比较简单了,下载一个linux-general版本的解压就行

mysql-shell-1.0.8-rc-linux-glibc2.12-x86-64bit.tar.gz  -C /usr/local/
ln -s /usr/local/mysql-shell-1.0.8-rc-linux-glibc2.12-x86-64bit /usr/local/mysqlsh
export PATH=/usr/local/mysqlsh/bin/:$PATH

3、通过mysql-shell连接到mysql-server

复制代码
mysqlsh 'appuser'@'127.0.0.1':3306
Creating a Session to 'appuser@127.0.0.1:3306'
Enter password: 
Classic Session successfully established. No default schema selected.
Welcome to MySQL Shell 1.0.8-rc

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type '\help', '\h' or '\?' for help, type '\quit' or '\q' to exit.

Currently in JavaScript mode. Use \sql to switch to SQL mode and execute queries.
mysql-js> 
复制代码

 第每连接都要输入密码、就是不喜欢、好在可以直接指定它

复制代码
mysqlsh 'appuser'@'127.0.0.1':3306 --password=123456
mysqlx: [Warning] Using a password on the command line interface can be insecure.
Creating a Session to 'appuser@127.0.0.1:3306'
Classic Session successfully established. No default schema selected.
Welcome to MySQL Shell 1.0.8-rc

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type '\help', '\h' or '\?' for help, type '\quit' or '\q' to exit.

Currently in JavaScript mode. Use \sql to switch to SQL mode and execute queries.
mysql-js> 
复制代码

除了这个之处还可以在连接字符串中指定数据库的名字,类似于use dbname;的效果

复制代码
mysqlsh 'appuser'@'127.0.0.1':3306/tempdb --password=123456
mysqlx: [Warning] Using a password on the command line interface can be insecure.
Creating a Session to 'appuser@127.0.0.1:3306/tempdb'
Classic Session successfully established. Default schema set to `tempdb`.
Welcome to MySQL Shell 1.0.8-rc

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type '\help', '\h' or '\?' for help, type '\quit' or '\q' to exit.

Currently in JavaScript mode. Use \sql to switch to SQL mode and execute queries.
mysql-js> 
复制代码

 把密码也加到连接字符串中去

复制代码
mysqlsh 'appuser':'123456'@'127.0.0.1':3306/tempdb
mysqlx: [Warning] Using a password on the command line interface can be insecure.
Creating a Session to 'appuser@127.0.0.1:3306/tempdb'
Classic Session successfully established. Default schema set to `tempdb`.
Welcome to MySQL Shell 1.0.8-rc

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type '\help', '\h' or '\?' for help, type '\quit' or '\q' to exit.

Currently in JavaScript mode. Use \sql to switch to SQL mode and execute queries.
mysql-js> 
复制代码

 

4、连接字符串的能用格式

mysqlsh [dbuser[:[dbpassword]]@]host[:port][/schema]

 

5、应用举例

假设我要执行如下的select 语句、在mysqlsh中我要怎么做呢?

复制代码
mysql -uroot -e"select * from tempdb.student" -vt
--------------
select * from tempdb.student
--------------

+------+
| x    |
+------+
|    1 |
|    2 |
+------+
复制代码

在mysqlsh中要用如下的方式执行

复制代码
mysqlsh  --uri 'appuser':'123456'@'127.0.0.1':33060
mysqlx: [Warning] Using a password on the command line interface can be insecure.
Creating a Session to 'appuser@127.0.0.1:33060'
Node Session successfully established. No default schema selected.
Welcome to MySQL Shell 1.0.8-rc

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type '\help', '\h' or '\?' for help, type '\quit' or '\q' to exit.

Currently in JavaScript mode. Use \sql to switch to SQL mode and execute queries.
mysql-js> \use tempdb
Schema `tempdb` accessible through db.
mysql-js> db.student.select()
+---+
| x |
+---+
| 1 |
| 2 |
+---+
复制代码


总结:

  就目前的情况来说mysqlsh是一个数据库初学者的工具(会javascript,python不太精通SQL),像资深的DBA应该还是用不太着的。

  我个人感觉mysqlsh对一个dba来说并没有mysql这个客户端工具来的方便。


转自      https://www.cnblogs.com/JiangLe/p/6625901.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值