Можно ли легко заменить MySQL на MariaDB или есть что изменить в этом случае?

StackOverflow https://stackoverflow.com/questions/4106315

  •  29-09-2019
  •  | 
  •  

Вопрос

Если я заменю сервер MySQL 5.1 сервером MariaDB (хранилища Maria и XtraDB) вместо MySQL (MyISAM и InnoDB), будет ли большая часть клиентского программного обеспечения MySQL (вкл.приложения , созданные на PHP 5.2 и Java SE 1.6)...

  1. просто продолжать работать без каких-либо изменений (возможно, с незначительными регрессиями)?
  2. Или мне придется заменить / перенастроить драйверы клиента (например, использовать другой класс драйверов JDBC и строку подключения)?
  3. Или мне придется даже изменить код приложения?
Это было полезно?

Решение

http://kb.askmonty.org/v/mariadb-versus-mysql

Все разъемы MySQL (PHP, PERL, Python, Java, Myodbc, Ruby, Mysql Connector etc) работает без изменений с Mariadb.

Другие советы

Я использовал Mariadb в качестве замены MySQL от Oracle в течение многих лет.Это быстрее и очень надежно.Требует лишь небольшого внимания в apt, но ничего серьезного.Кроме того, в Mariadb есть одна маленькая деталь;он видит [ошибка] "Предупреждение PHP:mysql_connect():Незначительное несоответствие версий заголовков и клиентской библиотеки" в журналах.Я не нашел никакого другого решения для этого, кроме как начать компиляцию вручную: Спроси Монти.

$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 используют один и тот же протокол и общий синтаксис, но в некоторых случаях могут быть несколько исключений. Урл, указанный в другом ответе, является отличным ресурсом: http://kb.askmonty.org/v/mariadb-versus-mysql

Что касается лицензий водителей, существуют различия, если вы планируете коммерчески распространять свой проект. В этом случае я рекомендую вам дважды проверить условия лицензии, и если у вас есть какие -либо проблемы, используйте версии разъемов MariaDB/SkySQL, как это предложено в другом ответе. Проверять http://www.skysql.com/downloads/java-cc-connectors-mariadb Для деталей.

Или у меня даже будет изменять код приложения?

Код приложения должен быть без изменений.

Просто немного обратной связи, решающую совместимость с драйвером MySQL / Codeigniter. Я столкнулся с проблемами по битам атрибутов типов несколько минут назад.

Значение не было поиск с сервера. Это всегда было пусто. Я использовал стандартную конфигурацию базы данных CI, которая использует драйвер "MySQL". После изменения драйвера в Database.php на «mysqli» была решена проблема.

Просто головы, что могут быть некоторые различия, если вы используете старый драйвер MySQL.

$db['default']['dbdriver'] = 'mysqli';

Mariadb Client API версии 5.5.40

MariaDB MySQL развился.

Это также тот же разработчик, который стоит за MySQL и MariaDB. Это почти то же самое (если это не так, я могу только сказать, что MariaDB - MySQL, улучшен, точка).

Вам не нужно ничего менять в своем PHP.

Вопреки распространенному мнению, драйвер Connector Connector/J JDBC для подключения к MySQL в Java и взаимодействия не хорошо играет с MariaDB. Чтобы работать с MariaDB, вам необходимо, чтобы ваше приложение использовало моросящий или драйвер SkySQL.

http://kb.askmonty.org/en/mariadb-faq-is-there-any-java-connector-for-mariadb-han-the-one-from-mysql

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top