Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се инсталира mysqlclient на centos

Решено в CentOS 7 + MariaDB 10.2

Имам същия проблем и бих искал да допринеса с отговора си . Току-що инсталирах в моите 2 сървъра, работещи с CentOS 7 с 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

Инсталирах MariaDB, тези пакети:

$ 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

Открих, че проблемът е, че mysqlclient изисква пакети mysql-devel, което е различно от mariadb-devel. Не инсталирайте mariadb-devel!

Така че, за да инсталирате само mysql-devel, трябва да:

1. Премахнете всички MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. Добавете MySQL хранилище в yum

  1. Отидете на https://dev.mysql.com/downloads/repo/yum/ и изберете RPM файла за вашия CentOS (за мен избирам „Red Hat Enterprise Linux 7 / Oracle Linux 7 (архитектура Независим), RPM пакет" . Кликнете върху „изтегляне“ .)
  2. Изтеглете без регистрация, копирайте долната връзка „Не, благодаря, просто стартирайте изтеглянето ми“ .
  3. Отидете до терминала си и въведете:
$ wget link-to-rpm-you-choose
  1. След като изтеглянето приключи, въведете:
$ sudo rpm -Uvh your-rpm-downloaded

3. Сега инсталирайте mysql-devel

  1. Въведете (това е моята версия, гледайте вашата):
$ sudo yum install mysql-community-devel.x86_64

4. Сега, накрая:mysqlclient

  1. Тип:
$  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.

И това е! Работеше като чар и сега мога да използвам Python + Django + MariaDB/MySQL

О, и mysqlclient е конекторът, препоръчан от Django. Вижте:https://docs.djangoproject. com/en/2.1/ref/databases/#mysql-db-api-drivers

Успех и ще се видим! :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLdb в Python:Не мога да се свържа с MySQL сървър на „localhost“

  2. Как да изтегля данни от mysql база данни и да визуализирам с D3.JS?

  3. Искате номер на ред в група колони в МОЯТА SQL?

  4. Базата данни не се актуализира автоматично с MySQL и Python

  5. Как да разрешите грешката не е в GROUP BY в mysql заявката