初始化询价智能体新仓:同步本地工程并排除密钥与 .env。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# Step1: verify/fix local MySQL root + create inquiry_robot; smoke 127 and intranet.
|
||||
$ErrorActionPreference = "Continue"
|
||||
$mysql = "C:\yutongda\tools\mysql-8.0.39-winx64\bin\mysql.exe"
|
||||
$ops = "E:\wwwroot\ops"
|
||||
$sec = Get-Content "$ops\inquiry_robot_db_secrets.json" -Raw | ConvertFrom-Json
|
||||
$mysqlPass = [string]$sec.mysql_password
|
||||
$intranet = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -like '10.*' } | Select-Object -First 1 -ExpandProperty IPAddress)
|
||||
Write-Output ("intranet=" + $intranet)
|
||||
|
||||
function Mysql-Ok([string]$h, [string]$u, [string]$p, [string]$db) {
|
||||
$a = New-Object System.Collections.Generic.List[string]
|
||||
[void]$a.Add("-h$h"); [void]$a.Add("-P3306"); [void]$a.Add("-u$u"); [void]$a.Add("-p$p")
|
||||
[void]$a.Add("--connect-timeout=8"); [void]$a.Add("--batch"); [void]$a.Add("-N")
|
||||
if ($db) { [void]$a.Add($db) }
|
||||
[void]$a.Add("-e"); [void]$a.Add("SELECT 1")
|
||||
$out = & $mysql $a.ToArray() 2>&1
|
||||
$text = ($out | ForEach-Object {"$_"}) -join "`n"
|
||||
if ($text -match "ERROR") { return $false }
|
||||
$lines = $out | ForEach-Object {"$_".Trim()} | Where-Object { $_ -ne "" -and $_ -notmatch "Warning" }
|
||||
return ($lines -contains "1")
|
||||
}
|
||||
|
||||
$rootPass = $null
|
||||
$sources = @()
|
||||
if (Test-Path "$ops\local_mysql_root_secret.json") {
|
||||
$sources += ,[pscustomobject]@{n="json"; p=[string](Get-Content "$ops\local_mysql_root_secret.json" -Raw | ConvertFrom-Json).root_password}
|
||||
}
|
||||
if (Test-Path "$ops\.mysql_root_stash.tmp") {
|
||||
$sources += ,[pscustomobject]@{n="stash"; p=(Get-Content "$ops\.mysql_root_stash.tmp" -Raw).Trim()}
|
||||
}
|
||||
|
||||
foreach ($s in $sources) {
|
||||
Write-Output ("try_root src=$($s.n) len=$($s.p.Length)")
|
||||
if (Mysql-Ok "127.0.0.1" "root" $s.p $null) {
|
||||
$rootPass = $s.p
|
||||
Write-Output "ROOT_OK_127"
|
||||
break
|
||||
}
|
||||
if (Mysql-Ok "localhost" "root" $s.p $null) {
|
||||
$rootPass = $s.p
|
||||
Write-Output "ROOT_OK_LOCALHOST"
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if (-not $rootPass) {
|
||||
Write-Output "ROOT_FAIL; check service and redo skip-grant"
|
||||
Get-Service YTD-MySQL | Format-List Name,Status | Out-String | Write-Output
|
||||
# show bind
|
||||
Select-String -Path "C:\yutongda\tools\mysql-8.0.39-winx64\my.ini" -Pattern "bind-address|port=" | ForEach-Object { $_.Line }
|
||||
exit 2
|
||||
}
|
||||
|
||||
$sql = @"
|
||||
CREATE DATABASE IF NOT EXISTS ``inquiry_robot`` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE USER IF NOT EXISTS 'inquiry_robot'@'%' IDENTIFIED BY '$mysqlPass';
|
||||
CREATE USER IF NOT EXISTS 'inquiry_robot'@'localhost' IDENTIFIED BY '$mysqlPass';
|
||||
CREATE USER IF NOT EXISTS 'inquiry_robot'@'127.0.0.1' IDENTIFIED BY '$mysqlPass';
|
||||
CREATE USER IF NOT EXISTS 'inquiry_robot'@'$intranet' IDENTIFIED BY '$mysqlPass';
|
||||
ALTER USER 'inquiry_robot'@'%' IDENTIFIED BY '$mysqlPass';
|
||||
ALTER USER 'inquiry_robot'@'localhost' IDENTIFIED BY '$mysqlPass';
|
||||
ALTER USER 'inquiry_robot'@'127.0.0.1' IDENTIFIED BY '$mysqlPass';
|
||||
ALTER USER 'inquiry_robot'@'$intranet' IDENTIFIED BY '$mysqlPass';
|
||||
GRANT ALL PRIVILEGES ON ``inquiry_robot``.* TO 'inquiry_robot'@'%';
|
||||
GRANT ALL PRIVILEGES ON ``inquiry_robot``.* TO 'inquiry_robot'@'localhost';
|
||||
GRANT ALL PRIVILEGES ON ``inquiry_robot``.* TO 'inquiry_robot'@'127.0.0.1';
|
||||
GRANT ALL PRIVILEGES ON ``inquiry_robot``.* TO 'inquiry_robot'@'$intranet';
|
||||
FLUSH PRIVILEGES;
|
||||
SELECT 'mysql_ok' AS s;
|
||||
"@
|
||||
$sqlPath = "$ops\sql\_run_ir_mysql.sql"
|
||||
Set-Content $sqlPath -Value $sql -Encoding ascii
|
||||
$o = & $mysql -h127.0.0.1 -P3306 -uroot "-p$rootPass" -e "source $($sqlPath -replace '\\','/')" 2>&1 | Out-String
|
||||
Write-Output (($o -split "`r?`n" | Where-Object { $_ -notmatch "password|IDENTIFIED" }) -join "`n")
|
||||
Remove-Item $sqlPath -Force -EA SilentlyContinue
|
||||
if ($o -notmatch "mysql_ok") { exit 3 }
|
||||
|
||||
Write-Output ("smoke127=" + (Mysql-Ok "127.0.0.1" "inquiry_robot" $mysqlPass "inquiry_robot"))
|
||||
Write-Output ("smokeIntranet=" + (Mysql-Ok $intranet "inquiry_robot" $mysqlPass "inquiry_robot"))
|
||||
Write-Output "MYSQL_STEP_DONE"
|
||||
Reference in New Issue
Block a user