Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat menginstal mysqlclient di centos

Dipecahkan dalam CentOS 7 + MariaDB 10.2

Saya mengalami masalah yang sama, dan Saya ingin berkontribusi dengan jawaban saya . Saya baru saja menginstal di 2 server saya yang menjalankan CentOS 7 dengan 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

Saya telah menginstal MariaDB, paket ini:

$ 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

Saya menemukan bahwa masalahnya adalah bahwa mysqlclient memerlukan paket mysql-devel, yang berbeda dari mariadb-devel. Jangan instal mariadb-devel!

Jadi, untuk menginstal hanya mysql-devel, Anda perlu:

1. Hapus semua MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. Tambahkan repositori MySQL di yum

  1. Buka https://dev.mysql.com/downloads/repo/yum/ dan pilih file RPM untuk CentOS Anda (untuk saya, saya memilih "Red Hat Enterprise Linux 7 / Oracle Linux 7 (Arsitektur Independen), Paket RPM" . Klik "unduh" .)
  2. Unduh tanpa registrasi, salin tautan bawah "Tidak, terima kasih, mulai unduhan saya" .
  3. Buka terminal Anda dan ketik:
$ wget link-to-rpm-you-choose
  1. Setelah download selesai, ketik:
$ sudo rpm -Uvh your-rpm-downloaded

3. Sekarang, instal mysql-devel

  1. Ketik (ini versi saya, perhatikan versi Anda):
$ sudo yum install mysql-community-devel.x86_64

4. Sekarang, akhirnya:mysqlclient

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

Dan hanya itu! Ini bekerja seperti pesona dan sekarang saya dapat menggunakan Python + Django + MariaDB/MySQL

Oh, dan mysqlclient adalah konektor yang direkomendasikan oleh Django. Lihat:https://docs.djangoproject. com/en/2.1/ref/databases/#mysql-db-api-drivers

Semoga berhasil dan sampai jumpa! :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_connect():Host server MySQL tidak dikenal

  2. Nomor Acak di kolom MySQL

  3. Datetime sama atau lebih besar dari hari ini di MySQL

  4. Di mana menyimpan kredensial MySQL dalam skrip PHP?

  5. Cara Memulihkan Cluster MySQL Galera Dari Budak Asinkron