Подтвердить что ты не робот

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

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

  • останутся без изменений (возможно, с незначительными регрессиями)?
  • Или мне придется заменить/перенастроить клиентские драйверы (например, использовать другой класс драйвера JDBC и строку подключения)?
  • Или я могу изменить код приложения?
4b9b3361

Ответ 2

Я использовал Mariadb в качестве замены для Oracle MySQL в течение многих лет. Это быстрее и очень надежно. Нужно просто мало внимания в apt, но ничего серьезного. Кроме того, есть небольшая деталь с Мариадбом; он видит [ошибку] ​​ "Предупреждение 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

Ответ 3

остаются без изменений (с незначительными регрессиями может быть)?

У вас не должно быть проблем, если вы заменяете ту же версию. Если вы используете 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.

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

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

Ответ 4

Просто небольшая обратная связь, требующая совместимости с драйвером mysql/CodeIgniter. Несколько минут назад я столкнулся с проблемами типов атрибутов BIT.

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

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

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

API-интерфейс клиента MariaDB версии 5.5.40

Ответ 5

MariaDB является MySQL развитой.

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

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

Ответ 6

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

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