首页 > 解决方案 > Django 无法在 RHEL 7 中配置 MySQL

问题描述

我是 Red Hat 7 的新手,并试图在我的 django 项目中配置 MySQL 而不是默认的 sqlite3。我成功安装了 MySQL,如下所示。

[user@user111 django-project]$ mysql --version
mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper
[user@user111 django-project]$ which mysql
/usr/bin/mysql
[user@user111 django-project]$ mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

现在我想用 MySQL 配置 Django,所以我尝试安装 mysqlclient

[user@user111 django-project]$ pip3 install mysqlclient
Collecting mysqlclient
  Using cached https://files.pythonhosted.org/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/mysqlclient-1.3.12.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-zn7_jg6q/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/tmp/pip-build-zn7_jg6q/mysqlclient/setup_posix.py", line 44, in get_config
        libs = mysql_config("libs_r")
      File "/tmp/pip-build-zn7_jg6q/mysqlclient/setup_posix.py", line 26, in mysql_confi[user@user111 django-project]$ g
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    OSError: mysql_config not found

    ----------------------------------------

现在,出现mysql-config not found的错误。要安装mysql-config我尝试了以下

[user@user111 django-project]$ yum install libmysqlclient-dev
Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager
....
Repo rhel-7-workstation-satellite-tools-6.2-rpms forced skip_if_unavailable=True due to: /etc/pki/entitlement/4173239949270255333-key.pem
Cannot upload enabled repos report, is this client registered?

stackoverflow 上的这个答案正在帮助我下载libmysqlclient-dev但是在下载这个时我收到这个错误无法上传启用的 repos 报告,这个客户端注册了吗?我不知道如何处理?

**编辑 **

Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager
Workstations_EPEL7_workstation_EPEL_RHEL7                                                                                                                         | 2.5 kB  00:00:00     
Workstations_JYU_RHEL7_workstation_repos_JYU_64-bit                                                                                                               | 1.8 kB  00:00:00     
Workstations_JYU_RHEL7_workstation_repos_JYU_RHEL7                                                                                                                | 2.1 kB  00:00:00     
Workstations_JYU_RHEL7_workstation_repos_JYU_noarch                                                                                                               | 2.1 kB  00:00:00     
Workstations_RHEL7_workstation_misc_repos_Google_Chrome                                                                                                           | 1.8 kB  00:00:00     
Workstations_RHEL7_workstation_misc_repos_Nux_Dextop_RHEL7                                                                                                        | 2.1 kB  00:00:00     
Workstations_RHEL7_workstation_misc_repos_Skype                                                                                                                   | 2.1 kB  00:00:00     
rhel-7-workstation-extras-rpms                                                                                                                                    | 2.1 kB  00:00:00     
rhel-7-workstation-optional-rpms                                                                                                                                  | 2.0 kB  00:00:00     
rhel-7-workstation-rh-common-rpms                                                                                                                                 | 2.1 kB  00:00:00     
rhel-7-workstation-rpms                                                                                                                                           | 2.0 kB  00:00:00     
rhel-7-workstation-satellite-tools-6.2-rpms                                                                                                                       | 2.1 kB  00:00:00     
rhel-7-workstation-supplementary-rpms                                                                                                                             | 2.0 kB  00:00:00     
rhel-workstation-rhscl-7-rpms                                                                                                                                     | 2.0 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package mariadb-devel.x86_64 1:5.5.56-2.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.56-2.el7 for package: 1:mariadb-devel-5.5.56-2.el7.x86_64
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be installed
Removing mariadb-libs.x86_64 1:5.5.56-2.el7 - u due to obsoletes from installed mysql-community-libs-5.7.22-1.el7.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.56-2.el7 for package: 1:mariadb-devel-5.5.56-2.el7.x86_64
--> Finished Dependency Resolution
Error: Package: 1:mariadb-devel-5.5.56-2.el7.x86_64 (rhel-7-workstation-rpms)
           Requires: mariadb-libs(x86-64) = 1:5.5.56-2.el7
           Available: 1:mariadb-libs-5.5.35-3.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.35-3.el7
           Available: 1:mariadb-libs-5.5.37-1.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.37-1.el7_0
           Available: 1:mariadb-libs-5.5.40-1.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.40-1.el7_0
           Available: 1:mariadb-libs-5.5.40-2.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.40-2.el7_0
           Available: 1:mariadb-libs-5.5.41-2.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.41-2.el7_0
           Available: 1:mariadb-libs-5.5.44-1.el7_1.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.44-1.el7_1
           Available: 1:mariadb-libs-5.5.44-2.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.44-2.el7
           Available: 1:mariadb-libs-5.5.47-1.el7_2.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.47-1.el7_2
           Available: 1:mariadb-libs-5.5.50-1.el7_2.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.50-1.el7_2
           Available: 1:mariadb-libs-5.5.52-1.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.52-1.el7
           Available: 1:mariadb-libs-5.5.56-2.el7.i686 (rhel-7-workstation-rpms)
              ~mariadb-libs(x86-32) = 1:5.5.56-2.el7
**********************************************************************
yum can be configured to try to resolve such errors by temporarily enabling
disabled repos and searching for missing dependencies.
To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf
**********************************************************************

Error: Package: 1:mariadb-devel-5.5.56-2.el7.x86_64 (rhel-7-workstation-rpms)
           Requires: mariadb-libs(x86-64) = 1:5.5.56-2.el7
           Available: 1:mariadb-libs-5.5.35-3.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.35-3.el7
           Available: 1:mariadb-libs-5.5.37-1.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.37-1.el7_0
           Available: 1:mariadb-libs-5.5.40-1.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.40-1.el7_0
           Available: 1:mariadb-libs-5.5.40-2.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.40-2.el7_0
           Available: 1:mariadb-libs-5.5.41-2.el7_0.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.41-2.el7_0
           Available: 1:mariadb-libs-5.5.44-1.el7_1.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.44-1.el7_1
           Available: 1:mariadb-libs-5.5.44-2.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.44-2.el7
           Available: 1:mariadb-libs-5.5.47-1.el7_2.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.47-1.el7_2
           Available: 1:mariadb-libs-5.5.50-1.el7_2.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.50-1.el7_2
           Available: 1:mariadb-libs-5.5.52-1.el7.x86_64 (rhel-7-workstation-rpms)
               mariadb-libs(x86-64) = 1:5.5.52-1.el7
           Available: 1:mariadb-libs-5.5.56-2.el7.i686 (rhel-7-workstation-rpms)
              ~mariadb-libs(x86-32) = 1:5.5.56-2.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Uploading Enabled Repositories Report
Loaded plugins: langpacks, product-id, subscription-manager

标签: mysqldjangoconfigurationrhel7

解决方案


您遵循的指示似乎适用于 Ubuntu,而不是 CentOS。对于 CentOS,假设您通过 安装了 MySQL yum,请尝试使用以下命令安装您需要的开发包:

yum install mysql-community-devel

然后再试pip3 install一次。祝你好运!


推荐阅读