You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora 37下Django配置MariaDB的方法及冲突解决

Django + MariaDB 配置问题解答

一、当前配置的正确性分析

你的settings.py数据库配置方向是对的,但有几个细节需要修正:

  • 引号错误:配置里用了中文引号(‘’),必须改成英文单引号(''),否则Django会抛出语法错误。
  • 数据库需提前创建:NAME字段指定的myproject数据库,需要先在MariaDB中手动创建,否则执行migrate时会提示数据库不存在。
  • PORT建议明确:留空默认使用3306端口,建议显式写'3306',配置更清晰。

修正后的配置示例:

# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'myproject',
        'USER': 'yourusername',
        'PASSWORD': 'yourpassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

另外,mysqlclient是正确的数据库驱动,它完全兼容MariaDB,不需要更换其他驱动。

二、解决Fedora中MySQL与MariaDB的互斥问题

Fedora官方仓库中MySQL(community-mysql)与MariaDB是互斥包,无法同时安装,你需要卸载现有MySQL组件,再安装MariaDB:

  1. 卸载已安装的MySQL包
    执行命令彻底移除MySQL相关组件:

    sudo dnf remove community-mysql community-mysql-server
    
  2. 安装MariaDB及服务端
    安装MariaDB核心包和服务器组件:

    sudo dnf install mariadb mariadb-server
    
  3. 启动并启用MariaDB服务
    启动服务并设置开机自启:

    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  4. 初始化MariaDB安全配置
    运行安全脚本设置root密码、移除匿名用户等:

    sudo mysql_secure_installation
    
  5. 创建Django所需的数据库和用户
    登录MariaDB控制台,创建项目数据库和授权用户:

    mysql -u root -p
    

    执行以下SQL语句(替换成你的用户名和密码):

    CREATE DATABASE myproject CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';
    GRANT ALL PRIVILEGES ON myproject.* TO 'yourusername'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    
  6. 验证Django连接
    回到项目目录,执行迁移命令测试连接:

    python manage.py migrate
    

内容的提问来源于stack exchange,提问作者shadow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:39:24