Update sql_mysql.py

pull/632/head
Mr Chen 5 months ago
parent e70fa6d257
commit 834978adfd
  1. 63
      plugins/data_query/sql_mysql.py

@ -34,8 +34,10 @@ class nosqlMySQL():
__DB_LOCAL = None __DB_LOCAL = None
def __init__(self): def __init__(self):
self.__config = self.get_options(None) pass
def setSid(self, sid):
self.__config = self.get_options(sid=sid)
def conn(self): def conn(self):
if self.__DB_HOST in ['127.0.0.1', 'localhost']: if self.__DB_HOST in ['127.0.0.1', 'localhost']:
@ -43,7 +45,6 @@ class nosqlMySQL():
if not os.path.exists(my_path): return False if not os.path.exists(my_path): return False
if not self.__DB_LOCAL: if not self.__DB_LOCAL:
# print(self.__config)
self.__DB_PORT = int(self.__config['port']) self.__DB_PORT = int(self.__config['port'])
self.__DB_USER = self.__config['username'] self.__DB_USER = self.__config['username']
self.__DB_PASS = self.__config['password'] self.__DB_PASS = self.__config['password']
@ -63,41 +64,40 @@ class nosqlMySQL():
self.__DB_ERR = mw.get_error_info() self.__DB_ERR = mw.get_error_info()
return False return False
def sqliteDb(self,dbname='databases'): def sqliteDb(self, sid, dbname='databases'):
my_root_path = mw.getServerDir() +'/mysql' my_root_path = mw.getServerDir() +'/mysql'
name = 'mysql' name = 'mysql'
conn = mw.M(dbname).dbPos(my_root_path, name) conn = mw.M(dbname).dbPos(my_root_path, name)
return conn return conn
# 获取配置项 # 获取配置项
def get_options(self, get=None): def get_options(self, sid=None):
result = {} result = {}
result['socket'] = ''
result['port'] = 3306
my_cnf_path = "{}/mysql/etc/my.cnf".format(mw.getServerDir()) result['host'] = '127.0.0.1'
my_content = mw.readFile(my_cnf_path)
if not my_content: return False
mysql_pass = self.sqliteDb('config').where('id=?', (1,)).getField('mysql_root')
result['password'] = mysql_pass
result['username'] = 'root' result['username'] = 'root'
keys = ["bind_ip", "port"]
result['host'] = '127.0.0.1' if sid in ['mysql', 'mysql-apt', 'mysql-yum']:
rep = r'port\s*=\s*(.*)' my_cnf_path = "{}/{}/etc/my.cnf".format(mw.getServerDir(),sid)
port_re = re.search(rep, my_content) my_content = mw.readFile(my_cnf_path)
if port_re: if not my_content: return False
result['port'] = int(port_re.groups()[0].strip())
else:
result['port'] = 3306
socket_rep = r'socket\s*=\s*(.*)' mysql_pass = self.sqliteDb(sid,'config').where('id=?', (1,)).getField('mysql_root')
socket_re = re.search(socket_rep, my_content) result['password'] = mysql_pass
if socket_re:
result['socket'] = socket_re.groups()[0].strip() keys = ["bind_ip", "port"]
else:
result['socket'] = '' rep = r'port\s*=\s*(.*)'
port_re = re.search(rep, my_content)
if port_re:
result['port'] = int(port_re.groups()[0].strip())
socket_rep = r'socket\s*=\s*(.*)'
socket_re = re.search(socket_rep, my_content)
if socket_re:
result['socket'] = socket_re.groups()[0].strip()
return result return result
@ -119,15 +119,15 @@ class nosqlMySQL():
local_mysql = "{}/mysql/etc/my.cnf".format(mw.getServerDir()) local_mysql = "{}/mysql/etc/my.cnf".format(mw.getServerDir())
if os.path.exists(local_mysql): if os.path.exists(local_mysql):
data.append({'name':'本地服务器', 'val':'0'}) data.append({'name':'本地服务器', 'val':'mysql'})
local_mysql_apt = "{}/mysql-apt/etc/my.cnf".format(mw.getServerDir()) local_mysql_apt = "{}/mysql-apt/etc/my.cnf".format(mw.getServerDir())
if os.path.exists(local_mysql_apt): if os.path.exists(local_mysql_apt):
data.append({'name':'本地服务器[apt]', 'val':'apt'}) data.append({'name':'本地服务器[apt]', 'val':'mysql-apt'})
local_mysql_yum = "{}/mysql-yum/etc/my.cnf".format(mw.getServerDir()) local_mysql_yum = "{}/mysql-yum/etc/my.cnf".format(mw.getServerDir())
if os.path.exists(local_mysql_yum): if os.path.exists(local_mysql_yum):
data.append({'name':'本地服务器[yum]', 'val':'yum'}) data.append({'name':'本地服务器[yum]', 'val':'mysql-yum'})
return mw.returnData(True, 'ok', data) return mw.returnData(True, 'ok', data)
@singleton @singleton
@ -140,8 +140,9 @@ class nosqlMySQLCtr():
instance = nosqlMySQL() instance = nosqlMySQL()
return instance.getServerList() return instance.getServerList()
def getInstanceBySid(self, sid = 0): def getInstanceBySid(self, sid):
instance = nosqlMySQL() instance = nosqlMySQL()
instance.setSid(sid)
return instance return instance
def getDbList(self, args): def getDbList(self, args):

Loading…
Cancel
Save