django、phpmyadmin 和 mysql?

Posted

技术标签:

【中文标题】django、phpmyadmin 和 mysql?【英文标题】:django, phpmyadmin and mysql? 【发布时间】:2011-06-22 09:30:29 【问题描述】:

我想开始使用 Django 和 mysql,而不是一直使用 sqlite,但是我使用 MSQL 的唯一经验是通过 XAMPP,通过 phpmyadmin 操作数据库。我真的很想保持这个 gui 与 mysql 的交互,而不必通过命令行来做所有事情。

能不能用xampp/phpmyadmin启动和管理一个MYSQL数据库,然后只用Django的sn开发服务器用django做web开发端?

或者您是否必须始终通过命令行启动新数据库,如果是这样,它是如何完成的,记住我只通过 xampp/phpmyadmin 使用 mysql?

我知道如何通过 django 链接和管理一个数据库,我只是不知道如何通过它启动一个 mysql,我真的不想松开 xampp/phpmyadmin 附带的 mysql gui。非常感谢所有帮助。

【问题讨论】:

【参考方案1】:

你绝对可以通过XAMPP接口管理Mysql。尝试将 settings.py 中的 DB_HOST 设置为“localhost”。如果它不起作用,请尝试“127.0.0.1”。这通常是由于 python-mysql 模块期望 mysql unix 套接字位于另一个位置造成的。实际上,我不确定 mysql 服务器是否在 Windows 上使用 unix 套接字。无论如何,两者之一应该工作:) 您也可以将用于登录 phpmyAdmin 的凭据用于 Django。许多人认为将 root 用于非管理任务是不好的风格(我同意),但对于初学者和您的开发机器来说,这并不是什么大问题。 phpMyAdmin 应该可以与您的 django 管理的数据库一起使用。

我的 mysql 数据库 settings.py 块看起来像这样:

DATABASES = 
    'default': 
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'DBNAME',                      # Or path to database file if using sqlite3.
        'USER': 'USER',                      # Not used with sqlite3.
        'PASSWORD': 'PASSWORD',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    

这适用于 django 1.2 及更高版本。将 DBNAME、USER 和 PASSWORD 替换为各自的值,如果遇到问题,请尝试将 '127.0.0.1' 作为 HOST。显然,您需要像使用 sqlite 一样运行“manage.py syncdb”,然后才能使用它。

【讨论】:

我想做同样的事情,但是有问题... - 你安装了 mysqlclient 还是 MySQL-python?这是我已经遇到的错误。现在,在数据库配置之后,如果我运行服务器,我会遇到这种情况,虽然我有 php myadmin 正在运行。 imgur.com/9UeQzfT 现在,我也尝试执行“manage.py syncdb”。它返回相同的问题-imgur.com/WpuKv1X 仅供参考,我使用的是 mac 和 xampp。 @kevinRead 我运气好吗?【参考方案2】:

我强烈建议您查看postgresql!它带有一个在您的桌面上运行的类似 Sqlserver-Management-System 的数据库浏览器,而不是基于 Web 的前端。现在您无需担心在 Django 旁边配置 PHP。 Postgresql 可能会比 MySql 在 XAMPP 上更难安装,但我相信你可以从中获得很多。

Postgresql 也比 MySQL 好很多(IMO),并且是许多接近 Django 的人推荐的与 Django 一起使用的数据库。

也就是说,我目前使用 Oracle,所以你可能不应该听我的。 :)

【讨论】:

我支持这一点,研究 MySQl-alternatives 通常是个好主意。 MySQL 很普遍而且速度很快,但这并不意味着它在各个方面都很好。探索其他 DBMS 可以更深入地了解 MySQL 的优缺点,并且您将知道何时选择哪种 DBMS。 谢谢,出于某种原因,我没想过将 postgresql 与 django 一起使用,尽管我之前已经将它与 geodjango 一起用于空间数据。我想我对 phpmyadmin 太满意了,因为我经常使用它,但这是一个很好的解决方案,因为它建议我尝试使用它一段时间。干杯。【参考方案3】:

您可以使用 phpMyAdmin 轻松管理您的数据库。 Django 需要的只是数据库的权限和访问信息。一旦设置好这些(在 phpMyAdmin 中授予权限并在 Django 的 settings.py 中添加访问信息),您将发出 manage.py syncdb 例如,您就完成了。

【讨论】:

以上是关于django、phpmyadmin 和 mysql?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 现在允许通过 phpMyAdmin 导入数据

我如何在 ubuntu 的 apache 网络服务器上运行 Django 和 phpmyadmin

Nginx + Django + Phpmyadmin 配置

使用mysql的django上的syncdb错误

phpmyadmin Wrong permissions on configuration file, should not be world writable!

如何利用phpmyadmin导入和导出mysql数据库