Hi Thomas Spoelstra | OptimaData BV,
I'm glad that you were able to resolve your issue and thank you for posting your solution so that others experiencing the same thing can easily reference this! Since the Microsoft Q&A community has a policy that "The question author cannot accept their own answer. They can only accept answers by others ", I'll repost your solution in case you'd like to accept the answer.
Issue:
We execute a query to retrieve the binary log names using the following statement:
"az mysql flexible-server execute --name $servername --admin-user
"$MySQL_User
" --admin-password"$MySQL_pwd
" --querytext"$query
"
Unfortunately, the default settings for the execute is that it returns only the first 30 rows of the resultset, see below:
Successfully connected to <redacted>. Ran Database Query: 'SHOW BINARY LOGS;' Retrieving first 30 rows of query output, if applicable. Closed the connection to <redacted>
This causes issues for us and we would like advice as to how to configure the CLI to return ALL the rows in a resultset, and not limit to the default of 30 rows.
Solution:
I resolved the issue by NOT using the "azure mysql flexible server execute ..." but used a native MySQL client which allowed me to get all rows, code snippet below. This is most likely not the most elegant solution but it worked for me:
$query="SHOW BINARY LOGS;"
$myxml=$(mysql -h $serverFQDN -P 3306 -u $MySQL_User -p"$MySQL_pwd" -N --silent --xml -e "$query")
Clear-Content -Path $tempXMLFile
Add-Content -Path $tempXMLFile -Value $myxml
[xml]$xml = get-content -Path $tempXMLFile
$logNamesArray = @()
foreach ($row in $xml.resultset.row) {
$logName = $row.field | Where-Object { $_.name -eq "Log_name" }
$logNamesArray += $logName.'#text'
}
If I missed anything please let me know and I'd be happy to add it to my answer, or feel free to comment below with any additional information.
Hope this helps. Do let us know if you have any further queries.
If this answers your query, do click Accept Answer
and Yes
for was this answer helpful. And, if you have any further query do let us know.