sql >> Database >  >> RDS >> Mysql

Kan mysqlclient niet installeren op centos

Opgelost in CentOS 7 + MariaDB 10.2

Ik heb hetzelfde probleem en Ik wil graag een bijdrage leveren met mijn antwoord . Ik heb zojuist geïnstalleerd in mijn 2 servers met CentOS 7 met 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

Ik heb MariaDB geïnstalleerd, dit pakket:

$ 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

Ik ontdekte dat het probleem is dat mysqlclient mysql-devel-pakketten vereist, wat anders is dan mariadb-devel. Installeer mariadb-devel niet!

Dus om alleen mysql-devel te installeren, moet je:

1. Verwijder alle MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. MySQL-repository toevoegen in yum

  1. Ga naar https://dev.mysql.com/downloads/repo/yum/ en selecteer het RPM-bestand voor je CentOS (voor mij kies ik "Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture onafhankelijk), RPM-pakket" . Klik op "downloaden" .)
  2. Download zonder registratie, kopieer de onderste link "Nee bedankt, start gewoon mijn download" .
  3. Ga naar je terminal en typ:
$ wget link-to-rpm-you-choose
  1. Nadat het downloaden is voltooid, typt u:
$ sudo rpm -Uvh your-rpm-downloaded

3. Installeer nu mysql-devel

  1. Type (dit is mijn versie, let op de jouwe):
$ sudo yum install mysql-community-devel.x86_64

4. Nu eindelijk: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.

En dat is het! Het werkte als een tierelier en nu kan ik Python + Django + MariaDB/MySQL

. gebruiken

Oh, en mysqlclient is de connector die wordt aanbevolen door Django. Zie:https://docs.djangoproject. com/nl/2.1/ref/databases/#mysql-db-api-drivers

Veel succes en tot ziens! :-)



  1. MySQL DECIMAL gegevenstype

  2. Wat u moet weten MET NOCHECK bij het inschakelen van een CHECK-beperking in SQL Server

  3. Logische AND-operator in mySql REGEXP?

  4. Verwerk utf-8-gegevens van MySQL in C++ en geef het resultaat terug