MySQLはMariadBにシームレスに置き換えることができますか、それともこの場合に変更するものはありますか?
質問
MySQL(Myisam&Innodb)の代わりにMySQL 5.1サーバーをMariadBサーバー(Maria&Xtradb Storages)に置き換えると、MySQLクライアントソフトウェアのほとんど(PHP 5.2およびJava SE 1.6で作られたアプリケーションを含む)...
- 変更せずに作業を続けているだけです(マイナーな回帰では)?
- または、クライアントドライバーを交換/再構成する必要があります(別のJDBCドライバークラスや接続文字列の使用など)?
- または、アプリケーションコードを変更する必要もありますか?
解決
http://kb.askmonty.org/v/mariadb-versus-mysql
すべてのMySQLコネクタ(PHP、Perl、Python、Java、MyoDBC、Ruby、MySQL Cコネクタなど)はMariadBで変化しません。
他のヒント
私は長年にわたってOracleのMySQLの代替としてMariadbを使用してきました。より速く、非常に信頼性があります。適切な注意はほとんど必要ありませんが、厳しいものはありません。また、Mariadbには小さな詳細が1つあります。 [エラー]「php警告:mysql_connect():ヘッダーとクライアントライブラリマイナーバージョンの不一致」が表示されています。手動でコンパイルを開始する以外に、他の解決策を見つけていません。 Askmonty.
$php -i | grep 'Client API'
Client API version => 5.3.7-MariaDB
Client API library version => 5.3.7-MariaDB
Client API header version => 5.1.61
Client API version => 5.3.7-MariaDB
変更せずに作業を続けているだけです(マイナーな回帰では)?
同じバージョンに置き換える限り、問題はありません。現在MySQL 5.1を使用している場合は、MariadB 5.1に置き換えることができます。 5.5を使用している場合は、対応するものを使用します。 Mariadb v5.2およびv5.3および5.1の拡張バージョン。
または、クライアントドライバーを交換/再構成する必要があります(別のJDBCドライバークラスや接続文字列の使用など)?
あなたはすべきではありません。 MySQLとMariaDBはどちらも同じプロトコルと全体的な構文を使用していますが、場合によってはいくつかの例外がある可能性があります。別の答えで引用されているURLは素晴らしいリソースです: http://kb.askmonty.org/v/mariadb-versus-mysql
ドライバーのライセンスに関しては、プロジェクトを商業的に配布する予定がある場合に違いがあります。その場合、ライセンス条件を再確認することをお勧めします。懸念がある場合は、別の回答で提案されているように、コネクタのMariadb/SkysQlバージョンを使用してください。小切手 http://www.skysql.com/downloads/java-cc-connectors-mariadb 詳細については。
または、アプリケーションコードを変更する必要もありますか?
アプリケーションコードは変更されていません。
MySQLドライバー/CodeIgniterとの互換性を要求するほんの少しのフィードバック。数分前にBIT属性タイプの問題に遭遇しました。
価値はサーバーから取得されませんでした。いつも空でした。 「MySQL」ドライバーを使用している標準のCIデータベース構成を使用していました。 Database.phpのドライバーを「mysqli」の問題に変更した後、解決しました。
古いMySQLドライバーを使用している場合、いくつかの違いがある可能性があるという頭を上げてください。
$db['default']['dbdriver'] = 'mysqli';
MariadbクライアントAPIバージョン5.5.40
MariadbはMySQL Evolvedです。
また、MySQLとMariadbの背後にいるのと同じ開発者です。ほぼ同じです(そうでない場合、MariadbはMySQLの改善、DOTであるとしか言えません)。
PHPで何も変更する必要はありません。
一般的な信念に反して、JavaのMySQLに接続して相互作用するためのデフォルトのコネクタ/J JDBCドライバーは、MariadBとうまく機能しません。 MariadBと連携するには、アプリケーションにDrizzleまたはSkySQLドライバーを使用させる必要があります。
http://kb.askmonty.org/en/mariadb-faq-is-there-java-connector-for-mariadb-than-the-from-mysql