pull/256/head
midoks 3 years ago
parent 238b46ebfd
commit b512a7fa85
  1. 2
      .github/pull_request_template.md
  2. 91
      plugins/mysql-apt/class/mysqlDb.py
  3. 4
      plugins/mysql-apt/conf/my5.7.cnf
  4. 6
      plugins/mysql-apt/conf/my8.0.cnf
  5. 23
      plugins/mysql-apt/index.py
  6. 4
      plugins/mysql-apt/init.d/mysql.service.tpl

@ -1,3 +1,3 @@
### 合并描述 ### 合并描述
- [ ] 我添加了测试用例来覆盖新代码。 - 我添加了测试用例来覆盖新代码。

@ -1,91 +0,0 @@
# coding: utf-8
import re
import os
import sys
sys.path.append(os.getcwd() + "/class/core")
import mw
class mysqlDb:
__DB_PASS = None
__DB_USER = 'root'
__DB_PORT = 3306
__DB_HOST = 'localhost'
__DB_CONN = None
__DB_CUR = None
__DB_ERR = None
__DB_CNF = '/etc/my.cnf'
def __Conn(self):
'''连接MYSQL数据库'''
try:
import mw
socket = '/www/server/mysql-ya/mysql.sock'
try:
import MySQLdb
except Exception as ex:
# print('dd')
self.__DB_ERR = ex
return False
try:
myconf = mw.readFile(self.__DB_CNF)
rep = "port\s*=\s*([0-9]+)"
self.__DB_PORT = int(re.search(rep, myconf).groups()[0])
except:
self.__DB_PORT = 3306
# print self.__DB_PASS
#self.__DB_PASS = mw.M('config').where('id=?', (1,)).getField('mysql_root')
try:
self.__DB_CONN = MySQLdb.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS,
port=self.__DB_PORT, charset="utf8", connect_timeout=1, unix_socket=socket)
except MySQLdb.Error as e:
self.__DB_HOST = '127.0.0.1'
self.__DB_CONN = MySQLdb.connect(host=self.__DB_HOST, user=self.__DB_USER, passwd=self.__DB_PASS,
port=self.__DB_PORT, charset="utf8", connect_timeout=1, unix_socket=socket)
self.__DB_CUR = self.__DB_CONN.cursor()
return True
except MySQLdb.Error as e:
self.__DB_ERR = e
return False
def setDbConf(self, conf):
self.__DB_CNF = conf
def setPwd(self, pwd):
self.__DB_PASS = pwd
def getPwd(self):
return self.__DB_PASS
def execute(self, sql):
# 执行SQL语句返回受影响行
if not self.__Conn():
return self.__DB_ERR
try:
result = self.__DB_CUR.execute(sql)
self.__DB_CONN.commit()
self.__Close()
return result
except Exception as ex:
return ex
def query(self, sql):
# 执行SQL语句返回数据集
if not self.__Conn():
return self.__DB_ERR
try:
self.__DB_CUR.execute(sql)
result = self.__DB_CUR.fetchall()
# 将元组转换成列表
# data = list(map(list, result))
self.__Close()
return result
except Exception as ex:
return ex
# 关闭连接
def __Close(self):
self.__DB_CUR.close()
self.__DB_CONN.close()

@ -8,8 +8,8 @@ default-character-set = UTF8MB4
[mysqld] [mysqld]
pid-file = {$SERVER_APP_PATH}/data/mysql.pid pid-file = {$SERVER_APP_PATH}/data/mysql.pid
user = mysql user = mysql
port = 3376 port = 33206
mysqlx_port = 33760 mysqlx_port = 33260
socket = {$SERVER_APP_PATH}/mysql.sock socket = {$SERVER_APP_PATH}/mysql.sock
datadir = {$SERVER_APP_PATH}/data datadir = {$SERVER_APP_PATH}/data
log-error = {$SERVER_APP_PATH}/data/error.log log-error = {$SERVER_APP_PATH}/data/error.log

@ -1,7 +1,7 @@
[client] [client]
user = root user = root
#password = your_password #password = your_password
port = 3386 port = 3306
socket = {$SERVER_APP_PATH}/mysql.sock socket = {$SERVER_APP_PATH}/mysql.sock
default-character-set = UTF8MB4 default-character-set = UTF8MB4
@ -9,8 +9,8 @@ default-character-set = UTF8MB4
default_authentication_plugin=mysql_native_password default_authentication_plugin=mysql_native_password
pid-file = {$SERVER_APP_PATH}/data/mysql.pid pid-file = {$SERVER_APP_PATH}/data/mysql.pid
user = mysql user = mysql
port = 3386 port = 33206
mysqlx_port = 33860 mysqlx_port = 33260
socket = {$SERVER_APP_PATH}/mysql.sock socket = {$SERVER_APP_PATH}/mysql.sock
datadir = {$SERVER_APP_PATH}/data datadir = {$SERVER_APP_PATH}/data
log-error = {$SERVER_APP_PATH}/data/error.log log-error = {$SERVER_APP_PATH}/data/error.log

@ -35,9 +35,6 @@ def getPluginName():
def getPluginDir(): def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName() return mw.getPluginDir() + '/' + getPluginName()
sys.path.append(getPluginDir() + "/class")
import mysqlDb
def getServerDir(): def getServerDir():
return mw.getServerDir() + '/' + getPluginName() return mw.getServerDir() + '/' + getPluginName()
@ -86,7 +83,7 @@ def checkArgs(data, ck=[]):
def getConf(): def getConf():
path = '/etc/mysql/mysql.conf.d/mysqld.cnf' path = '/etc/mysql/my.cnf'
return path return path
@ -120,11 +117,15 @@ def pSqliteDb(dbname='databases'):
def pMysqlDb(): def pMysqlDb():
db = mysqlDb.mysqlDb() # pymysql
db.__DB_CNF = getConf() db = mw.getMyORM()
db.setDbConf(getConf()) # MySQLdb |
db.setPwd(pSqliteDb('config').where( # db = mw.getMyORMDb()
'id=?', (1,)).getField('mysql_root'))
db.setPort(getDbPort())
db.setSocket(getSocketFile())
# db.setCharset("utf8")
db.setPwd(pSqliteDb('config').where('id=?', (1,)).getField('mysql_root'))
return db return db
@ -146,6 +147,10 @@ def initDreplace(version=''):
content = contentReplace(content) content = contentReplace(content)
mw.writeFile(mysql_conf, content) mw.writeFile(mysql_conf, content)
# lock_file = getServerDir() + "/installed.pl"
# if not os.path.exists(lock_file):
# mw.writeFile(lock_file, "ok")
# systemd # systemd
systemDir = mw.systemdCfgDir() systemDir = mw.systemdCfgDir()
systemService = systemDir + '/mysql-apt.service' systemService = systemDir + '/mysql-apt.service'

@ -35,8 +35,8 @@ WantedBy=multi-user.target
User=mysql User=mysql
Group=mysql Group=mysql
Type=notify Type=notify
ExecStartPre=+/usr/share/mysql-8.0/mysql-systemd-start pre #ExecStartPre=+/usr/share/mysql-8.0/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld ExecStart=/usr/sbin/mysqld --defaults-file={$SERVER_PATH}/mysql-apt/etc/my.cnf
TimeoutSec=0 TimeoutSec=0
LimitNOFILE = 10000 LimitNOFILE = 10000
Restart=on-failure Restart=on-failure

Loading…
Cancel
Save