
mysql は正常に動作していましたが、新しいサーバーで mariadb を試してみたかったのです。しかし、すべての php ウェブサイトで mariadb との通信に問題があるようです。Webmin は動作しますが、mysql でこの警告が表示されます。
警告: Perl モジュール DBD::mysql がシステムにインストールされていないため、Webmin は MySQL データベースに確実にアクセスできません。今すぐインストールするには、ここをクリックしてください。
私が見つけた解決策の1つはphp-mysqlをインストールすることですが、次のエラーが発生します
~]# yum install php-mysql
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.sunet.se
* extras: ftp.sunet.se
* updates: ftp.sunet.se
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.3.3-23.el6_4 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: php-mysql-5.3.3-23.el6_4.x86_64
Package mysql-libs-5.1.69-1.el6_4.x86_64 is obsoleted by MariaDB-shared-5.5.33a-1.i686 which is already installed
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: php-mysql-5.3.3-23.el6_4.x86_64
Package mysql-libs-5.1.69-1.el6_4.x86_64 is obsoleted by MariaDB-shared-5.5.33a-1.i686 which is already installed
--> Finished Dependency Resolution
Error: Package: php-mysql-5.3.3-23.el6_4.x86_64 (updates)
Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)
Available: mysql-libs-5.1.66-2.el6_3.x86_64 (base)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
Available: mysql-libs-5.1.67-1.el6_3.x86_64 (updates)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
Available: mysql-libs-5.1.69-1.el6_4.x86_64 (updates)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
Error: Package: php-mysql-5.3.3-23.el6_4.x86_64 (updates)
Requires: libmysqlclient.so.16()(64bit)
Available: mysql-libs-5.1.66-2.el6_3.x86_64 (base)
libmysqlclient.so.16()(64bit)
Available: mysql-libs-5.1.67-1.el6_3.x86_64 (updates)
libmysqlclient.so.16()(64bit)
Available: mysql-libs-5.1.69-1.el6_4.x86_64 (updates)
libmysqlclient.so.16()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
これは、mysqlでは動作するがmariadbでは動作しない私のphpスクリプトの完全なエラーです。
エラー: ドライバーが見つかりませんでした 通知: /var/www/html/index.php の 137 行目で未定義のオフセット: 0 致命的なエラー: /var/www/html/classes/DB.class.php の 75 行目で非オブジェクトに対してメンバー関数 prepare() を呼び出しました
5.5.33a-MariaDB MariaDB Server Centos 6.4 ターミナルで mysql にログインすると、mariadb のバージョンが表示されます。また、webmin でテーブルを表示および管理することもできますが、wordpress を含むすべての php スクリプトが機能しません。
答え1
MariaDBナレッジベースのこのヒントをご覧ください。記事のタイトルは、MySQL から MariaDB にアップグレードするにはどうすればよいですか?。
これについては、次のタイトルの記事でも取り上げられています。CentOS 6 に LEMP サーバー (Nginx、MariaDB、PHP) をインストールする。
つまり、これらの依存関係を解決するには、サードパーティのリポジトリである REMI を利用する必要があります。
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
MySQL から MariaDB に移行する方法の詳細については、LEMP の記事の指示に従ってください。