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

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

http://blog.csdn.net/quicktest/article/details/7257715


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内任何文章,请以超链接形式注明出处。


你可能感兴趣的:(mysql,windows,数据库,django,ubuntu,远程连接)