注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle、MySQL资料及经验

.

 
 
 

日志

 
 

MySQL管理工具  

2015-11-16 09:40:14|  分类: MySQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
MySQL管理工具众多,官方的有Workbench&Utilities,第三方有SQLyog和Navcat,基于BS架构的有phpMyAdmin。
命令行工具:服务端有mysql_install_db/mysqld_safe/mysqld/mysqld_mutli,通过--help查看参数。
mysql_install_db建库工具,初始化与MySQL系统表有关的物理文件,--datadir是其最重要的参数,所创建的文件都保存在datadir目录下。
$ /usr/local/mysql/scripts/mysql_install_db --help
用法实例:$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql
mysqld_safe,MySQL启动工具,实例:mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf & 
mysqld,MySQL主进程,mysqld_safe实际上是调用它来启库。
set global binlog_format=mixed;  --binlog_format修改实时生效,所有新连接的会话生效,但对当前会话无效。
状态变量也分为global和session。系统参数和系统变量不是一一对应的关系。
mysqld_mutli,MySQL多实例管理工具。
mysql_mutli可同时管理多个mysqld实例, 管理实例的启动、重新加载、停止、状态报告。
$ mysqld_multi --help
Usage: mysqld_multi [OPTIONS] {start|reload|stop|report} [GNR,GNR,GNR...]
    or     mysqld_multi [OPTIONS] {start|reload|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
mysqld_multi命令会扫描my.cnf中的[mysqldN],N为不重复的整数,通过mysqldN来区别不同的实例,这个mysqld_multi由于使用不便,工作中实际上极少使用。

mysql 命令行工具
--auto-rehash  按Tab自动补全,在my.cnf中没试出来。
-e, --execute   非交互方式,如:$ mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock -e "show processlist\G" 
-f, --force       非交互模式,遇到错误强制执行。如:mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock -e "drop table aa.t_1; show processlist\G" -f
Warning: Using a password on the command line interface can be insecure.
ERROR 1051 (42S02) at line 1: Unknown table 'aa.t_1'    --错误仍会显示出来
*************************** 2. row ***************************
     Id: 2
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 646
  State: Slave has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL

--show-warnings 执行完语句后,有告警马上显示。

mysql命令:
clear \c  撤销当前要执行的sql。
connect \r  重新连接服务器,可同时指定库名和主机名。
prompt \R  mysql提示符
rehash  \#  Tab键补全
source  \.   执行指定文件中的sql语句
system  \!   执行一个shell命令
tee       \T   类似Oracle的spool
status   \s  从服务器得到状态信息
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.26, for linux-glibc2.5 (x86_64) using  EditLine wrapper

Connection id:          4
Current database:       test
Current user:           system@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.6.26-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /data/mysqldata/3306/mysql.sock
Uptime:                 22 min 13 sec

Threads: 3  Questions: 41  Slow queries: 0  Opens: 96  Flush tables: 1  Open tables: 89  Queries per second avg: 0.030
--------------

MySQL非交互执行文件中的sql:
[mysql@biee ~]$ cat 1.sql 
use test;
select count(1) from t_arc1;

[mysql@biee ~]$ mysql -usystem -p123456 -S /data/mysqldata/3306/mysql.sock -e "source /home/mysql/1.sql" -f
-e非交互模式  -f 遇到错误强制执行
Warning: Using a password on the command line interface can be insecure.
+----------+
| count(1)  |
+----------+
|     1737    |
+----------+

pager MySQL管道符,后面跟的是OS命令,可以换成任何其他命令。取消为nopager
对于结果返回很多行的sql,使用more来分屏显示:
mysql> pager more
mysql> select * from test.t_arc1;

rehash  Tab键自动补全。跟初始化参数auto-rehash一样。
status  查看服务器状态,常用于MySQL的服务监控。
(system@localhost) [(none)]> status
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    10
Current database: *** NONE ***

--------------
mysql  Ver 14.14 Distrib 5.6.26, for linux-glibc2.5 (x86_64) using  EditLine wrapper

Connection id:          10
Current database:
Current user:           system@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.6.26-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /data/mysqldata/3306/mysql.sock
Uptime:                 46 min 25 sec

Threads: 3  Questions: 63  Slow queries: 0  Opens: 96  Flush tables: 1  Open tables: 89  Queries per second avg: 0.022

tee 相当于Oracle的spool
(system@localhost) [(none)]> tee /home/mysql/sql.txt
Logging to file '/home/mysql/sql.txt'
(system@localhost) [(none)]> select count(1) from t_arc1;
ERROR 1046 (3D000): No database selected
(system@localhost) [(none)]> select count(1) from test.t_arc1;
+----------+
| count(1) |
+----------+
|     1737 |
+----------+
1 row in set (0.00 sec)
(system@localhost) [(none)]> notee
mysql> system more /home/mysql/sql.txt  
(system@localhost) [(none)]> select count(1) from t_arc1;
ERROR 1046 (3D000): No database selected
(system@localhost) [(none)]> select count(1) from test.t_arc1;
+----------+
| count(1) |
+----------+
|     1737 |
+----------+
1 row in set (0.00 sec)
/home/mysql/sql.txt文件原样记录了上面的操作。

mysqladmin 检查服务器配置、当前状态、创建/删除数据库。用法$ mysqladmin --help
-i, --sleep=#  间隔指定时间后,再次重复调用mysqladmin命令。
-r, --relative   与-i参数联用并指定extended-status命令时,显示本次与上次之间,各状态值间的差异。
extended-status  跟show global status功能一样。
processlist 查看所有的连接线程信息,功能等同于show processlist;
status 同mysql命令行的status。$ mysqladmin -usystem -p123456 status 
Uptime: 18572秒  Threads: 3会话  Questions: 64  Slow queries: 0慢查询  Opens: 96已打开的表  Flush tables: 1  Open tables: 89当前会话打开的表  Queries per second avg: 0.003查询频率

每隔1秒输出MySQL服务的状态信息  mysqladmin -usystem -p123456  -S /data/mysqldata/3306/mysql.sock  -i 1 status 
每隔1秒输出MySQL服务的查询数量  mysqladmin -usystem -p123456  -S /data/mysqldata/3306/mysql.sock  -i 1 -r extended-status  | grep -e "Com_select" 
                                                          mysqladmin -usystem -p123456  -S /data/mysqldata/3306/mysql.sock  -i 1 -r extended-status  | grep Com_select

MyISAM的检查和修复工具myisamchk,myisam_ftdump输出MyISAM全文索引的工具,innodb数据文件计算checksum的innochecksum命令,分析慢查询的mysqldumpslow命令。


phpMyAdmin
安装需要一套apache+PHP环境。XAMPP包含了apache、mysql、php、perl及各关联软件包的运行环境。


MySQL Workbench
下载网址:dev.mysql.com/downloads/tolls/workbench
自带的models,可以在图形模式创建和维护模型,还可以通过简单的操作,从已有数据库反向生成模型,或通过模型生成建库脚本。


其他第三方工具:Sqlyog、Navicat(官方使用文档、视频做得很好)










  评论这张
 
阅读(65)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018