Доступ к XAMPP mysql из powershell

#mysql #powershell #xampp

Вопрос:

Я пытаюсь получить доступ к mysql XAMPP в моем локальном WINDOWS10 из powershell. Мой скрипт 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 и mysql на XAMPP с одинаковыми таблицами и пользователями, которая отлично работает.
Я установил
bind-address="0.0.0.0"
и
#skip-networking
закомментирован

Какое имя сервера я использую для подключения XAMPP? Я попробовал «localhost» и получил сообщение об ошибке локального 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
 

Ответ №1:

Я обнаружил, что этот скрипт работает для меня после установки 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()
 

Ответ №2:

Я бы рекомендовал вместо этого использовать оболочку XAMPP на вашем локальном компьютере. Скриншот панели управления XAMPP

И напишите следующую команду (при условии, что вы не настроили параметры XAMPP по умолчанию)

 mysql -u root
 

Комментарии:

1. Спасибо за это предложение , работает для работы с базой данных, но у меня есть более сложная процедура powershell, в которой я хотел бы использовать результат запросов.