#!/usr/bin/env python
#! _*_ coding:utf-8 _*_
#注:多实例DB数据,my.conf,sock文件目录要统一
#每个实例要建有shutdown权限mt_user用户
import os,sys
import socket
myd = '/usr/local/mysql/bin/mysqld'#1
myadmin = '/usr/local/mysql/bin/mysqladmin'
m_user = 'root'
m_password = 'exsddb'
def IsOpen(ip,port):
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((ip,int(port)))
s.shutdown(2)
return True
except:
return False
result = IsOpen('127.0.0.1',sys.argv[2])#2
# #1到#2 是判断传入的第二个变量(端口)有没有起动
if sys.argv[1] == 'start': #判断第一个变量是否等于start
if result: #判断端口启动就打印下面的文字
print('Sorry that the port is occupied!')
else: #如果没有启动这个端口那么可以 启动数据库
os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'restart':
os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
os.system('sleep 2')
os.system(myd+ ' --defaults-file=/data/mysql/mysql'+sys.argv[2]+'/my.cnf&')
elif sys.argv[1] == 'stop':
os.system('%s -u%s -p%s -S /tmp/mysql%s.sock shutdown' %(myadmin,m_user,m_password,sys.argv[2]))
else: #判断如果输入错误的操作命令,报下面的文字
print('Please enter ===python %s start+port or restart+port or stop+port===' %sys.argv[0])
#@_@ 欢迎交流!联系人 广西宾阳 阿桂 qq149951292