mysql 基于 master-master 的双机热备配置

master-master 就是两台服务器互为主从:
master1-slave(master2) && master2-slave(master1)

  • master1: 192.168.100.191
  • master2: 192.168.100.166

master1-slave(master2)

mysql 版本最好一致

设置 master1

  1. 创建给 slave 登录用的用户名密码:

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.100.166' IDENTIFIED BY 'yNZE7fK9*@aMA?*ppF';
    
    # humanreadable
    mysql> # grant replication slave on *.* to 'backup'@'192 ...
more ...

[python]第三方模块 python-dateutil:扩展并增强 datetime 模块的功能

简介

扩展并增强 datetime 模块的功能。支持 Python 2.3+。

主页

http://labix.org/python-dateutil

文档

http://labix.org/python-dateutil

安装

pip install python-dateutil

# or
# download from https://pypi.python.org/pypi/python-dateutil
python setup.py install

简单使用

获取历史上的今天,上个月的今天,下个月的今天 link

>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>>
>>> today
datetime.date ...
more ...

[python]解决使用 argparse 时出现:ValueError: unsupported format character 'p' (0x70) at index 8

将程序从 optparse 转到 argparse 后,出现了如下错误:

...
  File "C:\PYTHON26\lib\site-packages\argparse-1.2.1-py2.6.egg\argparse.py", line 230, in format_help
    func(*args)
  File "C:\PYTHON26\lib\site-packages\argparse-1.2.1-py2.6.egg\argparse.py", line 317, in _format_usage
    usage = usage % dict(prog=self._prog ...
more ...

[python]解决 64 位 windows 下使用 pip 安装带 c 扩展的模块时,出现 "ValueError: [u'path']" 错误

今天在 64 位 Windows 下使用 pip 安装 rcssmin 时,出现了如下错误:

...
   File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall

      raise ValueError(str(list(result.keys())))

 ValueError: [u'path']

这是因为在编译 c 扩展程序时,出现了错误。

解决办法是,安装 Visual Studio 2008 Professional x64,并且在安装时选中 x64 compiler tools:

install vs2008

参考

more ...

[django]使用 South 重命名 model 字段名

本文将讲述如何使用 South 重命名表的字段名。

假设应用 foobar 有个 model:

class Foo(models.Model):
    foo = models.IntegerField()

想要将 foo 字段名改为 bar。

  1. 改好 models.py

    class Foo(models.Model):
        bar = models.IntegerField()
    
  2. 执行 south 命令

    # python manage.py schemamigration yourapp rename_field_foo_to_bar --empty
    # 本例是
    python manage.py schemamigration foobar rename_field_foo_to_bar --empty
    
  3. 更改生成的 000x_xxx.py 文件 ...

more ...