0 votos

Es cerveza usando MySQL o MariaDB

Hace un par de meses he instalado ya sea MySQL o MariaDB a través de Homebrew. Pero no recuerdo exactamente cuál. Ahora estoy tratando de averiguar, porque MariaDB es compatible con características que MySQL no, tales como las RESTRICCIONES de COMPROBACIÓN:

CONSTRAINT random_assignment_check CHECK (LENGTH(random_assignment_id) = 5)

Cuando entro en

SHOW CREATE TABLE employees\G;

No mostrar la RESTRICCIÓN CHECK que he creado durante la instrucción CREATE TABLE. Esto me hace creer que estoy usando MySQL. Además cuando hago esto:

$ mysql -h localhost -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.24 Homebrew

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Esto aumenta mis sospechas, incluso más que la estoy usando MySQL. Se establece claramente la Bienvenida a MySQL Monitor' y 'derechos de Autor de Oracle'.

Yo de salida de la información tanto para ellos:

$ brew info mysql
mysql: stable 8.0.13 (bottled)
Open source relational database management system
https://dev.mysql.com/doc/refman/8.0/en/
Conflicts with:
  mariadb (because mysql, mariadb, and percona install the same binaries.)
  mariadb-connector-c (because both install plugins)
  mysql-cluster (because mysql, mariadb, and percona install the same binaries.)
  mysql-connector-c (because both install MySQL client libraries)
  percona-server (because mysql, mariadb, and percona install the same binaries.)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mysql.rb

MariaDB de salida:

$ brew info mariadb
mariadb: stable 10.3.12 (bottled)
Drop-in replacement for MySQL
https://mariadb.org/
Conflicts with:
  mariadb-connector-c (because both install plugins)
  mysql (because mariadb, mysql, and percona install the same binaries.)
  mysql-cluster (because mariadb, mysql, and percona install the same binaries.)
  mysql-connector-c (because both install MySQL client libraries)
  mytop (because both install `mytop` binaries)
  percona-server (because mariadb, mysql, and percona install the same binaries.)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/mariadb.rb

Aviso para MariaDB se dice que la versión instalada es la 10.3.12. Las RESTRICCIONES CHECK fueron agregados en la versión 10.1, por lo que debe tener acceso a esta función. Sin embargo, creo que la estoy usando MySQL y no MariaDB. ¿Cómo puedo solucionar este problema para que yo pueda usar MariaDB y sus funciones de apoyo en la 10.1?

0voto

geocoin Puntos 121

Usted puede identificar lo has instalado con el homebrew con la lista de opción:

$ brew list

Para identificar que tiene, si lo anterior no funciona, se puede comprobar el binario de mysql versión:

$ mysql --version
mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for osx10.14 (x86_64) using readline 5.1 

Y después de iniciar sesión en la base de datos, puede ver qué resultado se obtiene:

$ mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.3.12-MariaDB Homebrew

Y se puede comprobar que se trata de utilizar de la siguiente manera:

SHOW VARIABLES LIKE "%version%";

A continuación, versión y version_comment. Debe ser algo como:

| versión | 10.1.29-MariaDB |

| version_comment | MariaDB | Servidor

La base de datos consiste tanto en el servidor y el cliente.

Puede forzar el cliente desea que mis utilizando la ruta de acceso completa - algo así como:

/usr/local/Cellar/mariadb/10.3.12/bin/mysql

Se puede comprobar que el servidor está ejecutando con una ps:

$ ps -ef | grep mysqld
  501 95347     1   0 12:07PM ??         0:00.02 /bin/sh /usr/local/Cellar/mariadb/10.3.12/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/server.pid
  501 95411 95347   0 12:07PM ??         0:00.40 /usr/local/Cellar/mariadb/10.3.12/bin/mysqld --basedir=/usr/local/Cellar/mariadb/10.3.12 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mariadb/10.3.12/lib/plugin --log-error=/usr/local/var/mysql/server.err --pid-file=/usr/local/var/mysql/server.pid

Aquí puedes ver el script de inicio se ejecuta (primera línea), y ha llamado el servidor real binario (segunda línea). Ambos ejecutan la mariadb instancia.

Los dos paquetes en conflicto unos con otros y no debe ser instalado al mismo tiempo. El conflicto es en la cerveza receta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X