问下大家一般用什么工具监控mysql的性能
首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。
如何进行渗透测试才有可能登录到数据库服务器的远程终端
新建一个文本文件,更改扩展名为aabb.udl双击此文件,选数据库类型、设置ip、用户名、密码,数据库可进行连接测试 ,当然对方要开sql服务的测试成功后,点确定将这个文件以文本方式打开, 里面有连接字符串,装sql 查询分析器。
mysql需要安装哪些包
安装完了一个崭新的操作系统,且对操作系统自带的程序有了大致的了解,相信大家的兴趣一定高了不少,接下来一定会想安装一些自己需要的应用软件。在Linux系统中安装和配置应用软 件,长期以来被公认为是Linux的软肋之一,因为Linux到目前还没有像微软Windows那样简单的Setup-And-Run的安装方法。但是随着KDE和GNOME等桌面环境的完善,在Linux中安装应用软件的难度降低了许多。首先说说REDHAT Linux 9.0中几种软件安装方式。
三大软件安装方式
1.通过RPM软件包来安装
说起RPM(REDHAT Package Management)标准的软件包,大家可能都会想起大名鼎鼎的REDHAT公司,正是RPM软件包发行方式的出现,使Linux中的应用软件安装变得简单。如果用户想安装按RPM方式发行的软件,只需简单地输入命令“rpm -ivh xxx.rpm”即可。
比如用户想安装OpenOffice.org-1.0.1.rpm软件包,只需输入命令“rpm -ivh OpenOffice.org-1.0.1.rpm”即可。RPM软件包发行方式的另一个优点是它能够方便地对已经安装的RPM软件包进行删除,只要使用 “rpm -e OpenOffice.org-1.0.1”命令就能将刚才安装的OpenOffice.org-1.0.1.rpm从硬盘上安全永久地删除。如果你是在 X-Window环境中安装/删除软件,那便有更好的办法,如果使用的是KDE,可以使用KDE自带的Kpackage程序来对软件进行添加或删除,如果是使用GNOME,则可以使用Gnorpm程序对软件进行管理。这两个程序都很像微软Windows中的“添加/删除程序”功能。以RPM软件包发行方式的软件是最容易安装和管理的,建议大家以后多采用这种模式来管理软件。
2.Tar.gz(Tgz)软件包的安装
以Tar.gz为扩展名的软件包,是用Tar程序打包并用Gzip程序压缩的软件包。要安装这种软件包,需要先对软件包进行解压缩,使用 “tar -zxfv filename.tar.gz”可以对软件包进行解压缩,解压缩所得的文件在以Filename为名的目录中。进入该目录,可以看到解压缩出来的文件了。
各种软件都有不同的安装方法,但是一般每个软件包解压缩后都有Install和Readme文件,帮助文件中会有详细的安装指导。以 Tar.gz?或Tgz 包发行的软件有一个缺点,就是一般不带自动反安装程序,如果需要对已经安装的此类程序进行删除,就不得不仔细查看 Makefile中的安装路径和文件名,这些对于初学者有一些难度。
3.Tar.bz2软件包的安装
以Tar.bz2为扩展名的软件包,是用Tar程序打包并用Bzip2程序进行压缩的软件包。它的优点是压缩率非常高,需要使用 “bunzip2 filename.tar.bz2”进行解压。但以该种方式发行的软件包与Tar.gz软件包有着同样的缺点,那就是删除非常麻烦。
了解了软件的安装和删除方式,你现在一定已经跃跃欲试,想要装一些自己喜欢的软件了吧?
mysql数据库管理工具有哪些
mysql数据库管理工具navicat for mysql,对于不怎么喜欢图形界面或者不太方便使用SQL的时候。我们可以通过用这个图形界面数据库管理工具来管理mysql,本经验咗嚛就简单介绍一下怎么用navicat for mysql管理连接mysql数据库
工具/原料
navicat for mysql
Navicate for mysql
1
下载安装软件
使用navicate for mysl 之前当然先下载该软件,可以通过百度搜索查找 navicate 特别注意一下,请认准百度安全验证最好到官方网站,或者正规软件下载站下载
2
下载好软件之后,进行安装navicat for mysql(安装过程之间注意一下插件的自定义选择)
Navicat for mysql 怎么用?
连接数据库
打开navicat for mysql之后找到,文件----新建连接-- 如下图
连接参数填写
在出现的连接设置里面,有很多选项都是针对需要连接的数据库的账号信息
连接名:可以任意填写,方便以后识别区分即可
主机名或IP: 填写服务器的主机名(必须要能解析的)或者服务器IP地址,如果是本机可 以填写localhost 或 127.0.0.1
端口:默认是3306 如果修改了其他端口,需要对应
密码:就是用户名root密码或者其他mysql用户的密码
设置好连接数据库的参数之后,点击下方的“连接”如图出现“连接成功”即设置成功
数据库管理
连接上数据库之后,在左侧会显示当前mysql所有的数据库。点击对应的数据库,能查看当前数据库下面的表
添加删除数据库
如果需要添加删除数据库的话,很简单选择需要操作的数据库,鼠标右键选择操作即可
添加删除表
同样对于数据库下方的表,如果要新建的话点击选择 表---新建
对于新建的表,名和类型都可以手动输入指定选择。设置好之后,点击保存输入表名即可完成操作
点击添加好的表,或数据库的表。双击之后右侧会列出当前表的详细列项目和属性
如何使用命令行
虽然是图形化管理工具,但是对于很多操作其实还是需要SQL命令会更加方便。进入sql命令行界面,点击“工具”--“命令列界面”如下图箭头位置
随后在右下方空白区域进入了SQL命令行界面,操作方法和普通进入mysql命令行界面一样使用命令。如果需要清除当前屏幕内容,可以点击“清除”即可
其他功能
对于之前数据库已经导出的sql文件,或者写好的sql命令语句。可以通过选择需要导入的数据库,或表 右键选项“运行sql文件”
END
注意事项
navicat for mysql图形管理工具,还有很多各种高级设置功能。咗嚛本经验就截图介绍部分常用的数据库操作方法,后续有相关小技巧请留意咗嚛经验,谢谢!
本经验为咗嚛原创操作截图,百度经验首发。未经许可,谢绝转载!如果有疑问请给小编留言,谢谢多多支持!
mysql工具
mysql administrator 是用来执行数据库管理操作的程序,比如说配置、控制、开启和关闭mysql 服务。
MySQL管理器-MySQL Administrator
查询浏览器-Query Browser
数据库迁移工具包-Migration Toolkit
其实我觉得Navicat for MySQL比较好用
几个常用的MySQL性能测试工具
1、mysqlslap
安装:简单,装了mysql就有了
作用:模拟并发测试数据库性能。
优点:简单,容易使用。
不足:不能指定生成的数据规模,测试过程不清楚针对十万级还是百万级数据做的测试,感觉不太适合做综合测试,比较适合针对既有数据库,对单个sql进行优化的测试。
使用方法:
可以使用mysqlslap --help来显示使用方法:
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
--concurrency代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是10、50、100个并发。
--engines代表要测试的引擎,可以有多个,用分隔符隔开。
--iterations代表要运行这些测试多少次。
--auto-generate-sql 代表用系统自己生成的SQL脚本来测试。
--auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)
--number-of-queries 代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。
--debug-info 代表要额外输出CPU以及内存的相关信息。
--number-int-cols :创建测试表的 int 型字段数量
--auto-generate-sql-add-autoincrement : 代表对生成的表自动添加auto_increment列,从5.1.18版本开始
--number-char-cols 创建测试表的 char 型字段数量。
--create-schema 测试的schema,MySQL中schema也就是database。
--query 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。
--only-print 如果只想打印看看SQL语句是什么,可以用这个选项。
mysqlslap -umysql -p123 --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=mixed --engine=myisam --number-of-queries=10 --debug-info
或:
指定数据库和sql语句:
mysqlslap -h192.168.3.18 -P4040 --concurrency=100 --iterations=1 --create-schema='test' --query='select * from test;' --number-of-queries=10 --debug-info -umysql -p123
要是看到底做了什么可以加上:--only-print
Benchmark
Average number of seconds to run all queries: 25.225 seconds
Minimum number of seconds to run all queries: 25.225 seconds
Maximum number of seconds to run all queries: 25.225 seconds
Number of clients running queries: 100
Average number of queries per client: 0
以上表明100个客户端同时运行要25秒
2、sysbench
安装:
可以从http://sourceforge.net/projects/sysbench/ 下载
tar zxf sysbench-0.4.12.tar.gz
cd sysbench-0.4.12
./autogen.sh
./configure make make install
strip /usr/local/bin/sysbench
安装时候可能会报错,后来baidu发现个好文 http://blog.csdn.net/icelemon1314/article/details/7004955 怕以后找不到,也贴过来吧
1.如果mysql不是默认路径安装,那么需要通过指定--with-mysql-includes和--with-mysql-libs参数来加载mysql安装路径
2.如果报错:
../libtool: line 838: X--tag=CC: command not found
../libtool: line 871: libtool: ignoring unknown tag : command not found
../libtool: line 838: X--mode=link: command not found
../libtool: line 1004: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1005: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2231: X-g: command not found
../libtool: line 2231: X-O2: command not found
那么执行下根目录的:autogen.sh文件,然后重新configure make make install
3.如果报错:
sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
那么执行下:
n -s /usr/local/mysql5.5/mysql/lib/libmysqlclient.so.18 /usr/lib64/
4.如果执行autogen.sh时,报如下错误:
./autogen.sh: line 3: aclocal: command not found
那么需要安装一个软件:
yum install automake
然后需要增加一个参数:查找: AC_PROG_LIBTOOL 将其注释,然后增加AC_PROG_RANLIB
作用:模拟并发,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL
优点:可以指定测试数据的规模,可以单独测试读、写的性能,也可以测试读写混合的性能。
不足:测试的时候,由于网络原因,测试的非常慢,但是最终给的结果却很好,并发支持很高,所以给我的感觉是并不太准确。当然也可能我没搞明白原理
使用方法:
准备数据
sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=400000 --mysql-db=dbtest2 --mysql-user=root --mysql-host=192.168.1.101 --mysql-password=pwd prepare
执行测试
sysbench --num-threads=100 --max-requests=4000 --test=oltp --mysql-table-engine=innodb --oltp-table-size=400000 --mysql-db=dbtest1 --mysql-user=root --mysql-host=192.168.1.101 --mysql-password=pwd run
sysbench 0.4.12: multi-threaded system evaluation benchmark
No DB drivers specified, using mysql
Running the test with following options:
Number of threads: 100
Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 4000
Threads started!
Done.
OLTP test statistics:
queries performed:
read: 56014
write: 20005
other: 8002
total: 84021
transactions: 4001 (259.14 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 76019 (4923.75 per sec.)
other operations: 8002 (518.29 per sec.)
Test execution summary:
total time: 15.4393s
total number of events: 4001
total time taken by event execution: 1504.7744
per-request statistics:
min: 33.45ms
avg: 376.10ms
max: 861.53ms
approx. 95 percentile: 505.65ms
Threads fairness:
events (avg/stddev): 40.0100/0.67
execution time (avg/stddev): 15.0477/0.22
3、tpcc-mysql
安装:
如果从原网站上下载源码比较麻烦,需要工具、注册、生成证书等。这里提供一个下载包http://blog.chinaunix.net/blog/downLoad/fileid/8532.html
export C_INCLUDE_PATH=/usr/include/mysql
export PATH=/usr/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/mysql
cd /tmp/tpcc/src
make
然后就会在 /tmp/tpcc-mysql 下生成 tpcc 命令行工具 tpcc_load 、 tpcc_start
作用:测试mysql数据库的整体性能
优点:符合tpcc标准,有标准的方法,模拟真实的交易活动,结果比较可靠。
不足:不能单独测试读或者写的性能,对于一些以查询为主或者只写的应用,就没有这么大的意义了。
使用方法:
加载数据
创建库
mysqlcreate database tpcc10;
创建表:
shellmysql tpcc10 create_table.sql
添加外键:
shellmysql tpcc10 add_fkey_idx.sql
加载数据:
1、单进程加载:
shell./tpcc_load 192.168.11.172 tpcc10 root pwd 300
|主机||数据库||用户||密码||warehouse|
2、并发加载:(推荐,但需要修改一下)
shell./load.sh tpcc300 300
|数据库||warehouse|
3、测试
./tpcc_start -h192.168.11.172 -d tpcc -u root -p 'pwd' -w 10 -c 10 -r 10 -l 60 -i 10 -f /mnt/hgfs/mysql/tpcc100_2013522.txt
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '192.168.11.172'
option d with value 'tpcc'
option u with value 'root'
option p with value 'pwd'
option w with value '1'
option c with value '100'
option r with value '120'
option l with value '60'
option i with value '10'
option f with value '/mnt/hgfs/mysql/tpcc100_2013522.txt'
Parameters
[server]: 192.168.11.172
[port]: 3306
[DBname]: tpcc
[user]: root
[pass]: pwd
[warehouse]: 1
[connection]: 100
[rampup]: 120 (sec.)
[measure]: 60 (sec.)
RAMP-UP TIME.(120 sec.)
MEASURING START.