您的位置:首页 > 数据库 > SQL

Ubuntu 安装MySQL数据库,Windows 安装MySQL WorkBench进行远程管理,Django远程连接 手记

2012-05-21 15:58 1011 查看
之前写过一篇《Ubuntu 安装Postgres数据库,Windows 安装PgAdmin进行远程管理,Django远程连接 手记》,这次使用MySQL实现相同的功能,上篇详见:

/article/11022995.html

Ubuntu通过SSH操作:

1. 安装MySQL Server:

sudo apt-get install mysql-server

配置MySQL:

2. 注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:

默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:

$mysql -u root

(如果在安装时设置了root密码,那么需要:$mysql -u root -p)

3. 用root用户建立你所需要的数据库。我这里就以automation为例:

mysql>CREATE DATABASE automation;

4. 如果你想进行远程访问或控制,那么你要做两件事:

其一:

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "Password";

允许root用户可以从任意机器上登入MySQL。

其二:

$sudo gedit /etc/mysql/my.cnf

老的版本中

>skip-networking => # skip-networking

新的版本中

>bind-address=127.0.0.1 => bind-address= 0.0.0.0

这样就可以允许其他机器访问MySQL了

5. 再重启mysql : sudo /etc/init.d/mysql restart

Windows操作:

1. 安装MySQL
http://www.mysql.com/downloads/
WorkBench操作如下:

2. “New Connection”

Connection Name 随便起一个

Host Name 为Linux的IP地址

User Name是“root”

Password是设置过的password

3. 点击“Test Connection”

哈哈,大功告成,连接上了

Django一同工作:

1. 需要在本地(调试)和服务器端分别装上python-mysqldb

Ubuntu命令:apt-get install python-mysqldb

Windows安装包:可以搜“MySQL-python-1.2.3.win32-py2.7.exe”

SourceForge地址:http://sourceforge.net/projects/mysql-python/

2. 安装完后试一下:

root@sha-essqa-linux:~# python

Python 2.7.2+ (default, Oct 4 2011, 20:06:09)

[GCC 4.6.1] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import MySQLdb as mdb

>>> con = mdb.connect('localhost','用户名','密码','数据库名')

>>> cur = con.cursor()

>>> cur.execute("select version()")

1L

一切正常

3.设置Django的settings.py:

'ENGINE': 'django.db.backends.mysql',

'NAME': '数据库名', # Or path to database file if using sqlite3.

'USER': '用户名', # Not used with sqlite3.

'PASSWORD': '密码', # Not used with sqlite3.

'HOST': 'LinuxIP地址', # Set to empty string for localhost. Not used with sqlite3.

'PORT': '3306',

4. 测试Django:
在Shell输入: python manage.py validate

“0 error”显示表示一切正常,大功告成

注意:

不过在做syncdb的时候发现一个Django至今未解决的问题:使用Django设置models.py时无法使用“unique”关键字设置唯一约束

官方bug:https://code.djangoproject.com/ticket/2495

所以建议大家还是用Postgres为宜,毕竟MySQL被Oracle收购后前途未卜啊

版权所有。转载本BLOG内任何文章,请以超链接形式注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: