Đượ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
- 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" .)
- 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" .
- Đi tới thiết bị đầu cuối của bạn và nhập:
$ wget link-to-rpm-you-choose
- 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
- 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
- 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! :-)