Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể cài đặt mysqlclient trên centos

Được giải quyết trong CentOS 7 + MariaDB 10.2

Tôi đang gặp vấn đề tương tự và Tôi muốn đóng góp với câu trả lời của mình . Tôi vừa cài đặt trong 2 máy chủ của mình đang chạy CentOS 7 với 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

Tôi đã cài đặt MariaDB, gói này:

$ 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

Tôi thấy rằng vấn đề là mysqlclient yêu cầu gói mysql-devel, khác với mariadb-devel. Không cài đặt mariadb-devel!

Vì vậy, để chỉ cài đặt mysql-devel, bạn cần:

1. Xóa mọi MariaDB-devel

$ sudo yum erase MariaDB-devel.x86_64

2. Thêm kho lưu trữ MySQL trong yum

  1. Truy cập https://dev.mysql.com/downloads/repo/yum/ và chọn tệp RPM cho CentOS của bạn (đối với tôi, tôi chọn "Red Hat Enterprise Linux 7 / Oracle Linux 7 (Kiến trúc Độc lập), Gói RPM " . Nhấp vào "tải xuống" .)
  2. Tải xuống mà không cần đăng ký, sao chép liên kết dưới cùng "Không, cảm ơn, chỉ cần bắt đầu tải xuống của tôi" .
  3. Đi tới thiết bị đầu cuối của bạn và nhập:
$ wget link-to-rpm-you-choose
  1. Sau khi tải xuống hoàn tất, hãy nhập:
$ sudo rpm -Uvh your-rpm-downloaded

3. Bây giờ, hãy cài đặt mysql-devel

  1. Nhập (đây là phiên bản của tôi, hãy xem phiên bản của bạn):
$ sudo yum install mysql-community-devel.x86_64

4. Bây giờ, cuối cùng:mysqlclient

  1. Loại:
$  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.

Và thế là xong! Nó hoạt động như một sự quyến rũ và bây giờ tôi có thể sử dụng Python + Django + MariaDB / MySQL

Ồ, và mysqlclient là trình kết nối được Django đề xuất. Xem: https://docs.djangoproject. com / en / 2.1 / ref / databases / # mysql-db-api-drivers

Chúc may mắn và hẹn gặp lại! :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách thay đổi thời gian chờ cho các kết nối liên tục mysql

  2. Không thể tìm nạp id hàng bằng pdo

  3. thêm cột vào bảng mysql nếu nó không tồn tại

  4. Các kết quả khác nhau trong sqlfiddle.com 5.5.30 và MariaDB 5.5.31

  5. Kết nối với mysql trong vùng chứa docker từ máy chủ