[CentOS] MySQL query profiling

Johnny Hughes johnny at centos.org
Thu Mar 22 13:01:00 EDT 2012


On 03/22/2012 11:46 AM, Johnny Hughes wrote:
> On 03/22/2012 11:32 AM, Johnny Hughes wrote:
>> On 03/22/2012 11:18 AM, Andy Taylor wrote:
>>> Hi,
>>>
>>> I recently upgraded to the latest MySQL 5.0.95 package as part of the 
>>> CentOS 5.8 upgrade. I use MySQL query profiling on a regular basis for 
>>> performance testing. However, if I try to use any of the profiling 
>>> functionality I get this error:
>>>
>>> ERROR 1289 (HY000): The 'SHOW PROFILE' feature is disabled; you need 
>>> MySQL built with 'enable-profiling' to have it working
>>>
>>> Oddly enough, profiling is enabled in the MySQL package bundled with 
>>> CentOS 6.2, and was enabled in the package before on CentOS 5 (5.0.77 I 
>>> think)
>>>
>>> I'm assuming this is probably an upstream decision, but does anyone 
>>> know of any way around this other than compiling my own RPM/using a 
>>> different RPM from another repository? Query profiling is essential 
>>> functionality in my opinion, so I'm surprised it hasn't been enabled in 
>>> the package.
>>>
>> I will double check the spec file and see if they have turn it off on
>> purpose and post what I find out.
> This is the difference beween the spec files:
> =========================================================================
> --- mysql.spec    (revision 4056)
> +++ mysql.spec    (revision 4522)
> @@ -1,11 +1,11 @@
>  Name: mysql
> -Version: 5.0.77
> -Release: 4%{?dist}.6
> +Version: 5.0.95
> +Release: 1%{?dist}.1
>  Summary: MySQL client programs and shared libraries
>  Group: Applications/Databases
>  URL: http://www.mysql.com
>  # exceptions allow client libraries to be linked with most open source SW,
> -# not only GPL code.
> +# not only GPL code.  See README.mysql-license
>  License: GPLv2 with exceptions
>  
>  # Regression tests take a long time, you can skip 'em with this
> @@ -16,6 +16,7 @@
>  Source3: my.cnf
>  Source4: scriptstub.c
>  Source5: my_config.h
> +Source7: README.mysql-license
>  # Working around perl dependency checking bug in rpm FTTB. Remove later.
>  Source999: filter-requires-mysql.sh
>  Patch1: mysql-libdir.patch
> @@ -28,36 +29,19 @@
>  Patch8: mysql-install-test.patch
>  Patch9: mysql-bdb-link.patch
>  Patch10: mysql-strmov.patch
> -Patch11: mysql-html-bug.patch
> +Patch12: mysql-s390-truncate.patch
>  Patch13: mysql-no-dbug.patch
>  Patch15: mysql-stack-guard.patch
>  Patch16: mysql-expired-certs.patch
> -Patch17: mysql-format-string.patch
> -Patch18: mysql-name-const.patch
> -Patch19: mysql-cve-2009-4019.patch
> -Patch20: mysql-cve-2009-4028.patch
> -Patch21: mysql-cve-2009-4030.patch
>  Patch22: mysql-cve-2010-1626.patch
> -Patch23: mysql-cve-2010-1848_1850.patch
> -Patch24: mysql-cve-2010-3677.patch
>  Patch25: mysql-cve-2010-3680.patch
>  Patch26: mysql-cve-2010-3681.patch
> -Patch27: mysql-cve-2010-3682.patch
> -Patch28: mysql-cve-2010-3833.patch
> -Patch29: mysql-cve-2010-3835.patch
> -Patch30: mysql-cve-2010-3836.patch
> -Patch31: mysql-cve-2010-3837.patch
> -Patch32: mysql-cve-2010-3838.patch
>  Patch33: mysql-cve-2010-3839.patch
> -Patch34: mysql-cve-2010-3840.patch
> -Patch35: mysql-large-blobs.patch
> -Patch36: mysql-explain-crash.patch
> -Patch37: mysql-bug42037.patch
>  Patch38: mysql-more-blobs.patch
>  
>  BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
> -Prereq: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig
> -BuildRequires: gperf, perl, readline-devel, openssl-devel
> +Requires: /sbin/ldconfig, /sbin/install-info, grep, fileutils, chkconfig
> +BuildRequires: perl, readline-devel, openssl-devel
>  BuildRequires: gcc-c++, ncurses-devel, zlib-devel
>  BuildRequires: libtool automake autoconf gawk
>  # make test requires time
> @@ -81,7 +65,7 @@
>  
>  Summary: The MySQL server and related files
>  Group: Applications/Databases
> -Prereq: /sbin/chkconfig, /usr/sbin/useradd
> +Requires: /sbin/chkconfig, /usr/sbin/useradd
>  Requires: %{name} = %{version}-%{release}
>  Requires: sh-utils
>  # mysqlhotcopy needs DBI/DBD support
> @@ -145,31 +129,14 @@
>  %patch8 -p1
>  %patch9 -p1
>  %patch10 -p1
> -%patch11 -p1
> +%patch12 -p1
>  %patch13 -p1
>  %patch15 -p1
>  %patch16 -p1
> -%patch17 -p1
> -%patch18 -p1
> -%patch19 -p1
> -%patch20 -p1
> -%patch21 -p1
>  %patch22 -p1
> -%patch23 -p1
> -%patch24 -p1
>  %patch25 -p1
>  %patch26 -p1
> -%patch27 -p1
> -%patch28 -p1
> -%patch29 -p1
> -%patch30 -p1
> -%patch31 -p1
> -%patch32 -p1
>  %patch33 -p1
> -%patch34 -p1
> -%patch35 -p1
> -%patch36 -p1
> -%patch37 -p1
>  %patch38 -p1
>  
>  libtoolize --force
> @@ -312,6 +279,9 @@
>  mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
>  echo "%{_libdir}/mysql" >
> $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf
>  
> +# copy additional docs into build tree so %%doc will find them
> +cp %{SOURCE7} README.mysql-license
> +
>  %clean
>  rm -rf $RPM_BUILD_ROOT
>  
> @@ -354,7 +324,7 @@
>  
>  %files
>  %defattr(-,root,root)
> -%doc README COPYING EXCEPTIONS-CLIENT
> +%doc README COPYING README.mysql-license
>  
>  %{_bindir}/msql2mysql
>  %{_bindir}/mysql
> @@ -519,6 +489,11 @@
>  %{_mandir}/man1/mysql_client_test.1*
>  
>  %changelog
> +* Sat Feb  4 2012 Tom Lane <tgl at redhat.com> 5.0.95-1.el5_7.1
> +- Update to 5.0.95, to get the last upstream bugfixes in this release
> series
> +  including numerous CVEs announced in January 2012
> +Resolves: #787140
> +
>  * Thu Apr 28 2011 Tom Lane <tgl at redhat.com> 5.0.77-4.el5_6.6
>  - Add fix for regression with input lines over 1MB (caused by fix for
> 658863)
>  Resolves: #700497
> =========================================================================
>
> I do not see anything specifically in there that would modify the
> behavior of that (there is no profil in that text or in either the
> 5.0.77 or 5.0.95 spec file) ... nor is profil in any patch in the
> SOURCES directory.
>
> Thanks,
> Johnny Hughes

OK ... I have verified that it is now turned off and that it was on in
5.0.77 ....

from 5.0.95 build log:
<......>
checking whether query profiling should be included... no
<......> (tests)
profiling                      [ skipped ]   Test requires: 'have_profiling'

and from 5.0.77 build log:
(there is nothing about checking if it is to be included ... )
<......> (tests)
profiling                      [ pass ]            109

So, profiling was indeed in 5.0.77 and it is indeed not in 5.0.95

The question is, what does RHEL do ... anyone out there who can test the
behavior in RHEL?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
Url : http://lists.centos.org/pipermail/centos/attachments/20120322/6a981a9d/attachment.bin 


More information about the CentOS mailing list