Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można zainstalować mysqlclient na centos

Rozwiązany w CentOS 7 + MariaDB 10.2

Mam ten sam problem i chcę przyczynić się do powstania mojej odpowiedzi . Właśnie zainstalowałem na moich 2 serwerach z systemem CentOS 7 z 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

Zainstalowałem MariaDB, te pakiety:

$ 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

Odkryłem, że problem polega na tym, że mysqlclient wymaga pakietów mysql-devel, które różnią się od mariadb-devel. Nie instaluj mariadb-devel!

Tak więc, aby zainstalować tylko mysql-devel, musisz:

1. Usuń wszystkie MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. Dodaj repozytorium MySQL w mniam

  1. Przejdź do https://dev.mysql.com/downloads/repo/yum/ i wybierz plik RPM dla swojego CentOS (dla mnie wybieram "Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architektura Niezależny), pakiet RPM" . Kliknij „pobierz” .)
  2. Pobierz bez rejestracji, skopiuj dolny link „Nie, dziękuję, po prostu rozpocznij pobieranie” .
  3. Przejdź do terminala i wpisz:
$ wget link-to-rpm-you-choose
  1. Po zakończeniu pobierania wpisz:
$ sudo rpm -Uvh your-rpm-downloaded

3. Teraz zainstaluj mysql-devel

  1. Wpisz (to jest moja wersja, obejrzyj swoją):
$ sudo yum install mysql-community-devel.x86_64

4. Teraz wreszcie:mysqlclient

  1. Typ:
$  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.

I to wszystko! Zadziałało jak marzenie i teraz mogę używać Pythona + Django + MariaDB/MySQL

Aha, a mysqlclient to złącze polecane przez Django. Zobacz:https://docs.djangoproject. com/pl/2.1/ref/bazy danych/#mysql-db-api-drivers

Powodzenia i do zobaczenia! :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolejność Mysql według określonych wartości ID

  2. Zapisz dane do PHP / Mysql z edycją inline w CKEditor

  3. Sposób na przerwanie wykonywania skryptów MySQL (być może zgłoszenie błędu)?

  4. EF6 z ​​MySQL. Podany klucz nie był obecny w słowniku

  5. Obsługa restartu mysql w SQLAlchemy