Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

MySQL-5.5.6から仕様が変わった「MySQL-shared-compat」の中身を徹底解剖

MySQL-5.5.6から仕様が変わった「MySQL-shared-compat」の中身を紐解きます。

今回利用したrpmパッケージ

MySQL-5.6.11 に同封されている MySQL-shared-compat を利用しています。
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm

MySQL-shared-compatについて

説明(意訳)

このDescription(説明)に書かれている内容の日本語訳も載せておきます。

このパッケージには過去のMySQLバージョン向けの共有クライアントライブラリが納められています。 これをインストールすれば、もし過去のMySQLクライアントライブラリへ動的リンクするものがあったとしても、依存関係を壊すことなく望みのままにアップグレード出来ます。
MySQL-5.5.5までのMySQL-shared-compatでは現行バージョンの共有クライアントライブラリも含んでいたために、"MySQL-shared"の代わりに入れることが出来ました。
しかしMySQL-5.5.6以降のMySQL-shared-compatでは、現行バージョンのものは含まずに過去のバージョンのライブラリのみ提供します。そのため、MySQL-sharedとは独立したものとして、MySQL-shared-compatもインストールすることが出来ます。

詳細なrpm情報は以下の通りです。

$ wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm
$ rpm -qip MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm
Name        : MySQL-shared-compat          Relocations: (not relocatable)
Version     : 5.6.11                            Vendor: Oracle and/or its affiliates
Release     : 2.el6                         Build Date: Mon 29 Apr 2013 10:27:34 PM JST
Install Date: (not installed)               Build Host: vitro42
Group       : Applications/Databases        Source RPM: MySQL-shared-compat-5.6.11-2.el6.nosrc.rpm
Size        : 11497448                         License: Copyright 2000, 2013 Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Under GPL license as shown in the Description field.
Signature   : DSA/SHA1, Mon 29 Apr 2013 11:16:19 PM JST, Key ID 8c718d3b5072e1f5
Packager    : MySQL Release Engineering <mysql-build@oss.oracle.com>
URL         : http://www.mysql.com/
Summary     : MySQL shared client libraries for MySQL 5.1.69-1, 5.0.96-1, 4.1.23-0, 4.0.27-0
Description :
This package includes the shared client libraries for previous MySQL versions.
Install this package, if you have applications that are dynamically linked
against older versions of the MySQL client library and you want to upgrade
to MySQL 5.6.11 without breaking the library dependencies.
Up to MySQL 5.5.5, this package also contains the current version of the
shared client library, so it should be installed instead of "MySQL-shared",
Starting from MySQL 5.5.6, this package contains only the older versions of the
library, so it can be installed together with and independent of "MySQL-shared".

ファイルリスト

以下の過去バージョンのMySQL共有クライアントライブラリが納められています。

  • MySQL 5.1.68-1 : libmysqlclient.so.16, libmysqlclient_r.so.16 等
  • MySQL 5.0.96-1 : libmysqlclient.so.15, libmysqlclient_r.so.15 等
  • MySQL 4.1.23-0 : libmysqlclient.so.14, libmysqlclient_r.so.14 等
  • MySQL 4.0.27-0 : libmysqlclient.so.12, libmysqlclient_r.so.12 等

詳細なファイル一覧は以下の通りです。

$ wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm
$ rpm -qlp MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm
/usr/lib64/libmysqlclient.so.12
/usr/lib64/libmysqlclient.so.12.0.0
/usr/lib64/libmysqlclient.so.14
/usr/lib64/libmysqlclient.so.14.0.0
/usr/lib64/libmysqlclient.so.15
/usr/lib64/libmysqlclient.so.15.0.0
/usr/lib64/libmysqlclient.so.16
/usr/lib64/libmysqlclient.so.16.0.0
/usr/lib64/libmysqlclient_r.so.12
/usr/lib64/libmysqlclient_r.so.12.0.0
/usr/lib64/libmysqlclient_r.so.14
/usr/lib64/libmysqlclient_r.so.14.0.0
/usr/lib64/libmysqlclient_r.so.15
/usr/lib64/libmysqlclient_r.so.15.0.0
/usr/lib64/libmysqlclient_r.so.16
/usr/lib64/libmysqlclient_r.so.16.0.0