`
iwebcode
  • 浏览: 2004403 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

3种自动登录MySQL命令行模式的方法

 
阅读更多
  作者:zhanhailiang 日期:2013-01-15

第1种(主要是为了说明expect的使用场景,没什么实用意义

一般情况下,我们想要进入MySQL命令模式总是需要按如下交互输入密码确认,才能进入命令行模式:

zhanhailiang@linux-06bq:~> mysql -u sl -p
Enter password: 

其实我们可以使用expect编写脚本,来通过expect与shell交互通信来实现自动登录:

zhanhailiang@linux-06bq:~> cat mysql.sh 
#!/usr/local/bin/expect

spawn /usr/local/services/mysql/bin/mysql -u sl -p
expect {
    "assword" { send "sl\r" }
}
interact

其实这段脚本的意思就是说“执行/usr/local/services/mysql/bin/mysql -u sl -p,等待响应,若匹配assword,则发送sl(即MySQL用户登录密码),回车,模拟用户手工操作”。

编写完mysql.sh脚本后,赋予执行权限,然后就可以通过执行mysql.sh来自动登录MySQL命令行模式。

zhanhailiang@linux-06bq:~> chmod +x mysql.sh 
zhanhailiang@linux-06bq:~> ./mysql.sh        
spawn /usr/local/services/mysql/bin/mysql -u sl -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12912
Server version: 5.5.14-log MySQL Community Server (GPL)

Copyright (c) 2000, 2010, 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;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

注:expect拥有众多的参数及丰富的应用场景,有兴趣的同学请自行查看man手册或其它资料。

第2种

通过编辑/home/xxx/.bashrc文件,添加如下代码:

alias mysql="/usr/local/services/mysql/bin/mysql -u sl -psl"

接下来重新加载.bashrc文件

~$ source .bashrc
~$ mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.20-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

第3种

通过修改/home/xxx/.my.cnf,添加登录所需的默认参数值:

  1 [client]
  2 host=localhost
  3 user=sl
  4 password=sl

这样也可实现自动登录MySQL:

~$ mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.20-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

参考资料:linux expect, spawn用法小记

分享到:
评论

相关推荐

    MySql 5.1 参考手册.chm

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    MySQL 5.1参考手册

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 ...

    MySQL 5.1官方简体中文参考手册

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    mysql4.1手册,下载的来

    用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 ...

    MySQL 5.1中文手冊

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    mysql5.1中文手册

    mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器...

    MySQL 5.1参考手册中文版

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 ...

    MySQL 5.1参考手册 (中文版)

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    MYSQL中文手册

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端...

    MySQL-employee-tracker:命令行应用程序的存储库,用于通过MySQL数据库管理员工信息

    设置模式文件(存储库中包含的模式文件)后,在MySQL Workbench中初始化数据库。 初始化后,员工的数据随后被播种到数据库中。 通过命令行界面运行程序后,用户可以选择查看所有部门,查看所有角色,查看所有员工,...

    全球133种语言自动翻译mishop大米外贸商城系统.zip

    大米外贸商城系统 简称mishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能, 价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包...

    MySQL5.1参考手册官方简体中文版

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    mysql官方中文参考手册

    8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...

    PHP和MySQL Web开发第4版pdf以及源码

    9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少权限原则 9.5.2 创建用户:GRANT命令 9.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的...

    PHP和MySQL WEB开发(第4版)

    9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少权限原则 9.5.2 创建用户:GRANT命令 9.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的例子 9.6 ...

    MYSQL培训经典教程(共两部分) 1/2

    MYSQL 服务器交互作用 142 6.2.1锁定表的的方法 142 6.2.2 检查表的锁定协议 143 6.2.3 修复表的锁定协议 143 6.2.4 总结 144 6.3日志文件维护 144 6.3.1如何使用新的更新日志 144 6.3.2如何...

Global site tag (gtag.js) - Google Analytics