主服dbs添加次服dbs配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主服dbs添加次服dbs配置相关的知识,希望对你有一定的参考价值。

#!-*- coding:utf-8 -*-
#/usr/bin/python
#

#参数4个: 平台名  区号(次服)  端口(主服) 域名(主服)

import sys
reload(sys)      # reload 才能调用 setdefaultencoding 方法
sys.setdefaultencoding(‘utf-8‘)  # 设置 ‘utf-8‘ 

import mysqldb
import houtai_dbname
import commands
import paramiko

def server_zoneid():
    #result=" "
        global conn,plname
        try:
                cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
                conn.select_db(‘h5_houtai‘)
                sql= "SELECT ip,zoneid,gameport FROM serverinfo WHERE pf=\‘%s\‘ and zoneid = %s ;" % (plname,zoneid)
                cur.execute(sql)
                result=cur.fetchone()
        domain=result.get(‘ip‘)
        print domain
        id=int(result.get(‘zoneid‘))
        print id
        #gport=result.get(‘gameport‘)
        #print gport

        #print hostname
        user=‘root‘
        pkey_file =‘/root/.ssh/id_rsa‘
        key=paramiko.RSAKey.from_private_key_file(pkey_file)
        cmd=‘echo "%s=jdbc:mysql://%s:3306/xmxy_bnxy_%s&jygsuser&jy_GAME89XOK23CM4KCMhhJSKb" >> /usr/jyserver/%s/server/config/dbs.properties‘ % (zoneid,domain,zoneid,port)        #次数dbs配置写入主服目录dbs
        s=paramiko.SSHClient()  #调用paramiko模块下的sshclient()
        s.load_system_host_keys()       #加载本地的known_hosts文件,该文件是纪录连到对方时,对方给的 host key。每次连线时都会检查
        i=s.load_system_host_keys()
        s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        s.connect(hostname,22,user,pkey=key,timeout=5)
        stdin,stdout,stderr=s.exec_command(cmd)
        cmd_result=stdout.read(),stderr.read()
        print cmd_result
        #for line in cmd_result:
        #   print line
        #print result
        #for line in result:
            #print (line,result[line])
            #print " values: %s" % result.values()
                cur.close()
                conn.close()
        except MySQLdb.Error,e:
                #print "MySQLdb error %d:%s " % (e.args[0],e.args[1])
                print e

if __name__=="__main__":
    plname=sys.argv[1]
    zoneid=sys.argv[2]
    port=sys.argv[3]
    hostname=sys.argv[4]
    #with open ("/usr/jyserver/%s/server/config/dbs.properties"  %  str(port)) as f:
        #print f.read().strip("")
    conn=MySQLdb.connect(host=‘xxx‘,user=‘xxx‘,passwd=‘xxx‘,port=3306,charset=‘utf8‘)
    server_zoneid()

以上是关于主服dbs添加次服dbs配置的主要内容,如果未能解决你的问题,请参考以下文章

DBS:TestSystem

DBS:CUPhone

DBS:TestSys

DBS:目录

数据库原理—常用的DBS产品简介

数据库原理—DBS的物理组成和结构模式