php - usar - ¿Puede MySQL ser reemplazado sin problemas con MariaDB o hay cosas que cambiar en este caso?
como usar mariadb (5)
Si reemplazo un servidor MySQL 5.1 con un servidor MariaDB (almacenes Maria y XtraDB) en lugar de MySQL (MyISAM e InnoDB), la mayor parte del software cliente MySQL (incluidas las aplicaciones hechas con PHP 5.2 y Java SE 1.6) ...
- simplemente seguir trabajando sin ningún cambio (con regresiones menores, tal vez)?
- ¿O tendré que reemplazar / reconfigurar los controladores del cliente (como usar otra clase de controlador JDBC y una cadena de conexión)?
- ¿O tendré que cambiar el código de la aplicación?
simplemente seguir trabajando sin ningún cambio (con regresiones menores, tal vez)?
No debería tener ningún problema siempre que lo reemplace con la misma versión. Si actualmente está usando MySQL 5.1, puede reemplazarlo con MariaDB 5.1. Si está utilizando 5.5, use el correspondiente. MariaDB v5.2 y v5.3 y versiones mejoradas de 5.1.
¿O tendré que reemplazar / reconfigurar los controladores del cliente (como usar otra clase de controlador JDBC y una cadena de conexión)?
No deberias. MySQL y MariaDB usan el mismo protocolo y la misma sintaxis general, pero podría haber algunas excepciones en algunos casos. La URL que se cita en otra respuesta es un gran recurso: http://kb.askmonty.org/v/mariadb-versus-mysql
En cuanto a las licencias de conducir, existen diferencias si planea distribuir su proyecto comercialmente. En ese caso, le recomiendo que verifique dos veces los términos de la licencia y, si tiene alguna duda, utilice las versiones MariaDB / SkySQL de los conectores, como se sugiere en otra respuesta. Consulte http://www.skysql.com/downloads/java-cc-connectors-mariadb para más detalles.
¿O tendré que cambiar el código de la aplicación?
El código de la aplicación no debe modificarse.
Contrariamente a la creencia popular, el controlador Connector / J JDBC predeterminado para conectarse e interactuar con MySQL en Java no funciona muy bien con MariaDB. Para trabajar con MariaDB, necesita que su aplicación use el controlador Drizzle o SkySQL.
He usado Mariadb como reemplazo de MySQL de Oracle por años. Es más rápido y muy confiable. Necesita poca atención en apt, pero nada grave. Además, hay un pequeño detalle con Mariadb; está viendo [error] "Advertencia de PHP: mysql_connect (): encabezado y discrepancia de versiones menores de la biblioteca cliente" en los registros. No he encontrado ninguna otra solución a eso aparte de comenzar a compilar manualmente: 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
Solo un pequeño comentario que requiere compatibilidad con el controlador de mysql / CodeIgniter. Me encontré con los problemas en los tipos de atributos BIT hace unos minutos.
El valor no fue recuperado del servidor. Siempre estaba vacío. Estaba usando la configuración de base de datos estándar de CI que está usando el controlador "mysql". Después de cambiar el controlador en el database.php al problema "mysqli" fue resuelto.
Solo hay que tener en cuenta que puede haber algunas diferencias si está usando un controlador mysql antiguo.
$db[''default''][''dbdriver''] = ''mysqli'';
API del cliente MariaDB versión 5.5.40
http://kb.askmonty.org/v/mariadb-versus-mysql
Todos los conectores MySQL (PHP, Perl, Python, Java, MyODBC, Ruby, conector MySQL C, etc.) funcionan sin cambios con MariaDB.