Ответ 1
http://kb.askmonty.org/v/mariadb-versus-mysql
Все соединители MySQL (PHP, Perl, Python, Java, MyODBC, Ruby, MySQL C и т.д.) не изменяются с MariaDB.
Если я заменил сервер MySQL 5.1 сервером MariaDB (хранилища Maria и XtraDB) вместо MySQL (MyISAM и InnoDB), будет большинство клиентских программ MySQL (включая приложения, выполненные с PHP 5.2 и Java SE 1.6)..
http://kb.askmonty.org/v/mariadb-versus-mysql
Все соединители MySQL (PHP, Perl, Python, Java, MyODBC, Ruby, MySQL C и т.д.) не изменяются с MariaDB.
Я использовал 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
остаются без изменений (с незначительными регрессиями может быть)?
У вас не должно быть проблем, если вы заменяете ту же версию. Если вы используете 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.
Значение не было извлечено с сервера. Это всегда было пусто. Я использовал стандартную конфигурацию базы данных CI, которая использует драйвер "mysql". После изменения драйвера в файле database.php на "mysqli" проблема была решена.
Просто голова, что могут быть некоторые различия, если вы используете старый драйвер mysql.
$db['default']['dbdriver'] = 'mysqli';
API-интерфейс клиента MariaDB версии 5.5.40
MariaDB является MySQL развитой.
Это также тот же разработчик, который стоит за MySQL и MariaDB. Это почти то же самое (если это не так, я могу только сказать, что MariaDB улучшена MySQL, точка).
Вам не нужно ничего менять в своем PHP.
Вопреки распространенному мнению, стандартный драйвер Connector/J JDBC для подключения к MySQL и взаимодействия с ним в Java не очень хорошо работает с MariaDB. Чтобы работать с MariaDB, вам нужно, чтобы ваше приложение использовало драйвер Drizzle или SkySQL.