`
java-mans
  • 浏览: 11383385 次
文章分类
社区版块
存档分类
最新评论

MySQL 5.5 5.1 服务器状态分析

 
阅读更多

在MySQL中使用show status能够看到服务器当前状态,但是不方便分析,特意写了个分析脚本(没有冒犯mysqlreport企图)

目前支持linux平台下5.5和5.1版本的mysql

使用前需要修改 脚本头部的参数

host="192.168.60.130"
user="dba"
pwd="123456"
port=3306
dbname="test"
这种参数非常不方便,命令行参数正在组织中,先出个生产库的报表吧,总体而言,硬盘写入比高达70(已经大于64),说明硬盘已经不堪重负了,Innodb buffer pages used ratio已经100%,内存不够了,Qcache就不应该开

=============MySQL info=============
Connection id        : 4944
Current database     : test
Current user         : user@%
SSL                  : NO
MySQL VERSION        : 5.1.45-community Source distribution
MySQL client info    : 5.1.61
Protocol version     : 10
Connection           : XXX.XX.XX.XX via TCP/IP
Server characterset  : latin1
Db     characterset  : latin1
Client characterset  : latin1
Conn.  characterset  : latin1
collation_connection : latin1_swedish_ci
collation_database   : latin1_swedish_ci
collation_server     : latin1_swedish_ci
Uptime               : 473274s
============processlist=============
processlist rowcount =80
status time>1 threads list:
Id	User		Host			db		Command		Time		State	Info	
status time>1 threads count=0
=========MySQL status pulse=========
------------------------------------
Reads/Writes status
------------------------------------
Reads:Writes ratio                  : 0.0857164519801%
QPS/TPS                             : 51.5407755338/s	0.00167556214793/s
Table locks waited ratio            : 4.10179506858e-08%
SQL PS                              : select=0.0441203193076/s insert=29.5896816643/s update=13.3331706369/s delete=8.54955269041/s replace=0.0/s
Bytes sent/received per second      : 47641.6740937/s 73689.5984504/s
------------------------------------
Slow and Sort queries status
------------------------------------
Slow queries Ratio                  : 1.09458039629e-05%
Slow queries per second             : 0.000564155225092/s
Full join per second                : 0.000564155225092/s
Sort per second                     : merge passes=0.0003296187832/s range=0.00809467665665/s rows=1.20635192299/s scan=0.000232423500974/s
------------------------------------
connections status
------------------------------------
Thread cache hits(created/cached)        : 98.301314459% (84/16)
Connections used ratio(Max used/Max)     : 27.6666666667%(83/300)
Aborted connects ratio                   : 2.64914054601%
Threads running                          : 1
------------------------------------
temp table and Open tables/files status
------------------------------------
Temp tables to Disk ratio                 : 5.54827435561%
Open tables/table open cache/Opened tables: 191/400/511
Opened files per second                   : 0.00244678558298/s
------------------------------------
InnoDB Status
------------------------------------
Innodb buffer read hits(Disk/total)            : 99.8768291196%    (5216485/4235160926)
Innodb_dblwr_pages_written:Innodb_dblwr_writes : 70
Innodb buffer pages used ratio(free/total)     : 100.0%    (0/131072)
Innodb buffer pages dirty ratio(dirty)         : 65.9233093262%    (86407)
Innodb buffer pages flushed per second(flushed): 28.4868427169/s    (13482082/473274s)
Innodb buffer pool pages misc                  : 10254.0
Innodb row lock waits per second(waits): 0.0/s    (0)
Innodb row lock current waits          : 0
Innodb row lock time(avg/max/total)    : 8574/43757/214358
Innodb rows PS        : read=2803.58150458/s inserted=326.822963019/s updated=13.3331748628/s deleted=319.585339571/s
Innodb data PS        : reads=14.1728554706/s writes=19.1432109095/s fsyncs=2.91195797783/s
Innodb data pending PS: reads=0.0/s writes=0.0/s fsyncs=0.0/s
------------------------------------
key buffer Status
------------------------------------
key buffer used ratio     : 0.0732421875%
key buffer read hit ratio : 75.0%
key buffer write hit ratio: 0%
------------------------------------
Qcache Status
------------------------------------
Qcache queries hits ratio(hits/inserts): 0.00138882237441%    (29/20881)
Qcache hits inserts ratio(hits/inserts): 0.165581820258%    (29/17485)
Qcache memory used ratio(free/total)   : 0.118613243103%    (33514632/33554432)
Qcache prune ratio(prunes/inserts)     : 0.0%    (0/17485)
Qcache block Fragmnt ratio(free/total) : 3.44827586207%    (2/58)
------------------------------------
Slave Status
------------------------------------
Slave running status                               : OFF
Slave open temp tables                             : 0
Slave transactions per second(transactions/Uptime) : 0.0/s    (0/473274)
Slave received per second (received/period)        : 0.0/s    (0/0.0)
------------------------------------
table status
------------------------------------
db		Name		Engine		Version		Row_format		Rows		Avg_row_length		Data_length		Max_data_length		Index_lengtht		Data_free		Auto_increment		Create_time		Update_time		Check_time		Collation		Checksum		Create_options		Comment
ldb		common_hist		MyISAM		10		Dynamic		0		0		0		281474976710655		1024		0		None		2012-01-12 09:35:10		2012-01-12 09:35:10		None		latin1_swedish_ci		None						
test		ip_dict		MyISAM		10		Dynamic		83084		22		1876144		281474976710655		1024		0		None		2012-01-17 09:18:59		2012-01-17 09:19:01		None		latin1_swedish_ci		None						
test		push_spreadaccount		MyISAM		10		Dynamic		308		24		7460		281474976710655		1024		0		None		2012-02-03 10:02:42		2012-03-12 18:13:14		None		latin1_swedish_ci		None						
dmdb		account_basic		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		char_basic		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		char_cost		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		char_incre		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		char_salary		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		charge_item_cost		InnoDB		10		Compact		0		0		16384		0		16384		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		charge_item_sale		InnoDB		10		Compact		0		0		16384		0		16384		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		coin_cost		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		game_baiguidi		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		game_chongwutaowang		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		game_wanyaoku		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:49		None		None		latin1_swedish_ci		None						
dmdb		game_yabiao		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:50		None		None		latin1_swedish_ci		None						
dmdb		item_exchange		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:50		None		None		latin1_swedish_ci		None						
dmdb		party_contrib_convert		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:24:50		None		None		latin1_swedish_ci		None						
dmdb		reputation_convert		InnoDB		10		Compact		0		0		16384		0		16384		0		1		2012-03-08 08:24:50		None		None		latin1_swedish_ci		None						
ldb		antiaddiction_log		InnoDB		10		Compact		33426		78		2637824		0		3178496		4194304		31667		2012-03-08 08:06:31		None		None		latin1_swedish_ci		None						
ldb		apply_log		InnoDB		10		Compact		72898		144		10502144		0		12632064		114294784		907793		2012-03-08 08:06:18		None		None		latin1_swedish_ci		None						
ldb		behavior_log		InnoDB		10		Compact		0		0		16384		0		32768		0		1		2012-03-08 08:08:51		None		None		latin1_swedish_ci		None						
ldb		block_log		InnoDB		10		Compact		44026		202		8929280		0		7405568		4194304		43655		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		campaign_log		InnoDB		10		Compact		736936		180		133332992		0		106119168		290455552		10360528		2012-03-08 08:10:23		None		None		latin1_swedish_ci		None						
ldb		client_action_log		InnoDB		10		Compact		0		0		16384		0		49152		0		1		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		client_performance_log		InnoDB		10		Compact		0		0		16384		0		49152		0		1		2012-03-08 08:09:05		None		None		latin1_swedish_ci		None						
ldb		coin_consume_log		InnoDB		10		Compact		63228		116		7356416		0		6389760		9437184		353287		2012-03-08 08:10:23		None		None		latin1_swedish_ci		None						
ldb		coin_order_log		InnoDB		10		Compact		911115		224		204144640		0		138788864		5242880		921668		2012-03-08 08:08:51		None		None		latin1_swedish_ci		None						
ldb		collect_data_log		InnoDB		10		Compact		366246		372		136478720		0		10502144		138412032		1809067		2012-03-08 08:06:19		None		None		latin1_swedish_ci		None						
ldb		combat_log		InnoDB		10		Compact		18852		223		4210688		0		491520		4194304		47986		2012-03-08 08:08:57		None		None		latin1_swedish_ci		None						
ldb		common_log		InnoDB		10		Compact		2058455		219		452313088		0		57786368		136314880		10274133		2012-03-08 08:10:23		None		None		latin1_swedish_ci		None						
ldb		cost_coin_log		InnoDB		10		Compact		55519		189		10502144		0		0		7340032		262758		2012-03-08 08:08:57		None		None		latin1_swedish_ci		None						
ldb		csc_combat_log		InnoDB		10		Compact		0		0		16384		0		49152		0		1		2012-03-08 08:08:57		None		None		latin1_swedish_ci		None						
ldb		csl_combat_log		InnoDB		10		Compact		0		0		16384		0		32768		0		1		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		csl_match_log		InnoDB		10		Compact		0		0		16384		0		32768		0		1		2012-03-08 08:07:42		None		None		latin1_swedish_ci		None						
ldb		csp_combat_log		InnoDB		10		Compact		0		0		16384		0		32768		0		1		2012-03-08 08:09:05		None		None		latin1_swedish_ci		None						
ldb		csp_match_log		InnoDB		10		Compact		0		0		16384		0		32768		0		1		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		debug_log		InnoDB		10		Compact		1872729		233		437649408		0		135692288		98566144		13829084		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		encourage_detail_log		InnoDB		10		Compact		5587		378		2113536		0		2310144		9437184		114217		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		equipment_log		InnoDB		10		Compact		978444		386		377864192		0		149405696		27262976		3169644		2012-03-08 08:09:02		None		None		latin1_swedish_ci		None						
ldb		errand_log		InnoDB		10		Compact		2921571		159		465600512		0		309919744		813694976		30593577		2012-03-08 08:09:05		None		None		latin1_swedish_ci		None						
ldb		gbuy_action_log		InnoDB		10		Compact		0		0		16384		0		65536		0		1		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		gift_log		InnoDB		10		Compact		63817		197		12599296		0		2113536		13631488		178135		2012-03-08 08:10:23		None		None		latin1_swedish_ci		None						
ldb		gm_log		InnoDB		10		Compact		4802		330		1589248		0		557056		4194304		4383		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		gs_log		InnoDB		10		Compact		34300		275		9453568		0		3178496		7340032		358648		2012-03-08 08:07:46		None		None		latin1_swedish_ci		None						
ldb		history_credit_log		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:07:42		None		None		latin1_swedish_ci		None						
ldb		important_log		InnoDB		10		Compact		12589921		476		6002049024		0		1199570944		7340032		17086401		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		important_pet_log		InnoDB		10		Compact		1493		1766		2637824		0		327680		4194304		1424		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		item_transfer_log		InnoDB		10		Compact		4916635		343		1689272320		0		795607040		257949696		8857762		2012-03-08 08:06:18		None		None		latin1_swedish_ci		None						
ldb		level_up_log		InnoDB		10		Compact		93675		201		18890752		0		8437760		160432128		975939		2012-03-08 08:06:19		None		None		latin1_swedish_ci		None						
ldb		login_log		InnoDB		10		Compact		2169745		353		766541824		0		255852544		337641472		3885253		2012-03-08 08:08:51		None		None		latin1_swedish_ci		None						
ldb		material_log		InnoDB		10		Compact		44701		211		9453568		0		2113536		7340032		223641		2012-03-08 08:08:02		None		None		latin1_swedish_ci		None						
ldb		money_log		InnoDB		10		Compact		659037		144		95551488		0		72564736		174063616		2399885		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		nummary_log		InnoDB		10		Compact		332669		82		27328512		0		28442624		208666624		3458457		2012-03-08 08:07:46		None		None		latin1_swedish_ci		None						
ldb		pet_level_up_log		InnoDB		10		Compact		229747		141		32587776		0		42123264		111149056		1311541		2012-03-08 08:09:53		None		None		latin1_swedish_ci		None						
ldb		pet_log		InnoDB		10		Compact		378913		1037		393232384		0		95715328		1098907648		2899053		2012-03-08 08:08:51		None		None		latin1_swedish_ci		None						
ldb		property_bind_log		InnoDB		10		Compact		714777		1215		868614144		0		54738944		74448896		830305		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		purchase_platform_log		InnoDB		10		Compact		161405		283		45678592		0		24690688		5242880		160977		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		safe_log		InnoDB		10		Compact		332886		699		233013248		0		36225024		28311552		405505		2012-03-08 08:06:31		None		None		latin1_swedish_ci		None						
ldb		sale_log		InnoDB		10		Compact		40585		103		4210688		0		6356992		8388608		483544		2012-03-08 08:09:53		None		None		latin1_swedish_ci		None						
ldb		stat		InnoDB		10		Compact		42627		98		4210688		0		2113536		5242880		195505		2012-03-08 08:08:40		None		None		latin1_swedish_ci		None						
ldb		switch_log		InnoDB		10		Compact		657658		244		160612352		0		54673408		314572800		7808502		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		task_log		InnoDB		10		Compact		3181905		208		662732800		0		315326464		560988160		8187393		2012-03-08 08:08:14		None		None		latin1_swedish_ci		None						
ldb		user_log		InnoDB		10		Compact		3131691		391		1224753152		0		93503488		270532608		15998092		2012-03-08 08:07:46		None		None		latin1_swedish_ci		None						
mdb		acc_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		account		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		admin_log		InnoDB		10		Compact		0		0		16384		0		0		0		1		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		char_info		InnoDB		10		Compact		2884564		432		1248854016		0		462422016		7340032		None		2012-03-08 16:40:42		None		None		latin1_swedish_ci		None						
mdb		child_info		InnoDB		10		Compact		17619		3409		60063744		0		5111808		6291456		None		2012-03-08 08:11:31		None		None		latin1_swedish_ci		None						
mdb		csc_sign_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
mdb		csl_dist_info		InnoDB		10		Compact		0		0		16384		0		16384		0		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
mdb		csl_match_info		InnoDB		10		Compact		0		0		16384		0		49152		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		csl_person_info		InnoDB		10		Compact		0		0		16384		0		16384		0		None		2012-03-08 08:11:56		None		None		latin1_swedish_ci		None						
mdb		csw_sign_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:31		None		None		latin1_swedish_ci		None						
mdb		draft_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		item_info		InnoDB		10		Compact		6533479		551		3600859136		0		1890320384		5242880		None		2012-03-08 08:11:29		None		None		latin1_swedish_ci		None						
mdb		login_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		party_basic_info		InnoDB		10		Compact		307		693		212992		0		0		0		None		2012-03-08 08:11:41		None		None		latin1_swedish_ci		None						
mdb		party_members_info		InnoDB		10		Compact		31658		179		5668864		0		0		4194304		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
mdb		party_skills_info		InnoDB		10		Compact		3844		413		1589248		0		0		4194304		None		2012-03-08 08:11:31		None		None		latin1_swedish_ci		None						
mdb		pet_info		InnoDB		10		Compact		273678		3422		936542208		0		103694336		6291456		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
mdb		server_status		InnoDB		10		Compact		10		1638		16384		0		0		0		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
mdb		shop_info		InnoDB		10		Compact		593		248		147456		0		0		0		None		2012-03-08 08:11:55		None		None		latin1_swedish_ci		None						
mdb		sync_info		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:31		None		None		latin1_swedish_ci		None						
mdb		upgrade_char_info		InnoDB		10		Compact		6378		413		2637824		0		1622016		4194304		None		2012-03-08 08:11:32		None		None		latin1_swedish_ci		None						
test		game_maintenance		InnoDB		10		Compact		12		1365		16384		0		0		0		13		2012-03-08 08:11:57		None		None		latin1_swedish_ci		None						
test		ipdb		InnoDB		10		Compact		39107		67		2637824		0		0		4194304		None		2012-03-08 08:11:57		None		None		latin1_swedish_ci		None						
test		pushaccount		InnoDB		10		Compact		0		0		16384		0		0		0		None		2012-03-08 08:11:57		None		None		latin1_swedish_ci		None						


下面是脚本:

import MySQLdb
import _mysql
import re
import time
import sys
import getopt
tudou@Gyyx
host="192.168.60.130"
user="dba"
pwd="123456"
port=3306
dbname="test"

class mysqlpulse(object):
    def __init__(self,dbs):
        self.conn=MySQLdb.connect(host=dbs['host'],port=dbs['port'],user=dbs['user'],passwd=dbs['passwd'],db=dbs['db'])
        cursor=self.conn.cursor()
        sql="select current_user();"
        cursor.execute(sql)
        self.currentuser=cursor.fetchall()
        sql="show global variables;"
        cursor.execute(sql)
        self.variablestmp=cursor.fetchall()
        self.variables={}
        for row in self.variablestmp:
            self.variables.setdefault(row[0],row[1])
        #
        self.statusList=[]
        self.statustmpList=[]
        self.statustmp=()
        self.mysqlstatus={}
        sql="show global status"
        inx=1
        for i in range(inx):
            cursor.execute(sql)
            self.statustmp=cursor.fetchall()
            self.mysqlstatus={}
            for row in self.statustmp:
                self.mysqlstatus.setdefault(row[0],row[1])
            self.statustmpList.append(self.statustmp)
            self.statusList.append(self.mysqlstatus)
            if(i<(inx-1)):
                time.sleep(5)
        # 
        sql="show engine innodb status"
        cursor.execute(sql)
        self.innodbstatus=cursor.fetchall()
        
        #ver=""
        #match=re.compile(r'^([\d]+\.[\d]+)').match(set[0][0])
        #if match:
        #    ver=match.group(1)
            
        #del set
        sql="show databases"
        cursor.execute(sql)
        self.tables=[]
        self.databases=cursor.fetchall()
        for tmpdatabase in self.databases:
            if(str(tmpdatabase[0])!="information_schema" and str(tmpdatabase[0])!="mysql" and str(tmpdatabase[0])!="performance_schema"):
                sql="show table status from `"+str(tmpdatabase[0])+"`"
                cursor.execute(sql)
                tmptables=cursor.fetchall()
                for tmptable in tmptables:
                    tableinfo=[]
                    tableinfo.append(tmpdatabase[0])
                    tableinfoindex=len(tmptable)
                    for idx in range(tableinfoindex):
                        tableinfo.append(tmptable[idx])
                    self.tables.append(tableinfo)
                    
        
        #
        sql="show processlist"
        cursor.execute(sql)
        self.processlist=cursor.fetchall()
        
        self.Com_select=long(self.mysqlstatus['Com_select'])
        self.Qcache_hits=long(self.mysqlstatus['Qcache_hits'])
        self.Com_insert=long(self.mysqlstatus['Com_insert'])
        self.Com_insert_select=long(self.mysqlstatus['Com_insert_select'])
        self.Com_update=long(self.mysqlstatus['Com_update'])
        self.Com_update_multi=long(self.mysqlstatus['Com_update_multi'])
        self.Com_delete=long(self.mysqlstatus['Com_delete'])
        self.Com_delete_multi=long(self.mysqlstatus['Com_delete_multi'])
        self.Com_replace=long(self.mysqlstatus['Com_replace'])
        self.Com_replace_select=long(self.mysqlstatus['Com_replace_select'])
        
        self.reads= self.Com_select + self.Qcache_hits
        self.writes=self.Com_insert + self.Com_insert_select + self.Com_update+self.Com_update_multi + self.Com_delete+self.Com_delete_multi+self.Com_replace+self.Com_replace_select
        
        self.ratio=100.0
        if (self.writes!=0):
            self.ratio=(float(self.reads)/float(self.writes))*100
        self.Threads_created=long(self.mysqlstatus['Threads_created'])
        self.Connections=long(self.mysqlstatus['Connections'])
        if(self.mysqlstatus.has_key('Innodb_buffer_pool_read_ahead')):
            self.Innodb_buffer_pool_read_ahead=long(self.mysqlstatus['Innodb_buffer_pool_read_ahead'])
        else:
            self.Innodb_buffer_pool_read_ahead=long(self.mysqlstatus['Innodb_buffer_pool_read_ahead_rnd'])+long(self.mysqlstatus['Innodb_buffer_pool_read_ahead_seq'])
        self.Innodb_buffer_pool_read_requests=long(self.mysqlstatus['Innodb_buffer_pool_read_requests'])
        self.Innodb_buffer_pool_reads=long(self.mysqlstatus['Innodb_buffer_pool_reads'])
        self.Created_tmp_tables=long(self.mysqlstatus['Created_tmp_tables'])
        self.Created_tmp_disk_tables=long(self.mysqlstatus['Created_tmp_disk_tables'])
        self.TDR=0.0
        if(self.Created_tmp_tables!=0):
            self.TDR=(float(self.Created_tmp_disk_tables)/float(self.Created_tmp_tables))*100
        self.Questions=long(self.mysqlstatus['Questions'])
        self.Uptime=long(self.mysqlstatus['Uptime_since_flush_status'])
        self.Com_commit=long(self.mysqlstatus['Com_commit'])
        self.Com_rollback=long(self.mysqlstatus['Com_rollback'])
        self.Aborted_clients=long(self.mysqlstatus['Aborted_clients'])
        self.Aborted_connects=long(self.mysqlstatus['Aborted_connects'])
        self.Slow_queries=long(self.mysqlstatus['Slow_queries'])
        
        self.Select_full_join=long(self.mysqlstatus['Slow_queries'])
        self.Select_full_range_join=long(self.mysqlstatus['Select_full_range_join'])
        self.Select_range=long(self.mysqlstatus['Select_range'])
        self.Select_range_check=long(self.mysqlstatus['Select_range_check'])
        self.Select_scan=long(self.mysqlstatus['Select_scan'])            
        
        self.Open_tables=long(self.mysqlstatus['Open_tables'])
        self.table_open_cache=long(self.variables['table_open_cache'])
        self.Opened_tables=long(self.mysqlstatus['Opened_tables'])
        self.Max_used_connections=long(self.mysqlstatus['Max_used_connections'])
        self.max_connections=long(self.variables['max_connections'])
        self.Bytes_received=long(self.mysqlstatus['Bytes_received'])
        self.Bytes_sent=long(self.mysqlstatus['Bytes_sent'])
        self.Threads_running=long(self.mysqlstatus['Threads_running'])
        self.thread_cache_size=long(self.variables['thread_cache_size'])
        
        if(self.variables.has_key('thread_concurrency')):
            self.thread_concurrency=long(self.variables['thread_concurrency'])
        else:
            self.thread_concurrency=0
        self.Opened_files=long(self.mysqlstatus['Opened_files'])
        
        self.Innodb_dblwr_pages_written=long(self.mysqlstatus['Innodb_dblwr_pages_written'])
        self.Innodb_dblwr_writes=long(self.mysqlstatus['Innodb_dblwr_writes'])
        self.innodb_thread_concurrency=long(self.variables['innodb_thread_concurrency'])
        self.Innodb_rows_deleted=long(self.mysqlstatus['Innodb_rows_deleted'])
        self.Innodb_rows_inserted=long(self.mysqlstatus['Innodb_rows_inserted'])
        self.Innodb_rows_read=long(self.mysqlstatus['Innodb_rows_read'])
        self.Innodb_rows_updated=long(self.mysqlstatus['Innodb_rows_updated'])
        
        self.Innodb_row_lock_current_waits=long(self.mysqlstatus['Innodb_row_lock_current_waits'])
        self.Innodb_row_lock_time=long(self.mysqlstatus['Innodb_row_lock_time'])
        self.Innodb_row_lock_time_avg=long(self.mysqlstatus['Innodb_row_lock_time_avg'])
        self.Innodb_row_lock_time_max=long(self.mysqlstatus['Innodb_row_lock_time_max'])
        self.Innodb_row_lock_waits=long(self.mysqlstatus['Innodb_row_lock_waits']) 
        
        self.Innodb_buffer_pool_pages_data=long(self.mysqlstatus['Innodb_buffer_pool_pages_data'])
        self.Innodb_buffer_pool_pages_dirty=long(self.mysqlstatus['Innodb_buffer_pool_pages_dirty'])
        self.Innodb_buffer_pool_pages_flushed=long(self.mysqlstatus['Innodb_buffer_pool_pages_flushed'])
        self.Innodb_buffer_pool_pages_free=long(self.mysqlstatus['Innodb_buffer_pool_pages_free'])
        self.Innodb_buffer_pool_pages_misc=long(self.mysqlstatus['Innodb_buffer_pool_pages_misc'])
        self.Innodb_buffer_pool_pages_total=long(self.mysqlstatus['Innodb_buffer_pool_pages_total'])
        
        self.Innodb_data_fsyncs=long(self.mysqlstatus['Innodb_data_fsyncs'])
        self.Innodb_data_read=long(self.mysqlstatus['Innodb_data_read'])
        self.Innodb_data_reads=long(self.mysqlstatus['Innodb_data_reads'])
        self.Innodb_data_writes=long(self.mysqlstatus['Innodb_data_writes'])
        self.Innodb_data_written=long(self.mysqlstatus['Innodb_data_written'])
        
        self.Innodb_data_pending_fsyncs=long(self.mysqlstatus['Innodb_data_pending_fsyncs'])
        self.Innodb_data_pending_reads=long(self.mysqlstatus['Innodb_data_pending_reads'])
        self.Innodb_data_pending_writes=long(self.mysqlstatus['Innodb_data_pending_writes'])
        
        self.have_query_cache=self.variables['have_query_cache']
        self.query_cache_type=self.variables['query_cache_type']
        self.query_cache_size=long(self.variables['query_cache_size'])
        self.Qcache_free_blocks=long(self.mysqlstatus['Qcache_free_blocks'])
        self.Qcache_free_memory=long(self.mysqlstatus['Qcache_free_memory'])
        
        self.Qcache_inserts=long(self.mysqlstatus['Qcache_inserts'])
        self.Qcache_lowmem_prunes=long(self.mysqlstatus['Qcache_lowmem_prunes'])
        self.Qcache_not_cached=long(self.mysqlstatus['Qcache_not_cached'])
        self.Qcache_queries_in_cache=long(self.mysqlstatus['Qcache_queries_in_cache'])
        self.Qcache_total_blocks=long(self.mysqlstatus['Qcache_total_blocks'])
        self.Query_cache_hits_ratio=0
        self.Qcache_prune_ratio=0
        if(self.Qcache_inserts!=0):
            self.Query_cache_hits_ratio=float(self.Qcache_hits)/float(self.Qcache_hits+self.Qcache_inserts)*100
            self.Qcache_prune_ratio=(float(self.Qcache_lowmem_prunes)/float(self.Qcache_inserts))*100
        if(self.mysqlstatus.has_key('Slave_heartbeat_period')):
            self.Slave_heartbeat_period=self.mysqlstatus['Slave_heartbeat_period']
        else:
            self.Slave_heartbeat_period=0.00
        self.Slave_open_temp_tables=long(self.mysqlstatus['Slave_open_temp_tables'])
        if(self.mysqlstatus.has_key('Slave_received_heartbeats')):
            self.Slave_received_heartbeats=self.mysqlstatus['Slave_received_heartbeats']
        else:
            self.Slave_received_heartbeats=0
        self.Slave_retried_transactions=long(self.mysqlstatus['Slave_retried_transactions'])
        self.Slave_running=self.mysqlstatus['Slave_running']
        
        self.key_cache_block_size=long(self.variables['key_cache_block_size'])
        self.key_buffer_size=long(self.variables['key_buffer_size'])
        self.Key_blocks_not_flushed=long(self.mysqlstatus['Key_blocks_not_flushed'])
        self.Key_blocks_unused=long(self.mysqlstatus['Key_blocks_unused'])
        self.Key_blocks_used=long(self.mysqlstatus['Key_blocks_used'])
        self.Key_read_requests=long(self.mysqlstatus['Key_read_requests'])
        self.Key_reads=long(self.mysqlstatus['Key_reads'])
        self.Key_write_requests=long(self.mysqlstatus['Key_write_requests'])
        self.Key_writes=long(self.mysqlstatus['Key_writes'])
        self.key_buffer_read_hit_ratio=0
        self.key_buffer_write_hit_ratio=0
        if(self.Key_read_requests!=0):
            self.key_buffer_read_hit_ratio=(1-(float(self.Key_reads)/float(self.Key_read_requests)))*100
        if(self.Key_write_requests!=0):
            self.key_buffer_write_hit_ratio=(1-(float(self.Key_writes)/float(self.Key_write_requests)))*100
        
        self.Sort_merge_passes=long(self.mysqlstatus['Sort_merge_passes'])
        self.Sort_range=long(self.mysqlstatus['Sort_range'])
        self.Sort_rows=long(self.mysqlstatus['Sort_rows'])
        self.Sort_scan=long(self.mysqlstatus['Sort_scan'])
        
        self.Table_locks_immediate=long(self.mysqlstatus['Table_locks_immediate'])
        self.Table_locks_waited=long(self.mysqlstatus['Table_locks_waited'])
        self.Table_locks_waited_ratio=0
        if(self.Table_locks_immediate!=0):
            self.Table_locks_waited_ratio=float(self.Table_locks_waited)/float(self.Table_locks_immediate)
            
    def abs(self,left,right):
        return cmp(left[8],right[8])
    
    
    def desc(self,left,right):
        return cmp(right[8],left[8])
    
    def printstatus(self):
        print "============MySQL status============"
        print "get status times="+str(len(self.statustmpList))
        for row in self.statustmp:
            print row[0]+"\t:"+row[1]
    
    
    def printinnodbstatus(self):
        print self.innodbstatus[0][2]
        
    def printtablestatus(self):
        print "------------------------------------"
        print "table status"
        print "------------------------------------"
        print "db\t\tName\t\tEngine\t\tVersion\t\tRow_format\t\tRows\t\tAvg_row_length\t\tData_length\t\tMax_data_length\t\tIndex_lengtht\t\tData_free\t\tAuto_increment\t\tCreate_time\t\tUpdate_time\t\tCheck_time\t\tCollation\t\tChecksum\t\tCreate_options\t\tComment"
        self.tables.sort(cmp=self.desc)
        for row in self.tables:
            tableinfolen=len(row)
            tableinfo=""
            for idx in range(tableinfolen):
                tableinfo+=str(row[idx])+"\t\t"
            print tableinfo
    
    def printprocesslist(self):
        print "============processlist============="
        print "processlist rowcount ="+str(len(self.processlist))+"\nstatus time>1 threads list:"
        print "Id\tUser\t\tHost\t\t\tdb\t\tCommand\t\tTime\t\tState\tInfo\t"
        threadscount=0
        for row in self.processlist:
            if(str(row[4])!="Sleep" and long(row[5])>1):
                print str(row[0])+"\t"+str(row[1])+"\t\t"+str(row[2])+"\t"+str(row[3])+"\t\t"+str(row[4])+"\t\t"+str(row[5])+"\t\t"+str(row[6])+"\t"+str(row[7])
                threadscount+=1
                
        print "status time>1 threads count="+str(threadscount)
    
    
    def printmysqlinfo(self):
        print "=============MySQL info============="
        print "Connection id        : "+str(self.conn.thread_id())
        print "Current database     : "+dbname
        print "Current user         : "+str(self.currentuser[0][0])
        print "SSL                  : "+self.variables['have_openssl']
        #print "Current pager        : "
        #print "Using outfile        : "
        #print "Using delimiter      : "
        print "MySQL VERSION        : "+self.variables['version']+" "+self.variables['version_comment']
        print "MySQL client info    : "+_mysql.get_client_info()
        print "Protocol version     : "+str(self.conn.get_proto_info())
        print "Connection           : "+self.conn.get_host_info()
        print "Server characterset  : "+self.variables['character_set_server']
        print "Db     characterset  : "+self.variables['character_set_database']
        print "Client characterset  : "+self.variables['character_set_client']
        print "Conn.  characterset  : "+self.variables['character_set_connection']
        print "collation_connection : "+self.variables['collation_connection']
        print "collation_database   : "+self.variables['collation_database']
        print "collation_server     : "+self.variables['collation_server']
        print "Uptime               : "+self.mysqlstatus['Uptime']+"s"
        
    def printQcachestatus(self):
        if(self.have_query_cache=="YES" and self.query_cache_type!="OFF" and self.query_cache_size>0):
            print "------------------------------------"
            print "Qcache Status"
            print "------------------------------------"
            print "Qcache queries hits ratio(hits/inserts): "+str(float(self.Qcache_hits)/float(self.reads))+"%    ("+str(self.Qcache_hits)+"/"+str(self.reads)+")"
            print "Qcache hits inserts ratio(hits/inserts): "+str(self.Query_cache_hits_ratio)+"%    ("+str(self.Qcache_hits)+"/"+str(self.Qcache_inserts)+")"
            print "Qcache memory used ratio(free/total)   : "+ str((1-(float(self.Qcache_free_memory)/float(self.query_cache_size)))*100)+"%    ("+str(self.Qcache_free_memory)+"/"+str(self.query_cache_size)+")"
            print "Qcache prune ratio(prunes/inserts)     : "+ str(self.Qcache_prune_ratio)+"%    ("+str(self.Qcache_lowmem_prunes)+"/"+str(self.Qcache_inserts)+")"
            print "Qcache block Fragmnt ratio(free/total) : "+ str((float(self.Qcache_free_blocks)/float(self.Qcache_total_blocks))*100)+"%    ("+str(self.Qcache_free_blocks)+"/"+str(self.Qcache_total_blocks)+")"
    
    def printUptimesinceflushstatus(self):
        print "------------------------------------"
        print "Reads/Writes status"
        print "------------------------------------"
        print "Reads:Writes ratio                  : "+str(self.ratio)+"%"
        print "QPS/TPS                             : "+str(float(self.Questions)/float(self.Uptime))+"/s\t"+str((float(self.Com_commit) + float(self.Com_rollback))/float(self.Uptime))+"/s"
        print "Table locks waited ratio            : "+str(self.Table_locks_waited_ratio)+"%"
        print "SQL PS                              : select="+str(float(self.Com_select+self.Qcache_hits)/float(self.Uptime))+"/s insert="+str(float(self.Com_insert+self.Com_insert_select)/float(self.Uptime))+"/s update="+str(float(self.Com_update+self.Com_update_multi)/float(self.Uptime))+"/s delete="+str(float(self.Com_delete+self.Com_delete_multi)/float(self.Uptime))+"/s replace="+str(float(self.Com_replace+self.Com_replace_select)/float(self.Uptime))+"/s"  
        print "Bytes sent/received per second      : "+str(float(self.Bytes_sent)/float(self.Uptime))+"/s "+str(float(self.Bytes_received)/float(self.Uptime))+"/s"
        print "------------------------------------"
        print "Slow and Sort queries status"
        print "------------------------------------"
        print "Slow queries Ratio                  : "+str(float(self.Slow_queries)/float(self.Questions))+"%"
        print "Slow queries per second             : "+str(float(self.Slow_queries)/float(self.Uptime))+"/s"
        print "Full join per second                : "+str(float(self.Select_full_join)/float(self.Uptime))+"/s"
        print "Sort per second                     : merge passes="+str(float(self.Sort_merge_passes)/float(self.Uptime))+"/s range="+str(float(self.Sort_range)/float(self.Uptime))+"/s rows="+str(float(self.Sort_rows)/float(self.Uptime))+"/s scan="+str(float(self.Sort_scan)/float(self.Uptime))+"/s"
        print "------------------------------------"
        print "connections status"
        print "------------------------------------"
        print "Thread cache hits(created/cached)        : "+str((1-(float(self.Threads_created)/float(self.Connections)))*100)+"% ("+str(self.Threads_created)+"/"+str(self.thread_cache_size)+")"
        print "Connections used ratio(Max used/Max)     : "+str((float(self.Max_used_connections)/float(self.max_connections))*100)+"%("+str(self.Max_used_connections)+"/"+str(self.max_connections)+")"
        print "Aborted connects ratio                   : "+str((float(self.Aborted_clients+self.Aborted_connects)/float(self.Connections))*100)+"%"
        print "Threads running                          : "+str(self.Threads_running)
        print "------------------------------------"
        print "temp table and Open tables/files status"
        print "------------------------------------"
        print "Temp tables to Disk ratio                 : "+str(self.TDR)+"%"
        print "Open tables/table open cache/Opened tables: "+str(self.Open_tables)+"/"+str(self.table_open_cache)+"/"+str(self.Opened_tables)
        print "Opened files per second                   : "+str(float(self.Opened_files)/float(self.Uptime))+"/s"
    
    def printInnoDBStatus(self):
        print "------------------------------------"
        print "InnoDB Status"
        print "------------------------------------"
        print "Innodb buffer read hits(Disk/total)            : "+str((1-(float(self.Innodb_buffer_pool_reads+self.Innodb_buffer_pool_read_ahead))/float(self.Innodb_buffer_pool_read_requests))*100)+"%    ("+str(self.Innodb_buffer_pool_reads+self.Innodb_buffer_pool_read_ahead)+"/"+str(self.Innodb_buffer_pool_read_requests)+")"
        print "Innodb_dblwr_pages_written:Innodb_dblwr_writes : "+str(self.Innodb_dblwr_pages_written/self.Innodb_dblwr_writes)
        print "Innodb buffer pages used ratio(free/total)     : "+str((1-(float(self.Innodb_buffer_pool_pages_free)/float(self.Innodb_buffer_pool_pages_total)))*100)+"%    ("+str(self.Innodb_buffer_pool_pages_free)+"/"+str(self.Innodb_buffer_pool_pages_total)+")"
        print "Innodb buffer pages dirty ratio(dirty)         : "+str((float(self.Innodb_buffer_pool_pages_dirty)/float(self.Innodb_buffer_pool_pages_total))*100)+"%    ("+str(self.Innodb_buffer_pool_pages_dirty)+")"
        print "Innodb buffer pages flushed per second(flushed): "+str(float(self.Innodb_buffer_pool_pages_flushed)/float(self.Uptime))+"/s    ("+str(self.Innodb_buffer_pool_pages_flushed)+"/"+str(self.Uptime)+"s)"
        print "Innodb buffer pool pages misc                  : "+str(float(self.Innodb_buffer_pool_pages_misc))
        
        print "Innodb row lock waits per second(waits): "+str(float(self.Innodb_row_lock_current_waits)/float(self.Uptime))+"/s    ("+str(self.Innodb_row_lock_current_waits)+")"
        print "Innodb row lock current waits          : "+str(self.Innodb_row_lock_current_waits)
        print "Innodb row lock time(avg/max/total)    : "+str(self.Innodb_row_lock_time_avg)+"/"+str(self.Innodb_row_lock_time_max)+"/"+str(self.Innodb_row_lock_time)
        
        print "Innodb rows PS        : read="+str(float(self.Innodb_rows_read)/float(self.Uptime))+"/s inserted="+str(float(self.Innodb_rows_inserted)/float(self.Uptime))+"/s updated="+str(float(self.Innodb_rows_updated)/float(self.Uptime))+"/s deleted="+str(float(self.Innodb_rows_deleted)/float(self.Uptime))+"/s"
        print "Innodb data PS        : reads="+str(float(self.Innodb_data_reads)/float(self.Uptime))+"/s writes="+str(float(self.Innodb_data_writes)/float(self.Uptime))+"/s fsyncs="+str(float(self.Innodb_data_fsyncs)/float(self.Uptime))+"/s"
        print "Innodb data pending PS: reads="+str(float(self.Innodb_data_pending_reads)/float(self.Uptime))+"/s writes="+str(float(self.Innodb_data_pending_writes)/float(self.Uptime))+"/s fsyncs="+str(float(self.Innodb_data_pending_fsyncs)/float(self.Uptime))+"/s"
        
    def printkeystatus(self):
        print "------------------------------------"
        print "key buffer Status"
        print "------------------------------------"
        print "key buffer used ratio     : "+str((float(self.Key_blocks_used*self.key_cache_block_size)/float(self.key_buffer_size))*100)+"%"
        print "key buffer read hit ratio : "+str(self.key_buffer_read_hit_ratio)+"%"
        print "key buffer write hit ratio: "+str(self.key_buffer_write_hit_ratio)+"%"
    
    def printslavestatus(self):
        print "------------------------------------"
        print "Slave Status"
        print "------------------------------------"
        print "Slave running status                               : "+self.Slave_running
        print "Slave open temp tables                             : "+str(self.Slave_open_temp_tables)
        print "Slave transactions per second(transactions/Uptime) : "+str(float(self.Slave_retried_transactions)/float(self.Uptime))+"/s    ("+str(self.Slave_retried_transactions)+"/"+str(self.Uptime)+")"
        print "Slave received per second (received/period)        : "+str(float(self.Slave_received_heartbeats)/float(self.Uptime))+"/s    ("+str(self.Slave_received_heartbeats)+"/"+str(self.Slave_heartbeat_period)+")"
    
    def printflushstatus(self):
        print "=========MySQL status pulse========="
        self.printUptimesinceflushstatus()
        self.printInnoDBStatus()
        self.printkeystatus()
        self.printQcachestatus()
        self.printslavestatus()
        self.printtablestatus()
    
    def __del__( self ):
        self.conn.close()
     
if __name__ == '__main__':
    opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
    #print opts
    for op, value in opts:
        if op == "-h":
            host=value
            print value
        elif op == "-u":
            user=value
            print value
        elif op == "-P":
            port=value
            print value
        elif op == "-d":
            dbname=value
            print value
        elif op == "-p":
            pwd=value
            print value
    
    if(len(pwd)==0):
        pwd = getpass.getpass('password: ')
            
    dbs={'host':host,'port':port,'user':user,'passwd':pwd,'db':dbname}
    pulse=mysqlpulse(dbs)
    
    pulse.printmysqlinfo()
    pulse.printprocesslist()
    pulse.printflushstatus()
    #printstatus(statustmp, statustmpList)
    #printinnodbstatus(innodbstatus)


分享到:
评论

相关推荐

    MySql 5.1 参考手册.chm

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL 5.1参考手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限...

    MySQL 5.1参考手册 (中文版)

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL 5.1参考手册中文版

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限...

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

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL 5.1中文手冊

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    mysql5.1中文手册

    mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. ...

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

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL中文手册MySQL中文手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    1.8 性能测试:mysql5.5与mysql5.1 60 第2章 半同步复制 62 2.1 半同步复制简介 62 2.2 半同步复制安装配置 63 2.3 参数说明 63 2.4 功能测试 64 2.4.1 如何验证半同步复制是否正常工作 64 2.4.2 半同步复制...

    YimonServer(Nginx+php绿色服务器软件) v0.1.0

    2、MySQL默认用户名:root,密码:yimonserver3、MySQL数据库文件存放目录:Server\MySQL5.1\data或Server\MySQL5.5\data4、网站根目录wwwroot5、访问本机请用http//localhost/6、非默认端口,网址为http端口/或...

    wdcp安装和升级PHP&mysql

    但是缺点是软件版本有点低,官方提供的两种方法安装后版本都比较低,在centos5.5里rpm包安装的php是5.2,mysql是5.1,这几个包是从网上找的,shell文件,可以自定义升级到php任意版本,和mysql任意版本,不过前提是...

    MYSQL中文手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限...

    mysql官方中文参考手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    高性能MySQL(第3版).part2

    目录 推荐序 前言 第1章MySQL架构与历史1 1.1MySQL逻辑架构1 1.1.1连接管理与安全性...附录BMySQL服务器状态655 附录C大文件传输683 附录DEXPLAIN687 附录E锁的调试703 附录F在MySQL上使用Sphinx713 索引739

    基于TP5.1的开发的小程序商城源码 DevelopmentSmallProgramMallBased.rar

    基于TP5.1的开发的小程序商城源码 ... 2、MySQL版本——5.5以上; 3、用Apache或Nginx; 4、服务器域名需要做https,微信小程序要求必须做sll证书; 推荐:使用Linux + Apache + PHP7.0 + MySQL5.6;

    MySQL中文参考手册.chm

    5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交...

Global site tag (gtag.js) - Google Analytics