get_slave_status.py

本文介绍了一种通过Python脚本检查MySQL从库状态的方法。该脚本能够获取SHOW SLAVE STATUS的输出结果,并检查关键指标如Slave_IO_Running和Slave_SQL_Running的状态,同时还能够获取Last_SQL_Error的内容。

#!/usr/bin/env python
#-*- encoding: utf8 -*-

import mysql.connector
import get_mysql_conn_info
    
"""
SHOW SLAVE STATUS命令输出内容
"""
class GetSlaveResult:
    """
    getdbconfig 参数是一个列表,第一列是IP,第二列是账号,第三列是密码,第四列是端口号。
    """   
    def __init__(self,getdbconfig):       
        self.getdbconfig = getdbconfig
         
    """
    获取 SHOW SLAVE STATUS 输出结果
    """
    def get_slave_status(self):
        dbconfig = self.getdbconfig
        for i in range(int(len(dbconfig))):                           
            show_slave_status = "SHOW slave STATUS;"        
            cnn = mysql.connector.connect(host=dbconfig[i][0] ,user=dbconfig[i][1] ,password=dbconfig[i][2] ,port=dbconfig[i][3])
            cursor = cnn.cursor(dictionary=True)
            cursor.execute(show_slave_status)
            result_fet = cursor.fetchall()
            result = result_fet[0]
            result["checkmysql_host"] = dbconfig[i][0]
            result["checkmysql_user"] = dbconfig[i][1]
            result["checkmysql_port"] = int(dbconfig[i][3])
            return result        
                                                     
    """
    检查SHOW SLAVE STATUS状态
    """
    def check_slave_status(self):
        check_ture_false_slave_status = True
        result = self.get_slave_status()
        if result.get('Slave_IO_Running') == 'Yes' and result.get('Slave_SQL_Running') == 'Yes':
            pass
        else:
            check_ture_false_slave_status = False
        print  "主机名: %s , 端口号: %s , Slave_IO_Running 状态 = %s , Slave_SQL_Running 状态 = %s " %(str(result.get('checkmysql_host')),str(result.get('checkmysql_port')),str(result.get('Slave_IO_Running')),str(result.get('Slave_SQL_Running')))
 
    """
    获取Last_SQL_Error内容
    """
    def get_last_sql_error(self):
        check_ture_false_last_sql_error = True
        result = self.get_slave_status()     
        if result.get('Last_SQL_Error')== '':
            pass
        else:
            check_ture_false_last_sql_error = False
        print  "主机名: %s , 端口号: %s , Last_SQL_Error 内容 = %s " %(str(result.get('checkmysql_host')),str(result.get('checkmysql_port')),str(result.get('Last_SQL_Error')))
                
checkdbconfig = get_mysql_conn_info.GetConn('/data/lgj/dblist.xlsx').get_csv()

print_result = GetSlaveResult(checkdbconfig)
print_result.check_slave_status()
print_result.get_last_sql_error()
 


转载于:https://www.cnblogs.com/liang545621/p/7616032.html

else: raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): ^ ------------------------------------------------------------ pycocotools/_mask.pyx:197:88: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): ^ ------------------------------------------------------------ pycocotools/_mask.pyx:199:15: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): ^ ------------------------------------------------------------ pycocotools/_mask.pyx:199:51: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): ^ ------------------------------------------------------------ pycocotools/_mask.pyx:199:87: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): ^ ------------------------------------------------------------ pycocotools/_mask.pyx:199:141: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... pass elif type(obj) == np.ndarray: N = obj.shape[0] return N # convert iscrowd to numpy array cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:211:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... pass elif type(obj) == np.ndarray: N = obj.shape[0] return N # convert iscrowd to numpy array cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:211:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... if not type(dt) == type(gt): raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # define local variables cdef double* _iou = <double*> 0 cdef np.npy_intp shape[1] ^ ------------------------------------------------------------ pycocotools/_mask.pyx:226:9: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... def toBbox( rleObjs ): cdef RLEs Rs = _frString(rleObjs) cdef siz n = Rs.n cdef BB _bb = <BB> malloc(4*n* sizeof(double)) rleToBbox( <const RLE*> Rs._R, _bb, n ) cdef np.npy_intp shape[1] ^ ------------------------------------------------------------ pycocotools/_mask.pyx:247:9: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... rleFrBbox( <RLE*> Rs._R, <const BB> bb.data, h, w, n ) objs = _toString(Rs) return objs def frPoly( poly, siz h, siz w ): cdef np.ndarray[np.double_t, ndim=1] np_poly ^ ------------------------------------------------------------ pycocotools/_mask.pyx:262:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... rleFrBbox( <RLE*> Rs._R, <const BB> bb.data, h, w, n ) objs = _toString(Rs) return objs def frPoly( poly, siz h, siz w ): cdef np.ndarray[np.double_t, ndim=1] np_poly ^ ------------------------------------------------------------ pycocotools/_mask.pyx:262:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... rleFrPoly( <RLE*>&Rs._R[i], <const double*> np_poly.data, int(len(p)/2), h, w ) objs = _toString(Rs) return objs def frUncompressedRLE(ucRles, siz h, siz w): cdef np.ndarray[np.uint32_t, ndim=1] cnts ^ ------------------------------------------------------------ pycocotools/_mask.pyx:272:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... rleFrPoly( <RLE*>&Rs._R[i], <const double*> np_poly.data, int(len(p)/2), h, w ) objs = _toString(Rs) return objs def frUncompressedRLE(ucRles, siz h, siz w): cdef np.ndarray[np.uint32_t, ndim=1] cnts ^ ------------------------------------------------------------ pycocotools/_mask.pyx:272:9: 'ndarray' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... # it doesn't need to be freed here # called when passing into np.array() and return an np.ndarray in column-major order def __array__(self): cdef np.npy_intp shape[1] shape[0] = <np.npy_intp> self._h*self._w*self._n ^ ------------------------------------------------------------ pycocotools/_mask.pyx:94:20: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... def area(rleObjs): cdef RLEs Rs = _frString(rleObjs) cdef uint* _a = <uint*> malloc(Rs._n* sizeof(uint)) rleArea(Rs._R, Rs._n, _a) cdef np.npy_intp shape[1] shape[0] = <np.npy_intp> Rs._n ^ ------------------------------------------------------------ pycocotools/_mask.pyx:164:16: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... cdef uint* _a = <uint*> malloc(Rs._n* sizeof(uint)) rleArea(Rs._R, Rs._n, _a) cdef np.npy_intp shape[1] shape[0] = <np.npy_intp> Rs._n a = np.array((Rs._n, ), dtype=np.uint8) a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:166:62: Cannot convert 'uint *' to Python object Error compiling Cython file: ------------------------------------------------------------ ... _iouFun = _bbIou else: raise Exception('input data type not allowed.') _iou = <double*> malloc(m*n* sizeof(double)) iou = np.zeros((m*n, ), dtype=np.double) shape[0] = <np.npy_intp> m*n ^ ------------------------------------------------------------ pycocotools/_mask.pyx:236:16: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... else: raise Exception('input data type not allowed.') _iou = <double*> malloc(m*n* sizeof(double)) iou = np.zeros((m*n, ), dtype=np.double) shape[0] = <np.npy_intp> m*n iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:237:64: Cannot convert 'double *' to Python object Error compiling Cython file: ------------------------------------------------------------ ... raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:198:72: Python objects cannot be cast to pointers of primitive types Error compiling Cython file: ------------------------------------------------------------ ... raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): bbIou( <BB> dt.data, <BB> gt.data, m, n, <byte*> iscrowd.data, <double*>_iou.data ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:200:15: Python objects cannot be cast to pointers of primitive types Error compiling Cython file: ------------------------------------------------------------ ... raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): bbIou( <BB> dt.data, <BB> gt.data, m, n, <byte*> iscrowd.data, <double*>_iou.data ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:200:29: Python objects cannot be cast to pointers of primitive types Error compiling Cython file: ------------------------------------------------------------ ... raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( <RLE*> dt._R, <RLE*> gt._R, m, n, <byte*> iscrowd.data, <double*> _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): bbIou( <BB> dt.data, <BB> gt.data, m, n, <byte*> iscrowd.data, <double*>_iou.data ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:200:71: Python objects cannot be cast to pointers of primitive types Error compiling Cython file: ------------------------------------------------------------ ... cdef RLEs Rs = _frString(rleObjs) cdef siz n = Rs.n cdef BB _bb = <BB> malloc(4*n* sizeof(double)) rleToBbox( <const RLE*> Rs._R, _bb, n ) cdef np.npy_intp shape[1] shape[0] = <np.npy_intp> 4*n ^ ------------------------------------------------------------ pycocotools/_mask.pyx:248:16: 'npy_intp' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... cdef BB _bb = <BB> malloc(4*n* sizeof(double)) rleToBbox( <const RLE*> Rs._R, _bb, n ) cdef np.npy_intp shape[1] shape[0] = <np.npy_intp> 4*n bb = np.array((1,4*n), dtype=np.double) bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:250:63: Cannot convert 'BB' to Python object Error compiling Cython file: ------------------------------------------------------------ ... return bb def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): cdef siz n = bb.shape[0] Rs = RLEs(n) rleFrBbox( <RLE*> Rs._R, <const BB> bb.data, h, w, n ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:257:29: Python objects cannot be cast to pointers of primitive types Error compiling Cython file: ------------------------------------------------------------ ... cdef np.ndarray[np.double_t, ndim=1] np_poly n = len(poly) Rs = RLEs(n) for i, p in enumerate(poly): np_poly = np.array(p, dtype=np.double, order='F') rleFrPoly( <RLE*>&Rs._R[i], <const double*> np_poly.data, int(len(p)/2), h, w ) ^ ------------------------------------------------------------ pycocotools/_mask.pyx:267:36: Python objects cannot be cast to pointers of primitive types Compiling pycocotools/_mask.pyx because it changed. [1/1] Cythonizing pycocotools/_mask.pyx Traceback (most recent call last): File "/home/dark/anaconda3/envs/horizon_bpu/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/home/dark/anaconda3/envs/horizon_bpu/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/home/dark/anaconda3/envs/horizon_bpu/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel return _build_backend().build_wheel(wheel_directory, config_settings, File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 437, in build_wheel return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)]) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 425, in _build return self._build_with_temp_dir( File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 406, in _build_with_temp_dir self.run_setup() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 319, in run_setup exec(code, locals()) File "<string>", line 19, in <module> File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup return distutils.core.setup(**attrs) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup return run_commands(dist) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands dist.run_commands() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands self.run_command(cmd) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command super().run_command(command) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command cmd_obj.run() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 400, in run self.run_command("build") File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command super().run_command(command) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command cmd_obj.run() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command self.distribution.run_command(command) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command super().run_command(command) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command cmd_obj.run() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 98, in run _build_ext.run(self) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run self.build_extensions() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions self._build_extensions_serial() File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial self.build_extension(ext) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 263, in build_extension _build_ext.build_extension(self, ext) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/Cython/Distutils/build_ext.py", line 131, in build_extension new_ext = cythonize( File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize cythonize_one(*args) File "/tmp/pip-build-env-t9zfrgzs/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1298, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: pycocotools/_mask.pyx [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pycocotools
06-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值