Powershell操作MySQL


最近再用Python寫一些監控腳本,並將監控數據輸出到MySQL中,最后通過Python抓取MySQL中的數據進行監控匯總告警

考慮到一些微軟產品使用Powershell更為方便,於是找了些資料,嘗試Powershell操作M有SQL的可能性,方法如下:

 

在使用Powershell操作MySQL之前,我們需要下載MySQL Connector/NET(Connector/NET is a fully-managed ADO.NET driver for MySQL)

目前最新版本為:8.0.12,下載連接https://dev.mysql.com/downloads/connector/net/

下載后得到msi,安裝路徑:C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.12\Assemblies\v4.5.2\MySql.Data.dll,我們主要就是

使用這個dll文件,將其copy出來,放到腳本服務器上。

 

然后,我們通過System.Reflection中的Assembly Class來加載,操作程序集(MySql.Data.dll),核心代碼(紅色字體需自定義):

$mySQLDataDLL = "C:\mysql\MySql.Data.dll"  #dll文件的絕對路徑
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
[void][system.reflection.Assembly]::LoadFrom($mySQLDataDLL)
 
#連接MySQL
$Server = " xxx.xxx.xxx.xxx"                        #IP地址
$Database = " database name"                   
$user = " username"
$Password = " xxxxxxx"
$charset = "utf8"
$connectionString = "server=$Server;uid=$user;pwd=$Password;database=$Database;charset=$charset;SslMode=none"
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)
$connection.Open()
 
#執行MySQL
$insert = "INSERT INTO Tables Name ( 依據表結構) VALUES(xxxxxxxxx);"
$insertcommand = New-Object MySql.Data.MySqlClient.MySqlCommand
$insertcommand.Connection = $connection
$insertcommand.CommandText = $insert
$insertcommand.executenonquery()
 
#關閉連接
$connection.Close()
 
執行后,我們查看一下MySQL中是否有新數據
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM