mysql

多实例

1.my.cnf

通过定义mysqldconfig类   mysqld_vars = {}  从里面获得很多配置文件相关参数写入字典

mysql.py

2.init DB

初始化数据库

3.修改权限

4.rc脚本启动

mysql模块  ConfigParser修改配置文件

/usr/share/mysql/各种配置文件路径

allow_no_value=True

c = ConfigParser.ConfigParser(allow_no_value=True)

In [7]: c.read('/usr/share/mysql/my-large.cnf')

Out[7]: ['/usr/share/mysql/my-large.cnf']

c.options('mysqld')

Out[10]: 

['myisam_sort_buffer_size',

 'skip-locking',

 'read_rnd_buffer_size',

 'read_buffer_size',

 'log-bin',

 'thread_cache_size',

 'port',

 'query_cache_size',

 'binlog_format',

 'socket',

 'sort_buffer_size',

 'server-id',

 'max_allowed_packet',

 'thread_concurrency',

 'table_open_cache',

 'key_buffer_size']

In [11]: c.set('mysqld','datadir','/tmp/mysql101')

In [12]: c.get('mysqld','datadir')

Out[12]: '/tmp/mysql101'

In [13]: c.write(open('/tmp/my01.cnf','w‘)

super 实现对一个父类实现调用

把一个参数传给一个属性

def __init__(self,config,**kw):

不确定接收几个参数 **kw

In [14]: def f(x,y):

   ....:     print x

   ....:     print y

   ....:     

In [15]: f(1,2)

1

2

In [16]: t = (1,2)

In [18]: f(*t)

1

2

In [19]: def f(user='test',passwd='123'):

    print user

    print passwd

   ....:     

In [20]: f('a','123')

a

123

In [21]: d = {'user':'test1','passwd':'123'}

In [22]: d

Out[22]: {'passwd': '123', 'user': 'test1'}

In [23]: f(**d)

test1

123

In [26]: def f(x,*args):

    print x 

    print args

   ....:     

In [27]: f(1,2,3)

1

(2, 3)

* 元组

**字典

In [30]: def f(x, *args, **kwargs):

    print x

    print args

    print kwargs

   ....:     

In [31]: f(1,2,user='test')

1

(2,)

{'user': 'test'}

setattr 设置类属性

getattr 取得类属性

setattr(a,'var3','three')

getattr(a,'var3')

mysql_install_db --defaults-file=/tmp/my01.cnf

chown -R mysql:mysql /tmp/mysql101

mysqld_safe --defaults-file=/tmp/my01.cnf &

mysql -S /var/lib/mysql/mysql.sock

-c create  创建实例 

abspath取绝对路径

mysqladmin -S socket shutdown

3.mysqlDB  show variables;

show global variables like '%max%';

cur.fetchall()

cur.fetchone()