sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke installere mysqlclient på centos

Løst i CentOS 7 + MariaDB 10.2

Jeg har samme problem, og jeg vil gerne bidrage med mit svar . Jeg har lige installeret på mine 2 servere, der kører CentOS 7 med MariaDB (10.2.14-MariaDB MariaDB Server).

$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)

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

Jeg har installeret MariaDB, denne pakke:

$ yum list installed | grep mariadb
MariaDB-client.x86_64                   10.3.13-1.el7.centos           @mariadb
MariaDB-common.x86_64                   10.3.13-1.el7.centos           @mariadb
MariaDB-compat.x86_64                   10.3.13-1.el7.centos           @mariadb
MariaDB-server.x86_64                   10.3.13-1.el7.centos           @mariadb
galera.x86_64                           25.3.25-1.rhel7.el7.centos     @mariadb

Jeg fandt ud af, at problemet er, at mysqlclient kræver mysql-devel-pakker, hvilket er forskelligt fra mariadb-devel. Installer ikke mariadb-devel!

Så for kun at installere mysql-devel, skal du:

1. Fjern enhver MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. Tilføj MySQL-depot i yum

  1. Gå til https://dev.mysql.com/downloads/repo/yum/ og vælg RPM-filen til dit CentOS (for mig vælger jeg "Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture) Uafhængig), RPM-pakke" . Klik på "download" .)
  2. Download uden registrering, kopier nederste link "Nej tak, start bare min download" .
  3. Gå til din terminal og skriv:
$ wget link-to-rpm-you-choose
  1. Når download er fuldført, skriv:
$ sudo rpm -Uvh your-rpm-downloaded

3. Installer nu mysql-devel

  1. Skriv (dette er min version, hold øje med din):
$ sudo yum install mysql-community-devel.x86_64

4. Nu, endelig:mysqlclient

  1. Type:
$  sudo pip install mysqlclient
Collecting mysqlclient
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/f4/f1/3bb6f64ca7a429729413e6556b7ba5976df06019a5245a43d36032f1061e/mysqlclient-1.4.2.post1.tar.gz (85kB)
    100% |████████████████████████████████| 92kB 758kB/s
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.4.2.post1
You are using pip version 8.1.2, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Og det var det! Det fungerede som en charme, og nu kan jeg bruge Python + Django + MariaDB/MySQL

Åh, og mysqlclient er stikket anbefalet af Django. Se:https://docs.djangoproject. com/en/2.1/ref/databases/#mysql-db-api-drivers

Held og lykke og vi ses! :-)



  1. Udefineret variabel:pdo, kald til en medlemsfunktion prepare() på null

  2. Indlejrede relationer med Sequelize

  3. Rails Resque-arbejdere fejler med PGError:Server lukkede forbindelsen uventet

  4. Administration af brugerkonti, roller, tilladelser, godkendelse PHP og MySQL - Del 3