一、MySQL正在运行 mysql> status ————– mysql Ver 14.14 Distrib 5.5.18, for Linux (x86_64) using readline 5.1 mysql> select version(); +————+ ‘ version() ‘ +————+ ‘ 5.5.12-log ‘ +————+ 1 row in set (0.00 sec) 二、MySQL没有运行 通过以下方法确定MySQL的版本,按推荐优先级进行排 序: 1.binlog mysql重启的情况下会产生一条新的binlog,每条binlog的开头都会有类似下面的记录 #111115 15:26:25 server id 24273307 end_log_pos 107 Start: binlog v 4, server v 5.5.8-log created 111115 15:26:25 at startup

2.slow.log /usr/local/mysql55/bin/mysqld, Version: 5.5.8-log (MySQL Community Server (GPL)). started with: tac slow.log ‘ grep “Version” -m 1(防止慢查询较大时,影响到效率)

3.error.log Version: ‘5.5.8-log’ socket: ‘/tmp/mysql3307.sock’ port: 3307 MySQL Community Server (GPL)

4.通过查看mysql库表(mysql不同的版本包含一些不同的表;这种方式的话,如果在升级版本的时候没有使用mysql_upgrade进行更新的话,会存在问题) 使用类似于IE、Firefox调css的hack方案,就像会祥目前所采用的方案,分析mysql库下面的表: plugin= sudo /bin/ls /$mysql_datadir/mysql${port}/mysql 'grep plug -i proxies_priv=sudo /bin/ls /$mysql_datadir/mysql${port}/mysql 'grep proxies_priv -i if [ -z “$plugin” ] && [ -z “$proxies_priv” ] ; then _version=5.0 elif [ -z “$proxies_priv” ] ; then _version=5.1 else _version=5.5 fi

注: 前三种方式存在的问题:如果使用使用mysql5.1启动mysql5.5,会在slow.log error.log binlog中记录下5.1;建议就是采用上次成功启动之后的版本作为下一次启动的版本。 第四种方式存在的问题:如果在升级之后,没有使用mysql_upgrade会存在误判,使用前三种方式不会存在这个问题。