从 powershell 访问 XAMPP mysql

Access XAMPP mysql from powershell

我尝试从 powershell 访问本地 WINDOWS10 上的 XAMPP mysql。 我的 powershell 脚本适用于外部主机上的 mysql 数据库: (隐藏连接名称)

$pass = ConvertTo-SecureString -String "*****" -AsPlainText -Force
$user = "*****"
$cred = New-Object -TypeName 'System.Management.Automation.PSCredential' -ArgumentList $user, $pass
$server = "*****"
Connect-MySqlServer -Credential $cred -ComputerName $server -Database "*****" -Verbose -Debug

用户、密码、数据库正确 我有一个 1 对 1 的网页副本和 XAMPP 上的 mysql,具有相同的表和用户,工作正常。 我设置 bind-address="0.0.0.0"#skip-networking 被注释掉

我为 XAMPP 连接使用哪个服务器名称?我试过“本地主机”和本地IP 错误信息:

Connect-MySqlServer : Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "SSL Connection error."
In Zeile:1 Zeichen:7
+ $C2 = Connect-MySqlServer -Credential $cred -ComputerName "127.0.0.1" ...
+       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Connect-MySqlServer

我建议在您的本地计算机上使用 XAMPP shell。

并写入以下命令(假设您没有自定义默认XAMPP设置)

mysql -u root

安装 MySQL Connector NET 8.0:

后我发现这个脚本对我有用
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$SQLServer = "localhost"
$SQLDBName = "****"
$uid       = "****"
$pwd       = "****"


$Command             = New-Object MySql.Data.MySqlClient.MySqlCommand
$conn                = New-Object MySql.Data.MySqlClient.MySqlConnection("server=$SQLServer;user id=$uid;password=$pwd;database=$SQLDBName;SslMode=None")
$Command.CommandText = "Your SQL query"
$Command.Connection  = $conn

$Command.Connection.Open()
[int]$i = $Command.ExecuteNonQuery()
$Command.Connection.Close()