用shell写一个脚本用来监控mysql进程运行状态,测试一下能不能连上mysql,不能的话则发邮件报警。至于怎么监控,其实有很多命令,比如大部分在mysql/bin目录下的命令都可以用来测试mysql进程的运行状态,只要挂掉了则命令就会返回错误。
mysqladmin,如何创建新表!
用于执行管理性操作。语法是:
shell>; mysqladmin [OPTIONS] command [command-option] command ...
通过执行mysqladmin --help,你可以得到你mysqladmin的版本所支持的一个选项列表。
目前mysqladmin支持下列命令:
create databasename 创建一个新数据库
drop databasename 删除一个数据库及其所有表
extended-status 给出服务器的一个扩展状态消息
flush-hosts 洗掉所有缓存的主机
flush-logs 洗掉所有日志
flush-tables 洗掉所有表
flush-privileges 再次装载授权表(同reload)
kill id,id,... 杀死mysql线程
password 新口令,将老口令改为新口令
ping 检查mysqld是否活着
processlist 显示服务其中活跃线程列表
reload 重载授权表
refresh 洗掉所有表并关闭和打开日志文件
shutdown 关掉服务器
status 给出服务器的简短状态消息
variables 打印出可用变量
version 得到服务器的版本信息
所有命令可以被缩短为其唯一的前缀。例如:
shell>; mysqladmin proc stat
---- ------- ----------- ---- ------------- ------ ------- ------
| Id | User | Host | db | Command | Time | State | Info |
---- ------- ----------- ---- ------------- ------ ------- ------
| 6 | monty | localhost | | Processlist | 0 | | |
---- ------- ----------- ---- ------------- ------ ------- ------
Uptime: 10077 Threads: 1 Questions: 9 Slow queries: 0 Opens: 6 Flush tables: 1
Open tables: 2 Memory in use: 1092K Max memory used: 1116K
mysqladmin status命令结果有下述列:
Uptime MySQL服务器已经运行的秒数
Threads 活跃线程(客户)的数量
Questions 从mysqld启动起来自客户问题的数量
Slow queries 已经超过long_query_time秒的查询数量
Opens mysqld已经打开了多少表
Flush tables flush ..., refresh和reload命令数量
Open tables 现在被打开的表数量
Memory in use 由mysqld代码直接分配的内存(只有在MySQL用--with-debug编译时可用)
Max memory used 由mysqld代码直接分配的最大内存(只有在MySQL用--with-debug编译时可用)
主要是管理 不是使用 使用的话直接进入mysql create table
也可以mysqldmin create database
./***.sql(这里面是导出或者自己写的语句)