快速业务通道

bash shell

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-08

mysql> select * from 51cto;
------ -----------
| id | name |
------ -----------
| 1 | 51cto.com |
| 2 | 163.com |
| 3 | qq.com |
------ -----------
3 rows in set (0.00 sec)

插入并且显示记录
3、
mysql> delete from 51cto where name = ''51cto.com'';
Query OK, 1 row affected (0.00 sec)
删除一条记录
4、
mysql> select * from 51cto where id >= 2;
------ ---------
| id | name |
------ ---------
| 2 | 163.com |
| 3 | qq.com |
------ ---------
2 rows in set (0.00 sec)
查询特定的记录
4、罗列简单的mysql数据类型:
******************************************************
数据类型 描述
char 固定长度的字符串值
varchar 可变长度的字符串值
int 整数型
float 浮点值
boolean 布尔值(true/false)
date 日期值,格式yyyy-mm-dd
time 时间值,格式为hh:mm:ss
timestamp 日期和时间值
text 长字符串值
BLOB 大型二进制值,如图像或视频剪辑
******************************************************

OK,到这里处理表的工作也完成,接下来就是在脚本中应用数据库了~~


四、在脚本中使用数据库
1、查找程序
需要是的linux系统找到mysql软件包的安装路径,这里我们可以通过which命令才设置为变量实现:
[root@wzp ~]# cat linux-linkto-mysql
mysql=`which mysql`
echo $mysql
[root@wzp ~]# chmod u x linux-linkto-mysql
[root@wzp ~]# ./linux-linkto-mysql
/usr/bin/mysql
通过这种方式就好办了,脚本获取到mysql的安装位置
2、登陆服务器
可以通过在脚本中指定登陆的用户,如下脚本:
[root@wzp ~]# cat login-mysql
#!/bin/bash
mysql=`which mysql`
$mysql -u 51cto -p
[root@wzp ~]# chmod u x login-mysql
[root@wzp ~]# ./login-mysql
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.0.45 Source distribution

Type ''help;'' or ''h'' for help. Type ''c'' to clear the buffer.

mysql> quit
Bye
当然,也许这种交互式脚本不是很方便,也就跟脚本开发的理念相违背,我们可以在脚本中放置密码,如下:
[root@wzp ~]# cat login-mysql
#!/bin/bash
mysql=`which mysql`
$mysql -u 51cto -p51cto
[root@wzp ~]# sh login-mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 12
Server version: 5.0.45 Source distribution

Type ''help;'' or ''h'' for help. Type ''c'' to clear the buffer.

mysql> quit
Bye
通过这方法可以解决非交互式问题,但是在脚本中附带用户密码也是不安全并且麻烦的事情.
,我们可以通过创建一个用户本身只读可执行的隐藏文件,通过调用该文件解决非交互式问题,也增加安全性,如下:
[root@wzp ~]# ll .passwd-51cto
-r-x------ 1 root root 11 02-12 17:22 .passwd-51cto
[root@wzp ~]# cat .passwd-51cto
echo 51cto
[root@wzp ~]# cat login-mysql
#!/bin/bash
mysql=`which mysql`
passwd=`$HOME/.passwd-51cto`
$mysql -u 51cto -p$passwd
[root@wzp ~]# ./login-mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 25
Server version: 5.0.45 Source distribution

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号