經常研發忘記提交資料庫更新指令碼,寫了手動指令碼同步,輸入表名和列名即可把研發新增的列同步到測試庫
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import mysqldb
class addcolumn():
#從研發環境查詢列的型別和長度
def querycolumn(self, colnum, tablename,dbname):
queryc = mysqldb.connect(
host='192.168.20.151',
port=3306,
user='root',
passwd='111111',
db='information_schema',
)curl = queryc.cursor()
curl.execute("select column_type from columns where table_name="+"'"+tablename+"'"+"and column_name=" +"'"+ colnum +"'"+ "and table_schema="+"'"+dbname+"'")
result = curl.fetchone();
return result
#拼接生成執行的sql語句
def addc(self):
tablename = raw_input("enter tablename: ")
column = raw_input("enter column: ")
result=self.querycolumn(column, tablename, 'zlax_business')
type = result[0]
#length = result[1]
#length=bytes(length)
type = bytes(type)
#print 'alter table '+tablename+' add column '+column+' '+type+';'
return 'alter table '+tablename+' add column '+column+' '+type+';'
#執行更新語句到測試庫
def conn(self,sqlstr):
conn = mysqldb.connect(
host='192.168.20.155',
port=3306,
user='test',
passwd='test123',
db='zlax_test',
)cur = conn.cursor()
cur.execute(sqlstr)
#寫sql更新語句到檔案中
def writelog(self,filename):
logconent=self.addc()
file_object = open(filename, 'a')
file_object.write(logconent)
file_object.close()
return logconent
if __name__=="__main__":
a=addcolumn()
sqlstr = a.writelog('e://update_sql0310..txt')
a.conn(sqlstr)
不需手動鎖表同步mysql資料庫
不需手動鎖表同步 mysql 資料庫確保系統安裝有perl dbd mysql yum install perl dbd mysql 安裝xtrabackup wget 執行 rpm ivh percona xtrabackup 2.0.7 552.rhel5.x86 64.rpm 很容易就安裝好所...
mysql 手動安裝 手動安裝MySQL8 0
首先跟大家嘮一嘮家常,隨著mysql迅速的更新,mysql突飛猛進已經更新到了8.0版本,那麼它和我們之前用的5.x版本有什麼明顯的區別那?首先給大家看下mysql5.x自帶表的查詢速度 之後獻上mysql8.0的自帶表的查詢速度 一樣的資料結果顯而易見,mysql8.0的坑我是走了個遍,為了讓大家...
手動匯入mysql
命令列匯出資料庫 1,進入mysql目錄下的bin資料夾 cd mysql中到bin資料夾的目錄 如我輸入的命令列 cd c program files mysql mysql server 4.1 bin 2,匯出資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 如我輸入的命令...