2026-05-05T08:19:15.1635493Z Current runner version: '2.334.0'
2026-05-05T08:19:15.1660404Z ##[group]Runner Image Provisioner
2026-05-05T08:19:15.1661244Z Hosted Compute Agent
2026-05-05T08:19:15.1661762Z Version: 20260213.493
2026-05-05T08:19:15.1662526Z Commit: 5c115507f6dd24b8de37d8bbe0bb4509d0cc0fa3
2026-05-05T08:19:15.1663172Z Build Date: 2026-02-13T00:28:41Z
2026-05-05T08:19:15.1663801Z Worker ID: {5c79794b-738f-42f0-bbd4-b28f4bd43ac9}
2026-05-05T08:19:15.1664516Z Azure Region: westus
2026-05-05T08:19:15.1665060Z ##[endgroup]
2026-05-05T08:19:15.1666455Z ##[group]Operating System
2026-05-05T08:19:15.1667148Z Ubuntu
2026-05-05T08:19:15.1667612Z 22.04.5
2026-05-05T08:19:15.1668026Z LTS
2026-05-05T08:19:15.1668887Z ##[endgroup]
2026-05-05T08:19:15.1669374Z ##[group]Runner Image
2026-05-05T08:19:15.1669923Z Image: ubuntu-22.04
2026-05-05T08:19:15.1670449Z Version: 20260413.88.1
2026-05-05T08:19:15.1671709Z Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20260413.88/images/ubuntu/Ubuntu2204-Readme.md
2026-05-05T08:19:15.1673263Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20260413.88
2026-05-05T08:19:15.1674155Z ##[endgroup]
2026-05-05T08:19:15.1676854Z ##[group]GITHUB_TOKEN Permissions
2026-05-05T08:19:15.1679614Z Actions: read
2026-05-05T08:19:15.1680186Z ArtifactMetadata: read
2026-05-05T08:19:15.1680888Z Attestations: read
2026-05-05T08:19:15.1681386Z Checks: read
2026-05-05T08:19:15.1681904Z Contents: read
2026-05-05T08:19:15.1682450Z Deployments: read
2026-05-05T08:19:15.1682953Z Discussions: read
2026-05-05T08:19:15.1683473Z Issues: read
2026-05-05T08:19:15.1683902Z Metadata: read
2026-05-05T08:19:15.1684474Z Models: read
2026-05-05T08:19:15.1684937Z Packages: read
2026-05-05T08:19:15.1685408Z Pages: read
2026-05-05T08:19:15.1686111Z PullRequests: read
2026-05-05T08:19:15.1686625Z RepositoryProjects: read
2026-05-05T08:19:15.1687193Z SecurityEvents: read
2026-05-05T08:19:15.1687774Z Statuses: read
2026-05-05T08:19:15.1688315Z VulnerabilityAlerts: read
2026-05-05T08:19:15.1689170Z ##[endgroup]
2026-05-05T08:19:15.1691414Z Secret source: None
2026-05-05T08:19:15.1692081Z Prepare workflow directory
2026-05-05T08:19:15.2381087Z Prepare all required actions
2026-05-05T08:19:15.2420452Z Getting action download info
2026-05-05T08:19:15.6503112Z Download action repository 'ansible-community/ansible-test-gh-action@release/v1' (SHA:d3a8ec7a59694e25e210fcd44738910149537f0e)
2026-05-05T08:19:16.3774068Z Getting action download info
2026-05-05T08:19:16.7178203Z Download action repository 'actions/setup-python@v5' (SHA:a26af69be951a213d495a4c3e4e4022e16d87065)
2026-05-05T08:19:16.8426406Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-05-05T08:19:16.8944868Z Download action repository 'codecov/codecov-action@v4.5.0' (SHA:e28ff129e5465c2c0dcc6f003fc735cb6ae0c673)
2026-05-05T08:19:17.2130795Z Download action repository 'test-summary/action@v2' (SHA:31493c76ec9e7aa675f1585d3ed6f1da69269a86)
2026-05-05T08:19:17.4398229Z Download action repository 'irongut/CodeCoverageSummary@v1.3.0' (SHA:51cc3a756ddcd398d447c044c02cb6aa83fdae95)
2026-05-05T08:19:17.7681494Z Complete job name: Integration (Ⓐstable-2.17, DB: mysql 8.4.1, connector: pymysql 0.9.3)
2026-05-05T08:19:17.8087054Z ##[group]Pull down action image 'ghcr.io/irongut/codecoveragesummary:v1.3.0'
2026-05-05T08:19:17.8099310Z ##[command]/usr/bin/docker pull ghcr.io/irongut/codecoveragesummary:v1.3.0
2026-05-05T08:19:20.1889964Z v1.3.0: Pulling from irongut/codecoveragesummary
2026-05-05T08:19:20.1911717Z 461246efe0a7: Pulling fs layer
2026-05-05T08:19:20.1912114Z 2b6a8a95a1cb: Pulling fs layer
2026-05-05T08:19:20.1912502Z e6a21b009eab: Pulling fs layer
2026-05-05T08:19:20.1913007Z 8cb016ebfcfd: Pulling fs layer
2026-05-05T08:19:20.1913355Z 0bb6d273d261: Pulling fs layer
2026-05-05T08:19:20.1913786Z d789d311e9d4: Pulling fs layer
2026-05-05T08:19:20.1914168Z 0bb6d273d261: Waiting
2026-05-05T08:19:20.1914503Z d789d311e9d4: Waiting
2026-05-05T08:19:20.1914705Z 8cb016ebfcfd: Waiting
2026-05-05T08:19:20.4132034Z 2b6a8a95a1cb: Verifying Checksum
2026-05-05T08:19:20.4133377Z 2b6a8a95a1cb: Download complete
2026-05-05T08:19:20.4650912Z e6a21b009eab: Verifying Checksum
2026-05-05T08:19:20.4651805Z e6a21b009eab: Download complete
2026-05-05T08:19:20.4783441Z 461246efe0a7: Download complete
2026-05-05T08:19:20.5890904Z 8cb016ebfcfd: Verifying Checksum
2026-05-05T08:19:20.5891551Z 8cb016ebfcfd: Download complete
2026-05-05T08:19:20.6474026Z 0bb6d273d261: Verifying Checksum
2026-05-05T08:19:20.6476203Z 0bb6d273d261: Download complete
2026-05-05T08:19:20.6486431Z d789d311e9d4: Verifying Checksum
2026-05-05T08:19:20.6487266Z d789d311e9d4: Download complete
2026-05-05T08:19:21.7348074Z 461246efe0a7: Pull complete
2026-05-05T08:19:22.1158067Z 2b6a8a95a1cb: Pull complete
2026-05-05T08:19:22.5104085Z e6a21b009eab: Pull complete
2026-05-05T08:19:22.5207831Z 8cb016ebfcfd: Pull complete
2026-05-05T08:19:22.5360663Z 0bb6d273d261: Pull complete
2026-05-05T08:19:22.5508261Z d789d311e9d4: Pull complete
2026-05-05T08:19:22.5548983Z Digest: sha256:daebdede906ca84788b94378a1504a88d38621198d3836df24d60d6215e64a86
2026-05-05T08:19:22.5565646Z Status: Downloaded newer image for ghcr.io/irongut/codecoveragesummary:v1.3.0
2026-05-05T08:19:22.5577121Z ghcr.io/irongut/codecoveragesummary:v1.3.0
2026-05-05T08:19:22.5607495Z ##[endgroup]
2026-05-05T08:19:22.5673343Z ##[group]Checking docker version
2026-05-05T08:19:22.5684942Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}'
2026-05-05T08:19:22.5891764Z '1.48'
2026-05-05T08:19:22.5910883Z Docker daemon API version: '1.48'
2026-05-05T08:19:22.5911449Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}'
2026-05-05T08:19:22.6080953Z '1.48'
2026-05-05T08:19:22.6094788Z Docker client API version: '1.48'
2026-05-05T08:19:22.6100936Z ##[endgroup]
2026-05-05T08:19:22.6103563Z ##[group]Clean up resources from previous jobs
2026-05-05T08:19:22.6109073Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=2ed7c7"
2026-05-05T08:19:22.6280144Z ##[command]/usr/bin/docker network prune --force --filter "label=2ed7c7"
2026-05-05T08:19:22.6412384Z ##[endgroup]
2026-05-05T08:19:22.6412652Z ##[group]Create local container network
2026-05-05T08:19:22.6422540Z ##[command]/usr/bin/docker network create --label 2ed7c7 github_network_20b2a572b87e41b8bff631600483d1a5
2026-05-05T08:19:22.6899285Z 44ad096cd0c8845a1567990c6c7486bac3a35ed00c4769bd203007ade7bcd4fd
2026-05-05T08:19:22.6921323Z ##[endgroup]
2026-05-05T08:19:22.6945578Z ##[group]Starting db_primary service container
2026-05-05T08:19:22.6963364Z ##[command]/usr/bin/docker pull docker.io/library/mysql:8.4.1
2026-05-05T08:19:23.5817922Z 8.4.1: Pulling from library/mysql
2026-05-05T08:19:23.8461907Z d9a40b27c30f: Pulling fs layer
2026-05-05T08:19:23.8462727Z 0884eb52caa1: Pulling fs layer
2026-05-05T08:19:23.8464208Z 1ac6a5ce968b: Pulling fs layer
2026-05-05T08:19:23.8471287Z eafccfd1ea14: Pulling fs layer
2026-05-05T08:19:23.8471734Z 07f31d458926: Pulling fs layer
2026-05-05T08:19:23.8472116Z bb267397cdb8: Pulling fs layer
2026-05-05T08:19:23.8472497Z 2e814f97a767: Pulling fs layer
2026-05-05T08:19:23.8472889Z 561a8701e050: Pulling fs layer
2026-05-05T08:19:23.8473226Z 2edc5153293f: Pulling fs layer
2026-05-05T08:19:23.8473573Z b61d8daaaa46: Pulling fs layer
2026-05-05T08:19:23.8473932Z 2e814f97a767: Waiting
2026-05-05T08:19:23.8474286Z eafccfd1ea14: Waiting
2026-05-05T08:19:23.8474599Z 561a8701e050: Waiting
2026-05-05T08:19:23.8474921Z 2edc5153293f: Waiting
2026-05-05T08:19:23.8475219Z 07f31d458926: Waiting
2026-05-05T08:19:23.8475518Z bb267397cdb8: Waiting
2026-05-05T08:19:23.8475825Z b61d8daaaa46: Waiting
2026-05-05T08:19:24.0988688Z 0884eb52caa1: Verifying Checksum
2026-05-05T08:19:24.0989845Z 0884eb52caa1: Download complete
2026-05-05T08:19:24.1000248Z 1ac6a5ce968b: Verifying Checksum
2026-05-05T08:19:24.1000767Z 1ac6a5ce968b: Download complete
2026-05-05T08:19:24.2350910Z d9a40b27c30f: Verifying Checksum
2026-05-05T08:19:24.2351361Z d9a40b27c30f: Download complete
2026-05-05T08:19:24.3330257Z 07f31d458926: Verifying Checksum
2026-05-05T08:19:24.3331116Z 07f31d458926: Download complete
2026-05-05T08:19:24.3744923Z eafccfd1ea14: Verifying Checksum
2026-05-05T08:19:24.3746430Z eafccfd1ea14: Download complete
2026-05-05T08:19:24.4941745Z bb267397cdb8: Verifying Checksum
2026-05-05T08:19:24.4942305Z bb267397cdb8: Download complete
2026-05-05T08:19:24.6138030Z 561a8701e050: Verifying Checksum
2026-05-05T08:19:24.6138670Z 561a8701e050: Download complete
2026-05-05T08:19:24.7589365Z 2e814f97a767: Verifying Checksum
2026-05-05T08:19:24.7591198Z 2e814f97a767: Download complete
2026-05-05T08:19:24.8486083Z b61d8daaaa46: Verifying Checksum
2026-05-05T08:19:24.8486602Z b61d8daaaa46: Download complete
2026-05-05T08:19:24.9593397Z 2edc5153293f: Verifying Checksum
2026-05-05T08:19:24.9593872Z 2edc5153293f: Download complete
2026-05-05T08:19:25.5042182Z d9a40b27c30f: Pull complete
2026-05-05T08:19:25.8308891Z 0884eb52caa1: Pull complete
2026-05-05T08:19:25.8558520Z 1ac6a5ce968b: Pull complete
2026-05-05T08:19:26.0739180Z eafccfd1ea14: Pull complete
2026-05-05T08:19:26.0833592Z 07f31d458926: Pull complete
2026-05-05T08:19:26.0945768Z bb267397cdb8: Pull complete
2026-05-05T08:19:26.8692875Z 2e814f97a767: Pull complete
2026-05-05T08:19:26.8800491Z 561a8701e050: Pull complete
2026-05-05T08:19:32.7121996Z 2edc5153293f: Pull complete
2026-05-05T08:19:32.7225719Z b61d8daaaa46: Pull complete
2026-05-05T08:19:32.7269229Z Digest: sha256:a7dc4a4e07a9c5d53c0cf36b5b4e8a1b3bb677cb0d544256a0581114a93ddf0f
2026-05-05T08:19:32.7279256Z Status: Downloaded newer image for mysql:8.4.1
2026-05-05T08:19:32.7289184Z docker.io/library/mysql:8.4.1
2026-05-05T08:19:32.7354079Z ##[command]/usr/bin/docker create --name 2b3e3cbe28b740b0b31562e04f09880e_dockeriolibrarymysql841_adf9be --label 2ed7c7 --network github_network_20b2a572b87e41b8bff631600483d1a5 --network-alias db_primary -p 3307:3306 --health-cmd "mysqladmin ping -P 3306 -pmsandbox |grep alive || exit 1" --health-start-period 10s --health-interval 10s --health-timeout 5s --health-retries 6 -e "MARIADB_ROOT_PASSWORD=msandbox" -e "MYSQL_ROOT_PASSWORD=msandbox" -e GITHUB_ACTIONS=true -e CI=true docker.io/library/mysql:8.4.1
2026-05-05T08:19:32.7620051Z 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:32.7646805Z ##[command]/usr/bin/docker start 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:33.2864601Z 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:33.2889326Z ##[command]/usr/bin/docker ps --all --filter id=7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
2026-05-05T08:19:33.3029568Z 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca Up Less than a second (health: starting)
2026-05-05T08:19:33.3053295Z ##[command]/usr/bin/docker port 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:33.3196001Z 3306/tcp -> 0.0.0.0:3307
2026-05-05T08:19:33.3196431Z 3306/tcp -> [::]:3307
2026-05-05T08:19:33.3253354Z ##[endgroup]
2026-05-05T08:19:33.3254777Z ##[group]Starting db_replica1 service container
2026-05-05T08:19:33.3255507Z ##[command]/usr/bin/docker pull docker.io/library/mysql:8.4.1
2026-05-05T08:19:33.9157969Z 8.4.1: Pulling from library/mysql
2026-05-05T08:19:33.9217830Z Digest: sha256:a7dc4a4e07a9c5d53c0cf36b5b4e8a1b3bb677cb0d544256a0581114a93ddf0f
2026-05-05T08:19:33.9218818Z Status: Image is up to date for mysql:8.4.1
2026-05-05T08:19:33.9224413Z docker.io/library/mysql:8.4.1
2026-05-05T08:19:33.9246949Z ##[command]/usr/bin/docker create --name 633269fc0ac840868b2620937585277a_dockeriolibrarymysql841_7623d4 --label 2ed7c7 --network github_network_20b2a572b87e41b8bff631600483d1a5 --network-alias db_replica1 -p 3308:3306 --health-cmd "mysqladmin ping -P 3306 -pmsandbox |grep alive || exit 1" --health-start-period 10s --health-interval 10s --health-timeout 5s --health-retries 6 -e "MARIADB_ROOT_PASSWORD=msandbox" -e "MYSQL_ROOT_PASSWORD=msandbox" -e GITHUB_ACTIONS=true -e CI=true docker.io/library/mysql:8.4.1
2026-05-05T08:19:33.9549914Z e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:33.9567197Z ##[command]/usr/bin/docker start e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:34.1284592Z e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:34.1311141Z ##[command]/usr/bin/docker ps --all --filter id=e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
2026-05-05T08:19:34.1489523Z e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee Up Less than a second (health: starting)
2026-05-05T08:19:34.1506574Z ##[command]/usr/bin/docker port e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:34.1686895Z 3306/tcp -> 0.0.0.0:3308
2026-05-05T08:19:34.1687731Z 3306/tcp -> [::]:3308
2026-05-05T08:19:34.1707337Z ##[endgroup]
2026-05-05T08:19:34.1709768Z ##[group]Starting db_replica2 service container
2026-05-05T08:19:34.1711014Z ##[command]/usr/bin/docker pull docker.io/library/mysql:8.4.1
2026-05-05T08:19:34.7874591Z 8.4.1: Pulling from library/mysql
2026-05-05T08:19:34.7930609Z Digest: sha256:a7dc4a4e07a9c5d53c0cf36b5b4e8a1b3bb677cb0d544256a0581114a93ddf0f
2026-05-05T08:19:34.7933077Z Status: Image is up to date for mysql:8.4.1
2026-05-05T08:19:34.7939904Z docker.io/library/mysql:8.4.1
2026-05-05T08:19:34.7968619Z ##[command]/usr/bin/docker create --name 6e357d9614054040a4669e253d593165_dockeriolibrarymysql841_c0f861 --label 2ed7c7 --network github_network_20b2a572b87e41b8bff631600483d1a5 --network-alias db_replica2 -p 3309:3306 --health-cmd "mysqladmin ping -P 3306 -pmsandbox |grep alive || exit 1" --health-start-period 10s --health-interval 10s --health-timeout 5s --health-retries 6 -e "MARIADB_ROOT_PASSWORD=msandbox" -e "MYSQL_ROOT_PASSWORD=msandbox" -e GITHUB_ACTIONS=true -e CI=true docker.io/library/mysql:8.4.1
2026-05-05T08:19:34.8362449Z e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:34.8390090Z ##[command]/usr/bin/docker start e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:35.0291722Z e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:35.0321763Z ##[command]/usr/bin/docker ps --all --filter id=e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
2026-05-05T08:19:35.0527539Z e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed Up Less than a second (health: starting)
2026-05-05T08:19:35.0557383Z ##[command]/usr/bin/docker port e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:35.0795979Z 3306/tcp -> 0.0.0.0:3309
2026-05-05T08:19:35.0796460Z 3306/tcp -> [::]:3309
2026-05-05T08:19:35.0798312Z ##[endgroup]
2026-05-05T08:19:35.0814039Z ##[group]Waiting for all services to be ready
2026-05-05T08:19:35.0836332Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:35.1080435Z starting
2026-05-05T08:19:35.1109383Z db_primary service is starting, waiting 2 seconds before checking again.
2026-05-05T08:19:37.1120795Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:37.1332785Z starting
2026-05-05T08:19:37.1350828Z db_primary service is starting, waiting 3 seconds before checking again.
2026-05-05T08:19:40.8707566Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:40.8943582Z starting
2026-05-05T08:19:40.8980891Z db_primary service is starting, waiting 7 seconds before checking again.
2026-05-05T08:19:48.6681587Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:48.6826465Z healthy
2026-05-05T08:19:48.6849300Z db_primary service is healthy.
2026-05-05T08:19:48.6850176Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:48.6974775Z healthy
2026-05-05T08:19:48.6987928Z db_replica1 service is healthy.
2026-05-05T08:19:48.6988984Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:48.7106263Z healthy
2026-05-05T08:19:48.7119509Z db_replica2 service is healthy.
2026-05-05T08:19:48.7120311Z ##[endgroup]
2026-05-05T08:19:48.7332754Z ##[group]Run db_ver="8.4.1"
2026-05-05T08:19:48.7333076Z ␛[36;1mdb_ver="8.4.1"␛[0m
2026-05-05T08:19:48.7333280Z ␛[36;1mmaj="${db_ver%.*.*}"␛[0m
2026-05-05T08:19:48.7333526Z ␛[36;1mmaj_min="${db_ver%.*}"␛[0m
2026-05-05T08:19:48.7333747Z ␛[36;1mmin="${maj_min#*.}"␛[0m
2026-05-05T08:19:48.7334063Z ␛[36;1mif [[ "mysql" == "mysql" && "$maj" -eq 8 && "$min" -ge 2 ]]; then␛[0m
2026-05-05T08:19:48.7334870Z ␛[36;1m  prima_conf='[mysqld]\\nserver-id=1\\nlog-bin=/var/lib/mysql/primary-bin\\nmysql-native-***'␛[0m
2026-05-05T08:19:48.7335896Z ␛[36;1m  repl1_conf='[mysqld]\\nserver-id=2\\nlog-bin=/var/lib/mysql/replica1-bin\\nmysql-native-***'␛[0m
2026-05-05T08:19:48.7336573Z ␛[36;1m  repl2_conf='[mysqld]\\nserver-id=3\\nlog-bin=/var/lib/mysql/replica2-bin\\nmysql-native-***'␛[0m
2026-05-05T08:19:48.7336985Z ␛[36;1melse␛[0m
2026-05-05T08:19:48.7337283Z ␛[36;1m  prima_conf='[mysqld]\\nserver-id=1\\nlog-bin=/var/lib/mysql/primary-bin'␛[0m
2026-05-05T08:19:48.7337800Z ␛[36;1m  repl1_conf='[mysqld]\\nserver-id=2\\nlog-bin=/var/lib/mysql/replica1-bin'␛[0m
2026-05-05T08:19:48.7338269Z ␛[36;1m  repl2_conf='[mysqld]\\nserver-id=3\\nlog-bin=/var/lib/mysql/replica2-bin'␛[0m
2026-05-05T08:19:48.7338861Z ␛[36;1mfi␛[0m
2026-05-05T08:19:48.7339483Z ␛[36;1mdocker exec -e cnf=$prima_conf 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca bash -c 'echo -e ${cnf//\\n/\n} > /etc/mysql/conf.d/replication.cnf'␛[0m
2026-05-05T08:19:48.7340584Z ␛[36;1mdocker exec -e cnf=$repl1_conf e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee bash -c 'echo -e ${cnf//\\n/\n} > /etc/mysql/conf.d/replication.cnf'␛[0m
2026-05-05T08:19:48.7341663Z ␛[36;1mdocker exec -e cnf=$repl2_conf e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed bash -c 'echo -e ${cnf//\\n/\n} > /etc/mysql/conf.d/replication.cnf'␛[0m
2026-05-05T08:19:48.7342499Z ␛[36;1mdocker restart -t 30 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca␛[0m
2026-05-05T08:19:48.7343084Z ␛[36;1mdocker restart -t 30 e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee␛[0m
2026-05-05T08:19:48.7343656Z ␛[36;1mdocker restart -t 30 e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed␛[0m
2026-05-05T08:19:48.7411169Z shell: /usr/bin/bash -e {0}
2026-05-05T08:19:48.7411955Z ##[endgroup]
2026-05-05T08:19:49.7516169Z 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:19:50.8135618Z e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:19:51.7330179Z e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:19:51.7432813Z ##[group]Run while ! /usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca | grep healthy && [[ "$SECONDS" -lt 120 ]]; do sleep 1; done
2026-05-05T08:19:51.7435198Z ␛[36;1mwhile ! /usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca | grep healthy && [[ "$SECONDS" -lt 120 ]]; do sleep 1; done␛[0m
2026-05-05T08:19:51.7493576Z shell: /usr/bin/bash -e {0}
2026-05-05T08:19:51.7494020Z ##[endgroup]
2026-05-05T08:19:54.8253266Z healthy
2026-05-05T08:19:54.8770731Z ##[group]Run ansible-community/ansible-test-gh-action@release/v1
2026-05-05T08:19:54.8771100Z with:
2026-05-05T08:19:54.8771283Z   ansible-core-version: stable-2.17
2026-05-05T08:19:54.8771536Z   docker-image: ubuntu2204
2026-05-05T08:19:54.8773213Z   pre-test-cmd: echo Setting db_engine_name to "mysql"...; echo -n "mysql" > tests/integration/db_engine_name;
echo Setting db_engine_version to \ "8.4.1"...; echo -n "8.4.1" > tests/integration/db_engine_version;
echo Setting Connector name to "pymysql"...; echo -n "pymysql" > tests/integration/connector_name;
echo Setting Connector name to "0.9.3"...; echo -n "0.9.3" > tests/integration/connector_version;
echo Setting Ansible version to "stable-2.17"...; echo -n "stable-2.17" > tests/integration/ansible
2026-05-05T08:19:54.8774909Z   testing-type: integration
2026-05-05T08:19:54.8775131Z   integration-retry-on-error: false
2026-05-05T08:19:54.8775426Z   ansible-core-github-repository-slug: ansible/ansible
2026-05-05T08:19:54.8775789Z   controller-python-version: auto
2026-05-05T08:19:54.8776014Z   collection-root: .
2026-05-05T08:19:54.8776196Z   coverage: auto
2026-05-05T08:19:54.8776385Z   integration-continue-on-error: true
2026-05-05T08:19:54.8776629Z   integration-diff: true
2026-05-05T08:19:54.8776835Z   origin-python-version: auto
2026-05-05T08:19:54.8777084Z   pull-request-change-detection: false
2026-05-05T08:19:54.8777345Z   sanity-allow-disabled: false
2026-05-05T08:19:54.8777554Z ##[endgroup]
2026-05-05T08:19:54.8867895Z ##[group]Run echo ▷ Figuring out the environment Python version...
2026-05-05T08:19:54.8868342Z ␛[36;1mecho ▷ Figuring out the environment Python version...␛[0m
2026-05-05T08:19:54.8926257Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:54.8926607Z ##[endgroup]
2026-05-05T08:19:54.9001479Z ▷ Figuring out the environment Python version...
2026-05-05T08:19:54.9028906Z ##[group]Run # Compute job Python version
2026-05-05T08:19:54.9029253Z ␛[36;1m# Compute job Python version␛[0m
2026-05-05T08:19:54.9029497Z ␛[36;1mimport os␛[0m
2026-05-05T08:19:54.9029689Z ␛[36;1mimport pathlib␛[0m
2026-05-05T08:19:54.9029883Z ␛[36;1mimport sys␛[0m
2026-05-05T08:19:54.9030052Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9030221Z ␛[36;1mFILE_APPEND_MODE = 'a'␛[0m
2026-05-05T08:19:54.9030697Z ␛[36;1mOUTPUTS_FILE_PATH = pathlib.Path(os.environ['GITHUB_OUTPUT'])␛[0m
2026-05-05T08:19:54.9031108Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9031270Z ␛[36;1mdef set_output(name, value):␛[0m
2026-05-05T08:19:54.9031603Z ␛[36;1m    with OUTPUTS_FILE_PATH.open(FILE_APPEND_MODE) as outputs_file:␛[0m
2026-05-05T08:19:54.9032033Z ␛[36;1m        outputs_file.writelines(f'{name}={value}{os.linesep}')␛[0m
2026-05-05T08:19:54.9032343Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9032507Z ␛[36;1m# Input from GHA␛[0m
2026-05-05T08:19:54.9032720Z ␛[36;1morigin_python_version = 'auto'␛[0m
2026-05-05T08:19:54.9032966Z ␛[36;1mold_python_version = ''␛[0m
2026-05-05T08:19:54.9033217Z ␛[36;1mansible_core_version = 'stable-2.17'␛[0m
2026-05-05T08:19:54.9033477Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9033734Z ␛[36;1m# Handle case that deprecated Python version parameter is provided␛[0m
2026-05-05T08:19:54.9034086Z ␛[36;1mif old_python_version:␛[0m
2026-05-05T08:19:54.9034414Z ␛[36;1m    # Check whether the default of origin-python-version was changed␛[0m
2026-05-05T08:19:54.9034782Z ␛[36;1m    if origin_python_version != 'auto':␛[0m
2026-05-05T08:19:54.9035043Z ␛[36;1m        print(␛[0m
2026-05-05T08:19:54.9035323Z ␛[36;1m            '::error ::`python-version` and `origin-python-version` '␛[0m
2026-05-05T08:19:54.9035753Z ␛[36;1m            'cannot both be supplied. Use only `origin-python-version` '␛[0m
2026-05-05T08:19:54.9036150Z ␛[36;1m            'and not its deprecated alias `python-version`.'␛[0m
2026-05-05T08:19:54.9036444Z ␛[36;1m        )␛[0m
2026-05-05T08:19:54.9036630Z ␛[36;1m        sys.exit(1)␛[0m
2026-05-05T08:19:54.9036825Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9037029Z ␛[36;1m    origin_python_version = old_python_version␛[0m
2026-05-05T08:19:54.9037470Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9037804Z ␛[36;1mif origin_python_version == 'auto':␛[0m
2026-05-05T08:19:54.9038132Z ␛[36;1m    # Determine the maximum Python version supported by the␛[0m
2026-05-05T08:19:54.9038639Z ␛[36;1m    # given ansible-core version.␛[0m
2026-05-05T08:19:54.9038892Z ␛[36;1m    python_version_map = {␛[0m
2026-05-05T08:19:54.9039120Z ␛[36;1m        'stable-2.9': (3, 8),␛[0m
2026-05-05T08:19:54.9039351Z ␛[36;1m        'stable-2.10': (3, 9),␛[0m
2026-05-05T08:19:54.9039572Z ␛[36;1m        'stable-2.11': (3, 9),␛[0m
2026-05-05T08:19:54.9039801Z ␛[36;1m        'stable-2.12': (3, 10),␛[0m
2026-05-05T08:19:54.9040024Z ␛[36;1m        'stable-2.13': (3, 10),␛[0m
2026-05-05T08:19:54.9040251Z ␛[36;1m        'stable-2.14': (3, 11),␛[0m
2026-05-05T08:19:54.9040469Z ␛[36;1m        'stable-2.15': (3, 11),␛[0m
2026-05-05T08:19:54.9040765Z ␛[36;1m        'stable-2.16': (3, 12),␛[0m
2026-05-05T08:19:54.9041014Z ␛[36;1m        'stable-2.17': (3, 12),␛[0m
2026-05-05T08:19:54.9041248Z ␛[36;1m        'stable-2.18': (3, 13),␛[0m
2026-05-05T08:19:54.9041476Z ␛[36;1m        'stable-2.19': (3, 13),␛[0m
2026-05-05T08:19:54.9041692Z ␛[36;1m    }␛[0m
2026-05-05T08:19:54.9041902Z ␛[36;1m    python_version_fallback_for_devel = max(␛[0m
2026-05-05T08:19:54.9042206Z ␛[36;1m        set(python_version_map.values()),␛[0m
2026-05-05T08:19:54.9042453Z ␛[36;1m    )␛[0m
2026-05-05T08:19:54.9042694Z ␛[36;1m    origin_python_version_tuple = python_version_map.get(␛[0m
2026-05-05T08:19:54.9043005Z ␛[36;1m        ansible_core_version,␛[0m
2026-05-05T08:19:54.9043271Z ␛[36;1m        # For any non-stable branch, we assume␛[0m
2026-05-05T08:19:54.9043582Z ␛[36;1m        # the latest version supported by 'devel':␛[0m
2026-05-05T08:19:54.9043882Z ␛[36;1m        python_version_fallback_for_devel,␛[0m
2026-05-05T08:19:54.9044132Z ␛[36;1m    )␛[0m
2026-05-05T08:19:54.9044311Z ␛[36;1m    origin_python_version = '.'.join(␛[0m
2026-05-05T08:19:54.9044607Z ␛[36;1m        map(str, origin_python_version_tuple),␛[0m
2026-05-05T08:19:54.9044864Z ␛[36;1m    )␛[0m
2026-05-05T08:19:54.9045024Z ␛[36;1m␛[0m
2026-05-05T08:19:54.9045212Z ␛[36;1m# Set computed origin-python-version␛[0m
2026-05-05T08:19:54.9045560Z ␛[36;1mset_output('origin-python-version', origin_python_version)␛[0m
2026-05-05T08:19:54.9072247Z shell: /usr/bin/python {0}
2026-05-05T08:19:54.9072465Z ##[endgroup]
2026-05-05T08:19:54.9359423Z ##[group]Run echo ▷ Setting job Python to 3.12...
2026-05-05T08:19:54.9359773Z ␛[36;1mecho ▷ Setting job Python to 3.12...␛[0m
2026-05-05T08:19:54.9414788Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:54.9415155Z ##[endgroup]
2026-05-05T08:19:54.9489441Z ▷ Setting job Python to 3.12...
2026-05-05T08:19:54.9556205Z ##[group]Run actions/setup-python@v5
2026-05-05T08:19:54.9556473Z with:
2026-05-05T08:19:54.9556653Z   python-version: 3.12
2026-05-05T08:19:54.9556853Z   check-latest: false
2026-05-05T08:19:54.9557212Z   token: ***
2026-05-05T08:19:54.9557400Z   update-environment: true
2026-05-05T08:19:54.9557632Z   allow-prereleases: false
2026-05-05T08:19:54.9557853Z   freethreaded: false
2026-05-05T08:19:54.9558047Z ##[endgroup]
2026-05-05T08:19:55.1310261Z ##[group]Installed versions
2026-05-05T08:19:55.1743820Z Successfully set up CPython (3.12.13)
2026-05-05T08:19:55.1744720Z ##[endgroup]
2026-05-05T08:19:55.1863808Z ##[group]Run echo ▷ Install Python YAML library
2026-05-05T08:19:55.1864131Z ␛[36;1mecho ▷ Install Python YAML library␛[0m
2026-05-05T08:19:55.1962784Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:55.1963172Z env:
2026-05-05T08:19:55.1963451Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.1963961Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:55.1964445Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.1964887Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.1965324Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.1966101Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:55.1966475Z ##[endgroup]
2026-05-05T08:19:55.2083459Z ▷ Install Python YAML library
2026-05-05T08:19:55.2103076Z ##[group]Run set -x ; python -m pip install PyYAML --disable-pip-version-check --prefer-binary --user ; set +x
2026-05-05T08:19:55.2103793Z ␛[36;1mset -x ; python -m pip install PyYAML --disable-pip-version-check --prefer-binary --user ; set +x␛[0m
2026-05-05T08:19:55.2156001Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:55.2156356Z env:
2026-05-05T08:19:55.2156621Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.2157094Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:55.2157579Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.2158007Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.2158656Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:55.2159167Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:55.2159520Z ##[endgroup]
2026-05-05T08:19:55.2231294Z + python -m pip install PyYAML --disable-pip-version-check --prefer-binary --user
2026-05-05T08:19:57.7038251Z Collecting PyYAML
2026-05-05T08:19:57.7397072Z   Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
2026-05-05T08:19:57.7471819Z Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB)
2026-05-05T08:19:57.7758974Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 73.0 MB/s  0:00:00
2026-05-05T08:19:57.8009188Z Installing collected packages: PyYAML
2026-05-05T08:19:57.8667726Z Successfully installed PyYAML-6.0.3
2026-05-05T08:19:57.9075983Z + set +x
2026-05-05T08:19:57.9123560Z ##[group]Run echo ▷ Compose the ansible-test command line
2026-05-05T08:19:57.9124050Z ␛[36;1mecho ▷ Compose the ansible-test command line␛[0m
2026-05-05T08:19:57.9184194Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:57.9184573Z env:
2026-05-05T08:19:57.9184849Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9185343Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:57.9185843Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9186269Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9186691Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9187126Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:57.9187563Z ##[endgroup]
2026-05-05T08:19:57.9270764Z ▷ Compose the ansible-test command line
2026-05-05T08:19:57.9294583Z ##[group]Run import json
2026-05-05T08:19:57.9295233Z ␛[36;1mimport json␛[0m
2026-05-05T08:19:57.9295414Z ␛[36;1mimport os␛[0m
2026-05-05T08:19:57.9295590Z ␛[36;1mimport pathlib␛[0m
2026-05-05T08:19:57.9295808Z ␛[36;1mimport shlex␛[0m
2026-05-05T08:19:57.9295986Z ␛[36;1mimport sys␛[0m
2026-05-05T08:19:57.9296154Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9296316Z ␛[36;1mFILE_APPEND_MODE = 'a'␛[0m
2026-05-05T08:19:57.9296644Z ␛[36;1mOUTPUTS_FILE_PATH = pathlib.Path(os.environ['GITHUB_OUTPUT'])␛[0m
2026-05-05T08:19:57.9296979Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9297148Z ␛[36;1mdef set_output(name, value):␛[0m
2026-05-05T08:19:57.9297481Z ␛[36;1m    with OUTPUTS_FILE_PATH.open(FILE_APPEND_MODE) as outputs_file:␛[0m
2026-05-05T08:19:57.9297899Z ␛[36;1m        outputs_file.writelines(f'{name}={value}{os.linesep}')␛[0m
2026-05-05T08:19:57.9298221Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9298659Z ␛[36;1m# Input from GHA␛[0m
2026-05-05T08:19:57.9299003Z ␛[36;1mgha_ansible_core_version = os.environ['GHA_ANSIBLE_CORE_VERSION']␛[0m
2026-05-05T08:19:57.9299454Z ␛[36;1mgha_container_network = os.environ['GHA_CONTAINER_NETWORK']␛[0m
2026-05-05T08:19:57.9299805Z ␛[36;1mgha_controller_python_version = (␛[0m
2026-05-05T08:19:57.9300497Z ␛[36;1m    os.environ['GHA_CONTROLLER_PYTHON_VERSION']␛[0m
2026-05-05T08:19:57.9300771Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9300976Z ␛[36;1mgha_coverage = os.environ['GHA_COVERAGE']␛[0m
2026-05-05T08:19:57.9301298Z ␛[36;1mgha_docker_image = os.environ['GHA_DOCKER_IMAGE']␛[0m
2026-05-05T08:19:57.9301638Z ␛[36;1mgha_integration_continue_on_error = json.loads(␛[0m
2026-05-05T08:19:57.9301972Z ␛[36;1m    os.environ['GHA_INTEGRATION_CONTINUE_ON_ERROR']␛[0m
2026-05-05T08:19:57.9302249Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9302438Z ␛[36;1mgha_integration_diff = json.loads(␛[0m
2026-05-05T08:19:57.9302711Z ␛[36;1m    os.environ['GHA_INTEGRATION_DIFF']␛[0m
2026-05-05T08:19:57.9302952Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9303151Z ␛[36;1mgha_integration_retry_on_error = json.loads(␛[0m
2026-05-05T08:19:57.9303469Z ␛[36;1m    os.environ['GHA_INTEGRATION_RETRY_ON_ERROR']␛[0m
2026-05-05T08:19:57.9303733Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9303993Z ␛[36;1mgha_pull_request_branch = os.environ['GHA_PULL_REQUEST_BASE_REF']␛[0m
2026-05-05T08:19:57.9304395Z ␛[36;1mgha_pull_request_change_detection = json.loads(␛[0m
2026-05-05T08:19:57.9304729Z ␛[36;1m    os.environ['GHA_PULL_REQUEST_CHANGE_DETECTION']␛[0m
2026-05-05T08:19:57.9305001Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9305210Z ␛[36;1mgha_sanity_tests = os.environ['GHA_SANITY_TESTS']␛[0m
2026-05-05T08:19:57.9305575Z ␛[36;1mgha_sanity_skip_tests = os.environ['GHA_SANITY_SKIP_TESTS']␛[0m
2026-05-05T08:19:57.9305922Z ␛[36;1mgha_sanity_allow_disabled = json.loads(␛[0m
2026-05-05T08:19:57.9306220Z ␛[36;1m    os.environ['GHA_SANITY_ALLOW_DISABLED']␛[0m
2026-05-05T08:19:57.9306474Z ␛[36;1m) is True␛[0m
2026-05-05T08:19:57.9306686Z ␛[36;1mgha_target = os.environ['GHA_TARGET']␛[0m
2026-05-05T08:19:57.9307067Z ␛[36;1mgha_target_python_version = os.environ['GHA_TARGET_PYTHON_VERSION']␛[0m
2026-05-05T08:19:57.9307484Z ␛[36;1mgha_testing_type = os.environ['GHA_TESTING_TYPE']␛[0m
2026-05-05T08:19:57.9307764Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9307922Z ␛[36;1m# Validate GHA inputs␛[0m
2026-05-05T08:19:57.9308206Z ␛[36;1mif gha_coverage not in {'always', 'never', 'auto'}:␛[0m
2026-05-05T08:19:57.9308731Z ␛[36;1m    print(␛[0m
2026-05-05T08:19:57.9309023Z ␛[36;1m        '::error ::`coverage` must have one of the values `always`,'␛[0m
2026-05-05T08:19:57.9309456Z ␛[36;1m        f' `never`, or `auto`.  The current value is `{gha_coverage}`.'␛[0m
2026-05-05T08:19:57.9309776Z ␛[36;1m    )␛[0m
2026-05-05T08:19:57.9309949Z ␛[36;1m    sys.exit(1)␛[0m
2026-05-05T08:19:57.9310133Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9310308Z ␛[36;1m# Compose ansible-test arguments␛[0m
2026-05-05T08:19:57.9310593Z ␛[36;1mcommand = [gha_testing_type, '-v', '--color']␛[0m
2026-05-05T08:19:57.9310853Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9311063Z ␛[36;1m# Compute coverage and change detection arguments␛[0m
2026-05-05T08:19:57.9311347Z ␛[36;1mhas_change_detection = (␛[0m
2026-05-05T08:19:57.9311667Z ␛[36;1m    gha_pull_request_branch and gha_pull_request_change_detection␛[0m
2026-05-05T08:19:57.9311985Z ␛[36;1m)␛[0m
2026-05-05T08:19:57.9312155Z ␛[36;1mif has_change_detection:␛[0m
2026-05-05T08:19:57.9312387Z ␛[36;1m    if gha_coverage == 'auto':␛[0m
2026-05-05T08:19:57.9312621Z ␛[36;1m        print(␛[0m
2026-05-05T08:19:57.9312883Z ␛[36;1m            'Disabling coverage reporting due to pull request '␛[0m
2026-05-05T08:19:57.9313226Z ␛[36;1m            'change detection being enabled.',␛[0m
2026-05-05T08:19:57.9313479Z ␛[36;1m        )␛[0m
2026-05-05T08:19:57.9313660Z ␛[36;1m        gha_coverage = 'never'␛[0m
2026-05-05T08:19:57.9313896Z ␛[36;1m    command.extend([␛[0m
2026-05-05T08:19:57.9314097Z ␛[36;1m        '--changed',␛[0m
2026-05-05T08:19:57.9314300Z ␛[36;1m        '--base-branch',␛[0m
2026-05-05T08:19:57.9314523Z ␛[36;1m        gha_pull_request_branch,␛[0m
2026-05-05T08:19:57.9314751Z ␛[36;1m    ])␛[0m
2026-05-05T08:19:57.9314941Z ␛[36;1mhas_coverage = gha_coverage != 'never'␛[0m
2026-05-05T08:19:57.9315199Z ␛[36;1mif has_coverage:␛[0m
2026-05-05T08:19:57.9315416Z ␛[36;1m    command.append('--coverage')␛[0m
2026-05-05T08:19:57.9315802Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9316079Z ␛[36;1mif gha_testing_type == 'sanity':␛[0m
2026-05-05T08:19:57.9316324Z ␛[36;1m    command.append('--junit')␛[0m
2026-05-05T08:19:57.9316544Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9316702Z ␛[36;1m    if gha_sanity_tests:␛[0m
2026-05-05T08:19:57.9316960Z ␛[36;1m        for test in gha_sanity_tests.split(','):␛[0m
2026-05-05T08:19:57.9317245Z ␛[36;1m            command.extend([␛[0m
2026-05-05T08:19:57.9317465Z ␛[36;1m                '--test',␛[0m
2026-05-05T08:19:57.9317686Z ␛[36;1m                test.strip(),␛[0m
2026-05-05T08:19:57.9317897Z ␛[36;1m            ])␛[0m
2026-05-05T08:19:57.9318092Z ␛[36;1m    if gha_sanity_skip_tests:␛[0m
2026-05-05T08:19:57.9318532Z ␛[36;1m        for test in gha_sanity_skip_tests.split(','):␛[0m
2026-05-05T08:19:57.9318857Z ␛[36;1m            command.extend([␛[0m
2026-05-05T08:19:57.9319088Z ␛[36;1m                '--skip-test',␛[0m
2026-05-05T08:19:57.9319320Z ␛[36;1m                test.strip(),␛[0m
2026-05-05T08:19:57.9319547Z ␛[36;1m            ])␛[0m
2026-05-05T08:19:57.9319755Z ␛[36;1m    if gha_sanity_allow_disabled:␛[0m
2026-05-05T08:19:57.9320032Z ␛[36;1m        command.append('--allow-disabled')␛[0m
2026-05-05T08:19:57.9320276Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9320460Z ␛[36;1mif gha_testing_type == 'integration':␛[0m
2026-05-05T08:19:57.9320737Z ␛[36;1m    if gha_integration_retry_on_error:␛[0m
2026-05-05T08:19:57.9321021Z ␛[36;1m        command.append('--retry-on-error')␛[0m
2026-05-05T08:19:57.9321348Z ␛[36;1m    if gha_integration_continue_on_error:␛[0m
2026-05-05T08:19:57.9321640Z ␛[36;1m        command.append('--continue-on-error')␛[0m
2026-05-05T08:19:57.9321917Z ␛[36;1m    if gha_integration_diff:␛[0m
2026-05-05T08:19:57.9322151Z ␛[36;1m        command.append('--diff')␛[0m
2026-05-05T08:19:57.9322378Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9322581Z ␛[36;1mif gha_testing_type in {'integration', 'unit'}:␛[0m
2026-05-05T08:19:57.9322882Z ␛[36;1m    if gha_container_network != '':␛[0m
2026-05-05T08:19:57.9323224Z ␛[36;1m        command.append(f"--docker-network={gha_container_network}")␛[0m
2026-05-05T08:19:57.9323554Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9323703Z ␛[36;1mif (␛[0m
2026-05-05T08:19:57.9323889Z ␛[36;1m    gha_testing_type == 'integration'␛[0m
2026-05-05T08:19:57.9324183Z ␛[36;1m    and gha_ansible_core_version not in {␛[0m
2026-05-05T08:19:57.9324479Z ␛[36;1m        'stable-2.9', 'stable-2.10', 'stable-2.11'␛[0m
2026-05-05T08:19:57.9324745Z ␛[36;1m    }␛[0m
2026-05-05T08:19:57.9324923Z ␛[36;1m    and gha_target_python_version␛[0m
2026-05-05T08:19:57.9325207Z ␛[36;1m    and gha_controller_python_version not in {␛[0m
2026-05-05T08:19:57.9325508Z ␛[36;1m        'auto', gha_target_python_version␛[0m
2026-05-05T08:19:57.9325752Z ␛[36;1m    }␛[0m
2026-05-05T08:19:57.9325904Z ␛[36;1m):␛[0m
2026-05-05T08:19:57.9326102Z ␛[36;1m    command.extend([␛[0m
2026-05-05T08:19:57.9326326Z ␛[36;1m        '--controller',␛[0m
2026-05-05T08:19:57.9326624Z ␛[36;1m        f"docker:default,python={gha_controller_python_version}",␛[0m
2026-05-05T08:19:57.9326954Z ␛[36;1m        '--target',␛[0m
2026-05-05T08:19:57.9327199Z ␛[36;1m        f"docker:{gha_docker_image or 'default'},"␛[0m
2026-05-05T08:19:57.9327513Z ␛[36;1m        f"python={gha_target_python_version}",␛[0m
2026-05-05T08:19:57.9327768Z ␛[36;1m    ])␛[0m
2026-05-05T08:19:57.9327922Z ␛[36;1melse:␛[0m
2026-05-05T08:19:57.9328096Z ␛[36;1m    command.extend([␛[0m
2026-05-05T08:19:57.9328295Z ␛[36;1m        '--docker',␛[0m
2026-05-05T08:19:57.9328761Z ␛[36;1m        gha_docker_image or 'default',␛[0m
2026-05-05T08:19:57.9328999Z ␛[36;1m    ])␛[0m
2026-05-05T08:19:57.9329185Z ␛[36;1m    if gha_target_python_version:␛[0m
2026-05-05T08:19:57.9329422Z ␛[36;1m        command.extend([␛[0m
2026-05-05T08:19:57.9329642Z ␛[36;1m            '--python',␛[0m
2026-05-05T08:19:57.9329872Z ␛[36;1m            gha_target_python_version,␛[0m
2026-05-05T08:19:57.9330108Z ␛[36;1m        ])␛[0m
2026-05-05T08:19:57.9330278Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9330464Z ␛[36;1mcommand.extend(shlex.split(gha_target))␛[0m
2026-05-05T08:19:57.9330867Z ␛[36;1m␛[0m
2026-05-05T08:19:57.9331163Z ␛[36;1mset_output('command', shlex.join(command))␛[0m
2026-05-05T08:19:57.9331500Z ␛[36;1mset_output('has-coverage', json.dumps(has_coverage))␛[0m
2026-05-05T08:19:57.9331924Z ␛[36;1mset_output('has-change-detection', json.dumps(has_change_detection))␛[0m
2026-05-05T08:19:57.9333398Z shell: /opt/hostedtoolcache/Python/3.12.13/x64/bin/python {0}
2026-05-05T08:19:57.9333703Z env:
2026-05-05T08:19:57.9333924Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9334316Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:57.9334702Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9335042Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9335384Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9335737Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:57.9336059Z   GHA_ANSIBLE_CORE_VERSION: stable-2.17
2026-05-05T08:19:57.9336396Z   GHA_CONTAINER_NETWORK: github_network_20b2a572b87e41b8bff631600483d1a5
2026-05-05T08:19:57.9336741Z   GHA_CONTROLLER_PYTHON_VERSION: auto
2026-05-05T08:19:57.9336970Z   GHA_COVERAGE: auto
2026-05-05T08:19:57.9337159Z   GHA_DOCKER_IMAGE: ubuntu2204
2026-05-05T08:19:57.9337386Z   GHA_INTEGRATION_CONTINUE_ON_ERROR: true
2026-05-05T08:19:57.9337628Z   GHA_INTEGRATION_DIFF: true
2026-05-05T08:19:57.9337847Z   GHA_INTEGRATION_RETRY_ON_ERROR: false
2026-05-05T08:19:57.9338080Z   GHA_PULL_REQUEST_BASE_REF: main
2026-05-05T08:19:57.9338315Z   GHA_PULL_REQUEST_CHANGE_DETECTION: false
2026-05-05T08:19:57.9338766Z   GHA_SANITY_TESTS: 
2026-05-05T08:19:57.9338955Z   GHA_SANITY_SKIP_TESTS: 
2026-05-05T08:19:57.9339159Z   GHA_SANITY_ALLOW_DISABLED: false
2026-05-05T08:19:57.9339369Z   GHA_TARGET: 
2026-05-05T08:19:57.9339554Z   GHA_TARGET_PYTHON_VERSION: 
2026-05-05T08:19:57.9339762Z   GHA_TESTING_TYPE: integration
2026-05-05T08:19:57.9339973Z ##[endgroup]
2026-05-05T08:19:57.9651415Z ##[group]Run echo ▷ Checking out the repository into a temporary location...
2026-05-05T08:19:57.9651932Z ␛[36;1mecho ▷ Checking out the repository into a temporary location...␛[0m
2026-05-05T08:19:57.9709141Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:57.9709466Z env:
2026-05-05T08:19:57.9709703Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9710120Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:57.9710522Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9710879Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9711239Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9711596Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:57.9711896Z ##[endgroup]
2026-05-05T08:19:57.9787017Z ▷ Checking out the repository into a temporary location...
2026-05-05T08:19:57.9842065Z ##[group]Run actions/checkout@v4
2026-05-05T08:19:57.9842300Z with:
2026-05-05T08:19:57.9842488Z   path: .tmp-ansible-collection-checkout
2026-05-05T08:19:57.9842743Z   persist-credentials: false
2026-05-05T08:19:57.9842963Z   fetch-depth: 1
2026-05-05T08:19:57.9843178Z   repository: ansible-collections/ansible.mysql
2026-05-05T08:19:57.9843568Z   token: ***
2026-05-05T08:19:57.9843742Z   ssh-strict: true
2026-05-05T08:19:57.9843914Z   ssh-user: git
2026-05-05T08:19:57.9844077Z   clean: true
2026-05-05T08:19:57.9844254Z   sparse-checkout-cone-mode: true
2026-05-05T08:19:57.9844482Z   fetch-tags: false
2026-05-05T08:19:57.9844658Z   show-progress: true
2026-05-05T08:19:57.9844842Z   lfs: false
2026-05-05T08:19:57.9844999Z   submodules: false
2026-05-05T08:19:57.9845185Z   set-safe-directory: true
2026-05-05T08:19:57.9845383Z env:
2026-05-05T08:19:57.9845602Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9846005Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:57.9846722Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9847076Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9847418Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:57.9847772Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:57.9848066Z ##[endgroup]
2026-05-05T08:19:58.0816928Z Syncing repository: ansible-collections/ansible.mysql
2026-05-05T08:19:58.0820835Z ##[group]Getting Git version info
2026-05-05T08:19:58.0821754Z Working directory is '/home/runner/work/ansible.mysql/ansible.mysql/.tmp-ansible-collection-checkout'
2026-05-05T08:19:58.0873149Z [command]/usr/bin/git version
2026-05-05T08:19:58.1716390Z git version 2.53.0
2026-05-05T08:19:58.1744084Z ##[endgroup]
2026-05-05T08:19:58.1759801Z Temporarily overriding HOME='/home/runner/work/_temp/20e46a7d-7f21-48fb-9f7f-448078d27dfd' before making global git config changes
2026-05-05T08:19:58.1761566Z Adding repository directory to the temporary git global config as a safe directory
2026-05-05T08:19:58.1765121Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/ansible.mysql/ansible.mysql/.tmp-ansible-collection-checkout
2026-05-05T08:19:58.1834863Z ##[group]Initializing the repository
2026-05-05T08:19:58.1839539Z [command]/usr/bin/git init /home/runner/work/ansible.mysql/ansible.mysql/.tmp-ansible-collection-checkout
2026-05-05T08:19:58.2173714Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-05-05T08:19:58.2174877Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-05-05T08:19:58.2175707Z hint: to use in all of your new repositories, which will suppress this warning,
2026-05-05T08:19:58.2176227Z hint: call:
2026-05-05T08:19:58.2176458Z hint:
2026-05-05T08:19:58.2176784Z hint: 	git config --global init.defaultBranch <name>
2026-05-05T08:19:58.2177186Z hint:
2026-05-05T08:19:58.2177594Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-05-05T08:19:58.2178276Z hint: 'development'. The just-created branch can be renamed via this command:
2026-05-05T08:19:58.2179103Z hint:
2026-05-05T08:19:58.2179354Z hint: 	git branch -m <name>
2026-05-05T08:19:58.2179642Z hint:
2026-05-05T08:19:58.2180077Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-05-05T08:19:58.2211208Z Initialized empty Git repository in /home/runner/work/ansible.mysql/ansible.mysql/.tmp-ansible-collection-checkout/.git/
2026-05-05T08:19:58.2223779Z [command]/usr/bin/git remote add origin https://github.com/ansible-collections/ansible.mysql
2026-05-05T08:19:58.2306946Z ##[endgroup]
2026-05-05T08:19:58.2307816Z ##[group]Disabling automatic garbage collection
2026-05-05T08:19:58.2312881Z [command]/usr/bin/git config --local gc.auto 0
2026-05-05T08:19:58.2342561Z ##[endgroup]
2026-05-05T08:19:58.2343112Z ##[group]Setting up auth
2026-05-05T08:19:58.2350158Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-05T08:19:58.2381009Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-05-05T08:19:58.3759454Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-05T08:19:58.3791055Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-05-05T08:19:58.4031516Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-05T08:19:58.4061937Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-05T08:19:58.4318097Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-05-05T08:19:58.4356344Z ##[endgroup]
2026-05-05T08:19:58.4356999Z ##[group]Fetching the repository
2026-05-05T08:19:58.4364758Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +fea25b99c98e6acf27c6f2ab7b8887eeb48bdae7:refs/remotes/pull/798/merge
2026-05-05T08:19:59.0137503Z From https://github.com/ansible-collections/ansible.mysql
2026-05-05T08:19:59.0138183Z  * [new ref]         fea25b99c98e6acf27c6f2ab7b8887eeb48bdae7 -> pull/798/merge
2026-05-05T08:19:59.0207964Z ##[endgroup]
2026-05-05T08:19:59.0208799Z ##[group]Determining the checkout info
2026-05-05T08:19:59.0210281Z ##[endgroup]
2026-05-05T08:19:59.0215640Z [command]/usr/bin/git sparse-checkout disable
2026-05-05T08:19:59.0291350Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-05-05T08:19:59.0319259Z ##[group]Checking out the ref
2026-05-05T08:19:59.0323416Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/798/merge
2026-05-05T08:19:59.0472889Z Note: switching to 'refs/remotes/pull/798/merge'.
2026-05-05T08:19:59.0473417Z 
2026-05-05T08:19:59.0473695Z You are in 'detached HEAD' state. You can look around, make experimental
2026-05-05T08:19:59.0474356Z changes and commit them, and you can discard any commits you make in this
2026-05-05T08:19:59.0475014Z state without impacting any branches by switching back to a branch.
2026-05-05T08:19:59.0475401Z 
2026-05-05T08:19:59.0475657Z If you want to create a new branch to retain commits you create, you may
2026-05-05T08:19:59.0476356Z do so (now or later) by using -c with the switch command. Example:
2026-05-05T08:19:59.0476780Z 
2026-05-05T08:19:59.0477038Z   git switch -c <new-branch-name>
2026-05-05T08:19:59.0477267Z 
2026-05-05T08:19:59.0477468Z Or undo this operation with:
2026-05-05T08:19:59.0477774Z 
2026-05-05T08:19:59.0477929Z   git switch -
2026-05-05T08:19:59.0478208Z 
2026-05-05T08:19:59.0478835Z Turn off this advice by setting config variable advice.detachedHead to false
2026-05-05T08:19:59.0479645Z 
2026-05-05T08:19:59.0480467Z HEAD is now at fea25b9 Merge 7929b2526b74ff285d126fc1729091577e6d9259 into 744c3cdee6e13f43f6c2a42e5150c7c5b0b4cda1
2026-05-05T08:19:59.0484536Z ##[endgroup]
2026-05-05T08:19:59.0523801Z [command]/usr/bin/git log -1 --format=%H
2026-05-05T08:19:59.0547015Z fea25b99c98e6acf27c6f2ab7b8887eeb48bdae7
2026-05-05T08:19:59.0558602Z ##[group]Removing auth
2026-05-05T08:19:59.0563424Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-05T08:19:59.0592982Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-05-05T08:19:59.0865365Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-05T08:19:59.0889341Z http.https://github.com/.extraheader
2026-05-05T08:19:59.0898873Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-05-05T08:19:59.0932380Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-05-05T08:19:59.1170774Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-05T08:19:59.1205756Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-05T08:19:59.1442471Z ##[endgroup]
2026-05-05T08:19:59.1555061Z ##[group]Run echo ▷ Extracting the collection metadata from "'galaxy.yml'"...
2026-05-05T08:19:59.1555563Z ␛[36;1mecho ▷ Extracting the collection metadata from "'galaxy.yml'"...␛[0m
2026-05-05T08:19:59.1613789Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:59.1614147Z env:
2026-05-05T08:19:59.1614406Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1615209Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.1615668Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1616071Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1616472Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1616873Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.1617207Z ##[endgroup]
2026-05-05T08:19:59.1694874Z ▷ Extracting the collection metadata from 'galaxy.yml'...
2026-05-05T08:19:59.1728946Z ##[group]Run import os
2026-05-05T08:19:59.1729202Z ␛[36;1mimport os␛[0m
2026-05-05T08:19:59.1729402Z ␛[36;1mimport pathlib␛[0m
2026-05-05T08:19:59.1729611Z ␛[36;1mimport yaml␛[0m
2026-05-05T08:19:59.1729792Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1729970Z ␛[36;1mFILE_APPEND_MODE = 'a'␛[0m
2026-05-05T08:19:59.1730310Z ␛[36;1mOUTPUTS_FILE_PATH = pathlib.Path(os.environ['GITHUB_OUTPUT'])␛[0m
2026-05-05T08:19:59.1730687Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1730876Z ␛[36;1mdef set_output(name, value):␛[0m
2026-05-05T08:19:59.1731230Z ␛[36;1m    with OUTPUTS_FILE_PATH.open(FILE_APPEND_MODE) as outputs_file:␛[0m
2026-05-05T08:19:59.1731687Z ␛[36;1m        outputs_file.writelines(f'{name}={value}{os.linesep}')␛[0m
2026-05-05T08:19:59.1732019Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1732260Z ␛[36;1mdirectory = ".tmp-ansible-collection-checkout/."␛[0m
2026-05-05T08:19:59.1732562Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1732753Z ␛[36;1mCOLLECTION_META_FILE = 'galaxy.yml'␛[0m
2026-05-05T08:19:59.1733155Z ␛[36;1mwith open(os.path.join(directory, COLLECTION_META_FILE)) as galaxy_yml:␛[0m
2026-05-05T08:19:59.1733594Z ␛[36;1m    collection_meta = yaml.safe_load(galaxy_yml)␛[0m
2026-05-05T08:19:59.1733883Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1734072Z ␛[36;1mcoll_name = collection_meta['name']␛[0m
2026-05-05T08:19:59.1734376Z ␛[36;1mcoll_ns = collection_meta['namespace']␛[0m
2026-05-05T08:19:59.1734639Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1734817Z ␛[36;1mset_output('name', coll_name)␛[0m
2026-05-05T08:19:59.1735091Z ␛[36;1mset_output('namespace', coll_ns)␛[0m
2026-05-05T08:19:59.1735335Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1735542Z ␛[36;1mset_output('fqcn', f'{coll_ns}.{coll_name}')␛[0m
2026-05-05T08:19:59.1735812Z ␛[36;1m␛[0m
2026-05-05T08:19:59.1736112Z ␛[36;1mwanted_path = f'ansible_collections{os.sep}{coll_ns}{os.sep}{coll_name}'␛[0m
2026-05-05T08:19:59.1736533Z ␛[36;1mif directory.endswith(wanted_path):␛[0m
2026-05-05T08:19:59.1736863Z ␛[36;1m    set_output('copy-to-checkout-path', 'false')␛[0m
2026-05-05T08:19:59.1737167Z ␛[36;1m    set_output(␛[0m
2026-05-05T08:19:59.1737407Z ␛[36;1m        'collection-namespace-path',␛[0m
2026-05-05T08:19:59.1737755Z ␛[36;1m        os.path.normpath(os.path.join(directory, '..')))␛[0m
2026-05-05T08:19:59.1738109Z ␛[36;1m    set_output('checkout-path', directory)␛[0m
2026-05-05T08:19:59.1738535Z ␛[36;1melse:␛[0m
2026-05-05T08:19:59.1738766Z ␛[36;1m    set_output('copy-to-checkout-path', 'true')␛[0m
2026-05-05T08:19:59.1739063Z ␛[36;1m    set_output(␛[0m
2026-05-05T08:19:59.1739297Z ␛[36;1m        'collection-namespace-path',␛[0m
2026-05-05T08:19:59.1739629Z ␛[36;1m        os.path.join('ansible_collections', coll_ns))␛[0m
2026-05-05T08:19:59.1739936Z ␛[36;1m    set_output(␛[0m
2026-05-05T08:19:59.1740144Z ␛[36;1m        'checkout-path',␛[0m
2026-05-05T08:19:59.1740467Z ␛[36;1m        os.path.join('ansible_collections', coll_ns, coll_name))␛[0m
2026-05-05T08:19:59.1741814Z shell: /opt/hostedtoolcache/Python/3.12.13/x64/bin/python {0}
2026-05-05T08:19:59.1742119Z env:
2026-05-05T08:19:59.1742343Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1742727Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.1743120Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1743461Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1743800Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.1744484Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.1744774Z ##[endgroup]
2026-05-05T08:19:59.2210519Z ##[group]Run echo ▷ Move "'ansible.mysql'" collection to ansible_collections/ansible/mysql...
2026-05-05T08:19:59.2211165Z ␛[36;1mecho ▷ Move "'ansible.mysql'" collection to ansible_collections/ansible/mysql...␛[0m
2026-05-05T08:19:59.2268077Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:59.2268641Z env:
2026-05-05T08:19:59.2268920Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2269422Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.2269908Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2270348Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2270821Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2271305Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.2271719Z ##[endgroup]
2026-05-05T08:19:59.2352401Z ▷ Move 'ansible.mysql' collection to ansible_collections/ansible/mysql...
2026-05-05T08:19:59.2381262Z ##[group]Run set -x ; mkdir -pv "ansible_collections/ansible" ; mv -v ".tmp-ansible-collection-checkout/" "ansible_collections/ansible/mysql" ; set +x
2026-05-05T08:19:59.2382379Z ␛[36;1mset -x ; mkdir -pv "ansible_collections/ansible" ; mv -v ".tmp-ansible-collection-checkout/" "ansible_collections/ansible/mysql" ; set +x␛[0m
2026-05-05T08:19:59.2437786Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:59.2438137Z env:
2026-05-05T08:19:59.2438613Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2439110Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.2439570Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2439988Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2440401Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2440839Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.2441176Z ##[endgroup]
2026-05-05T08:19:59.2518744Z + mkdir -pv ansible_collections/ansible
2026-05-05T08:19:59.2532799Z mkdir: created directory 'ansible_collections'
2026-05-05T08:19:59.2533453Z mkdir: created directory 'ansible_collections/ansible'
2026-05-05T08:19:59.2534418Z + mv -v .tmp-ansible-collection-checkout/ ansible_collections/ansible/mysql
2026-05-05T08:19:59.2709799Z renamed '.tmp-ansible-collection-checkout/' -> 'ansible_collections/ansible/mysql'
2026-05-05T08:19:59.2711713Z + set +x
2026-05-05T08:19:59.2738183Z ##[group]Run echo ▷ Installing ansible-core version stable-2.17...
2026-05-05T08:19:59.2738938Z ␛[36;1mecho ▷ Installing ansible-core version stable-2.17...␛[0m
2026-05-05T08:19:59.2793846Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:59.2794250Z env:
2026-05-05T08:19:59.2794549Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2795117Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.2795654Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2796139Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2796606Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2797089Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.2797470Z ##[endgroup]
2026-05-05T08:19:59.2872143Z ▷ Installing ansible-core version stable-2.17...
2026-05-05T08:19:59.2893094Z ##[group]Run set -x ; python -m pip install https://github.com/ansible/ansible/archive/stable-2.17.tar.gz --disable-pip-version-check --user ; set +x
2026-05-05T08:19:59.2894125Z ␛[36;1mset -x ; python -m pip install https://github.com/ansible/ansible/archive/stable-2.17.tar.gz --disable-pip-version-check --user ; set +x␛[0m
2026-05-05T08:19:59.2947016Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:19:59.2947695Z env:
2026-05-05T08:19:59.2947953Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2948615Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:19:59.2949068Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2949464Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2949867Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:19:59.2950275Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:19:59.2950606Z ##[endgroup]
2026-05-05T08:19:59.3025202Z + python -m pip install https://github.com/ansible/ansible/archive/stable-2.17.tar.gz --disable-pip-version-check --user
2026-05-05T08:20:00.1521438Z Collecting https://github.com/ansible/ansible/archive/stable-2.17.tar.gz
2026-05-05T08:20:00.6595887Z   Downloading https://github.com/ansible/ansible/archive/stable-2.17.tar.gz (3.1 MB)
2026-05-05T08:20:00.8030140Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 41.0 MB/s  0:00:00
2026-05-05T08:20:02.4873682Z   Installing build dependencies: started
2026-05-05T08:20:03.4780967Z   Installing build dependencies: finished with status 'done'
2026-05-05T08:20:03.4787013Z   Getting requirements to build wheel: started
2026-05-05T08:20:04.2271963Z   Getting requirements to build wheel: finished with status 'done'
2026-05-05T08:20:04.2281946Z   Preparing metadata (pyproject.toml): started
2026-05-05T08:20:04.6760038Z   Preparing metadata (pyproject.toml): finished with status 'done'
2026-05-05T08:20:04.7286059Z Collecting jinja2>=3.0.0 (from ansible-core==2.17.14.post0)
2026-05-05T08:20:04.7625412Z   Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
2026-05-05T08:20:04.7668304Z Requirement already satisfied: PyYAML>=5.1 in /home/runner/.local/lib/python3.12/site-packages (from ansible-core==2.17.14.post0) (6.0.3)
2026-05-05T08:20:05.0033131Z Collecting cryptography (from ansible-core==2.17.14.post0)
2026-05-05T08:20:05.0067871Z   Downloading cryptography-48.0.0-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (4.3 kB)
2026-05-05T08:20:05.0253908Z Collecting packaging (from ansible-core==2.17.14.post0)
2026-05-05T08:20:05.0288238Z   Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)
2026-05-05T08:20:05.0422929Z Collecting resolvelib<1.1.0,>=0.5.3 (from ansible-core==2.17.14.post0)
2026-05-05T08:20:05.0462399Z   Downloading resolvelib-1.0.1-py2.py3-none-any.whl.metadata (4.0 kB)
2026-05-05T08:20:05.1039996Z Collecting MarkupSafe>=2.0 (from jinja2>=3.0.0->ansible-core==2.17.14.post0)
2026-05-05T08:20:05.1072372Z   Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
2026-05-05T08:20:05.2261081Z Collecting cffi>=2.0.0 (from cryptography->ansible-core==2.17.14.post0)
2026-05-05T08:20:05.2293193Z   Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)
2026-05-05T08:20:05.2426173Z Collecting pycparser (from cffi>=2.0.0->cryptography->ansible-core==2.17.14.post0)
2026-05-05T08:20:05.2454906Z   Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)
2026-05-05T08:20:05.2537383Z Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)
2026-05-05T08:20:05.2586264Z Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
2026-05-05T08:20:05.2689458Z Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
2026-05-05T08:20:05.2738303Z Downloading cryptography-48.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB)
2026-05-05T08:20:05.3159321Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 123.6 MB/s  0:00:00
2026-05-05T08:20:05.3190558Z Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB)
2026-05-05T08:20:05.3251247Z Downloading packaging-26.2-py3-none-any.whl (100 kB)
2026-05-05T08:20:05.3303197Z Downloading pycparser-3.0-py3-none-any.whl (48 kB)
2026-05-05T08:20:05.3463891Z Building wheels for collected packages: ansible-core
2026-05-05T08:20:05.3472565Z   Building wheel for ansible-core (pyproject.toml): started
2026-05-05T08:20:06.6687683Z   Building wheel for ansible-core (pyproject.toml): finished with status 'done'
2026-05-05T08:20:06.6712527Z   Created wheel for ansible-core: filename=ansible_core-2.17.14.post0-py3-none-any.whl size=2198578 sha256=cd421390598675cba45dc950414082d8de4383dc6b41b718a282574310caf027
2026-05-05T08:20:06.6714161Z   Stored in directory: /home/runner/.cache/pip/wheels/a7/98/63/aed3fdd6b820dcd8ffe1c0abd6d0072659eaecf78cd961e3ea
2026-05-05T08:20:06.6798566Z Successfully built ansible-core
2026-05-05T08:20:06.6992217Z Installing collected packages: resolvelib, pycparser, packaging, MarkupSafe, jinja2, cffi, cryptography, ansible-core
2026-05-05T08:20:08.4933110Z 
2026-05-05T08:20:08.4951420Z Successfully installed MarkupSafe-3.0.3 ansible-core-2.17.14.post0 cffi-2.0.0 cryptography-48.0.0 jinja2-3.1.6 packaging-26.2 pycparser-3.0 resolvelib-1.0.1
2026-05-05T08:20:08.8292599Z + set +x
2026-05-05T08:20:08.8320657Z ##[group]Run echo ▷ Installing collection dependencies: 
2026-05-05T08:20:08.8321039Z ␛[36;1mecho ▷ Installing collection dependencies: ␛[0m
2026-05-05T08:20:08.8378742Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.8379064Z env:
2026-05-05T08:20:08.8379306Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8379728Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.8380181Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8380560Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8380938Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8381320Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.8381631Z ##[endgroup]
2026-05-05T08:20:08.8454913Z ▷ Installing collection dependencies:
2026-05-05T08:20:08.8475627Z ##[group]Run >&2 echo Skipping installing the dependencies...
2026-05-05T08:20:08.8476008Z ␛[36;1m>&2 echo Skipping installing the dependencies...␛[0m
2026-05-05T08:20:08.8525919Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.8526217Z env:
2026-05-05T08:20:08.8526449Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8526849Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.8527259Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8527610Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8527962Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8528314Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.8528896Z ##[endgroup]
2026-05-05T08:20:08.8598898Z Skipping installing the dependencies...
2026-05-05T08:20:08.8618993Z ##[group]Run echo ▷ Running a pre-test command: "'echo Setting db_engine_name to "mysql"...; echo -n "mysql" > tests/integration/db_engine_name;
2026-05-05T08:20:08.8619944Z ␛[36;1mecho ▷ Running a pre-test command: "'echo Setting db_engine_name to "mysql"...; echo -n "mysql" > tests/integration/db_engine_name;␛[0m
2026-05-05T08:20:08.8620723Z ␛[36;1mecho Setting db_engine_version to \ "8.4.1"...; echo -n "8.4.1" > tests/integration/db_engine_version;␛[0m
2026-05-05T08:20:08.8621381Z ␛[36;1mecho Setting Connector name to "pymysql"...; echo -n "pymysql" > tests/integration/connector_name;␛[0m
2026-05-05T08:20:08.8622046Z ␛[36;1mecho Setting Connector name to "0.9.3"...; echo -n "0.9.3" > tests/integration/connector_version;␛[0m
2026-05-05T08:20:08.8622691Z ␛[36;1mecho Setting Ansible version to "stable-2.17"...; echo -n "stable-2.17" > tests/integration/ansible'"␛[0m
2026-05-05T08:20:08.8673385Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.8673722Z env:
2026-05-05T08:20:08.8673979Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8674717Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.8675157Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8675559Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8675938Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8676323Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.8676639Z ##[endgroup]
2026-05-05T08:20:08.8748901Z ▷ Running a pre-test command: 'echo Setting db_engine_name to mysql...; echo -n mysql > tests/integration/db_engine_name;
2026-05-05T08:20:08.8749755Z echo Setting db_engine_version to \ 8.4.1...; echo -n 8.4.1 > tests/integration/db_engine_version;
2026-05-05T08:20:08.8750965Z echo Setting Connector name to pymysql...; echo -n pymysql > tests/integration/connector_name;
2026-05-05T08:20:08.8751888Z echo Setting Connector name to 0.9.3...; echo -n 0.9.3 > tests/integration/connector_version;
2026-05-05T08:20:08.8752621Z echo Setting Ansible version to stable-2.17...; echo -n stable-2.17 > tests/integration/ansible'
2026-05-05T08:20:08.8771456Z ##[group]Run set -x; echo Setting db_engine_name to "mysql"...; echo -n "mysql" > tests/integration/db_engine_name;
2026-05-05T08:20:08.8772139Z ␛[36;1mset -x; echo Setting db_engine_name to "mysql"...; echo -n "mysql" > tests/integration/db_engine_name;␛[0m
2026-05-05T08:20:08.8772771Z ␛[36;1mecho Setting db_engine_version to \ "8.4.1"...; echo -n "8.4.1" > tests/integration/db_engine_version;␛[0m
2026-05-05T08:20:08.8773397Z ␛[36;1mecho Setting Connector name to "pymysql"...; echo -n "pymysql" > tests/integration/connector_name;␛[0m
2026-05-05T08:20:08.8774000Z ␛[36;1mecho Setting Connector name to "0.9.3"...; echo -n "0.9.3" > tests/integration/connector_version;␛[0m
2026-05-05T08:20:08.8774634Z ␛[36;1mecho Setting Ansible version to "stable-2.17"...; echo -n "stable-2.17" > tests/integration/ansible; set +x␛[0m
2026-05-05T08:20:08.8824524Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.8824879Z env:
2026-05-05T08:20:08.8825129Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8825572Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.8826004Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8826387Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8826784Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.8827174Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.8827490Z ##[endgroup]
2026-05-05T08:20:08.8924396Z + echo Setting db_engine_name to mysql...
2026-05-05T08:20:08.8924868Z Setting db_engine_name to mysql...
2026-05-05T08:20:08.8925264Z + echo -n mysql
2026-05-05T08:20:08.8925596Z + echo Setting db_engine_version to ' 8.4.1...'
2026-05-05T08:20:08.8926042Z + echo -n 8.4.1
2026-05-05T08:20:08.8926384Z + echo Setting Connector name to pymysql...
2026-05-05T08:20:08.8926820Z + echo -n pymysql
2026-05-05T08:20:08.8927145Z Setting db_engine_version to  8.4.1...
2026-05-05T08:20:08.8927563Z Setting Connector name to pymysql...
2026-05-05T08:20:08.8928000Z + echo Setting Connector name to 0.9.3...
2026-05-05T08:20:08.8928552Z + echo -n 0.9.3
2026-05-05T08:20:08.8928905Z + echo Setting Ansible version to stable-2.17...
2026-05-05T08:20:08.8929348Z + echo -n stable-2.17
2026-05-05T08:20:08.8929682Z Setting Connector name to 0.9.3...
2026-05-05T08:20:08.8930096Z Setting Ansible version to stable-2.17...
2026-05-05T08:20:08.8930646Z + set +x
2026-05-05T08:20:08.8949437Z ##[group]Run echo ▷ Running integration tests...
2026-05-05T08:20:08.8949753Z ␛[36;1mecho ▷ Running integration tests...␛[0m
2026-05-05T08:20:08.9000186Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.9000522Z env:
2026-05-05T08:20:08.9000764Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9001363Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.9001904Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9002293Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9002691Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9003108Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.9003576Z ##[endgroup]
2026-05-05T08:20:08.9074508Z ▷ Running integration tests...
2026-05-05T08:20:08.9093847Z ##[group]Run set -x ; ~/.local/bin/ansible-test integration -v --color --coverage --continue-on-error --diff --docker-network=github_network_20b2a572b87e41b8bff631600483d1a5 --docker ubuntu2204 ; set +x
2026-05-05T08:20:08.9095204Z ␛[36;1mset -x ; ~/.local/bin/ansible-test integration -v --color --coverage --continue-on-error --diff --docker-network=github_network_20b2a572b87e41b8bff631600483d1a5 --docker ubuntu2204 ; set +x␛[0m
2026-05-05T08:20:08.9145157Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:20:08.9145522Z env:
2026-05-05T08:20:08.9145776Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9146234Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:20:08.9146681Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9147080Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9147483Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:20:08.9147881Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:20:08.9148215Z ##[endgroup]
2026-05-05T08:20:08.9224085Z + /home/runner/.local/bin/ansible-test integration -v --color --coverage --continue-on-error --diff --docker-network=github_network_20b2a572b87e41b8bff631600483d1a5 --docker ubuntu2204
2026-05-05T08:20:09.4371396Z ␛[32mConfigured locale: en_US.UTF-8␛[0m
2026-05-05T08:20:09.4372756Z ␛[32mFalling back to tests in "tests/integration/targets/" because "roles/test/" was not found.␛[0m
2026-05-05T08:20:09.4388673Z ␛[35mWARNING: Unable to determine context for the following test targets, they will be run on the target host: test_mysql_db, test_mysql_info, test_mysql_query, test_mysql_replication, test_mysql_role, test_mysql_user, test_mysql_variables␛[0m
2026-05-05T08:20:09.4398702Z ␛[32mRun command: docker -v␛[0m
2026-05-05T08:20:09.4514038Z ␛[32mDetected "docker" container runtime version: Docker version 28.0.4, build b8034c0␛[0m
2026-05-05T08:20:09.4517104Z ␛[32mRun command: docker info --format '{{ json . }}'␛[0m
2026-05-05T08:20:11.2554827Z ␛[32mRun command: docker version --format '{{ json . }}'␛[0m
2026-05-05T08:20:11.2733488Z ␛[32mContainer runtime: docker client=28.0.4 server=28.0.4 cgroup=v2␛[0m
2026-05-05T08:20:11.2734045Z ␛[32mAssuming Docker is available on localhost.␛[0m
2026-05-05T08:20:11.2736891Z ␛[32mRun command: docker image inspect quay.io/ansible/ubuntu2204-test-container:7.1.0␛[0m
2026-05-05T08:20:11.2865434Z ␛[32mStream command: docker pull quay.io/ansible/ubuntu2204-test-container:7.1.0␛[0m
2026-05-05T08:20:12.5227023Z 7.1.0: Pulling from ansible/ubuntu2204-test-container
2026-05-05T08:20:12.8858985Z 6e3729cf69e0: Pulling fs layer
2026-05-05T08:20:12.8859406Z 5cf27e5ed746: Pulling fs layer
2026-05-05T08:20:12.8859723Z 2c0441d84715: Pulling fs layer
2026-05-05T08:20:12.8860188Z 738d3232bf1a: Pulling fs layer
2026-05-05T08:20:12.8860588Z c84f74fa9521: Pulling fs layer
2026-05-05T08:20:12.8861016Z 256ef34b81c7: Pulling fs layer
2026-05-05T08:20:12.8861326Z 218b9ab71c17: Pulling fs layer
2026-05-05T08:20:12.8861657Z 738d3232bf1a: Waiting
2026-05-05T08:20:12.8861971Z c84f74fa9521: Waiting
2026-05-05T08:20:12.8862265Z 256ef34b81c7: Waiting
2026-05-05T08:20:12.8862512Z 218b9ab71c17: Waiting
2026-05-05T08:20:13.2169950Z 2c0441d84715: Verifying Checksum
2026-05-05T08:20:13.2170835Z 2c0441d84715: Download complete
2026-05-05T08:20:13.5325063Z 738d3232bf1a: Download complete
2026-05-05T08:20:13.9612886Z c84f74fa9521: Verifying Checksum
2026-05-05T08:20:13.9614403Z c84f74fa9521: Download complete
2026-05-05T08:20:13.9646173Z 6e3729cf69e0: Verifying Checksum
2026-05-05T08:20:13.9646831Z 6e3729cf69e0: Download complete
2026-05-05T08:20:14.2307189Z 218b9ab71c17: Verifying Checksum
2026-05-05T08:20:14.2307762Z 218b9ab71c17: Download complete
2026-05-05T08:20:14.2517186Z 256ef34b81c7: Download complete
2026-05-05T08:20:14.9969523Z 6e3729cf69e0: Pull complete
2026-05-05T08:20:19.1492998Z 5cf27e5ed746: Verifying Checksum
2026-05-05T08:20:19.1493611Z 5cf27e5ed746: Download complete
2026-05-05T08:20:28.8240213Z 5cf27e5ed746: Pull complete
2026-05-05T08:20:28.8344292Z 2c0441d84715: Pull complete
2026-05-05T08:20:28.8476635Z 738d3232bf1a: Pull complete
2026-05-05T08:20:28.8716013Z c84f74fa9521: Pull complete
2026-05-05T08:20:28.8823146Z 256ef34b81c7: Pull complete
2026-05-05T08:20:28.9279940Z 218b9ab71c17: Pull complete
2026-05-05T08:20:28.9320328Z Digest: sha256:551aa07198b422647e062ccc0580f858d92e163bd0edffa07bc4febb68533f93
2026-05-05T08:20:28.9332430Z Status: Downloaded newer image for quay.io/ansible/ubuntu2204-test-container:7.1.0
2026-05-05T08:20:28.9342515Z quay.io/ansible/ubuntu2204-test-container:7.1.0
2026-05-05T08:20:28.9362030Z ␛[32mRun command: docker image inspect quay.io/ansible/ubuntu2204-test-container:7.1.0␛[0m
2026-05-05T08:20:28.9502669Z ␛[32mRun command: ssh-keygen -m PEM -q -t rsa -N '' -f /home/runner/.ansible/test/id_rsa␛[0m
2026-05-05T08:20:29.4949611Z ␛[32mRun command: docker image inspect quay.io/ansible/ansible-test-utility-container:2.0.0␛[0m
2026-05-05T08:20:29.5080891Z ␛[32mStream command: docker pull quay.io/ansible/ansible-test-utility-container:2.0.0␛[0m
2026-05-05T08:20:30.5461404Z 2.0.0: Pulling from ansible/ansible-test-utility-container
2026-05-05T08:20:30.7937457Z c158987b0551: Pulling fs layer
2026-05-05T08:20:30.7937998Z d1f06b6a9dd0: Pulling fs layer
2026-05-05T08:20:30.7938536Z b0331c2be39b: Pulling fs layer
2026-05-05T08:20:31.0205529Z d1f06b6a9dd0: Verifying Checksum
2026-05-05T08:20:31.0206066Z d1f06b6a9dd0: Download complete
2026-05-05T08:20:31.0206367Z b0331c2be39b: Verifying Checksum
2026-05-05T08:20:31.0206615Z b0331c2be39b: Download complete
2026-05-05T08:20:31.0374975Z c158987b0551: Download complete
2026-05-05T08:20:31.1391043Z c158987b0551: Pull complete
2026-05-05T08:20:31.1598282Z d1f06b6a9dd0: Pull complete
2026-05-05T08:20:31.1694676Z b0331c2be39b: Pull complete
2026-05-05T08:20:31.1749570Z Digest: sha256:059edb073cbb9f37d4f4a3f166b32aa17df9ff07c7e630f74332336bfbd051ba
2026-05-05T08:20:31.1759271Z Status: Downloaded newer image for quay.io/ansible/ansible-test-utility-container:2.0.0
2026-05-05T08:20:31.1767657Z quay.io/ansible/ansible-test-utility-container:2.0.0
2026-05-05T08:20:31.1784910Z ␛[32mRun command: docker image inspect quay.io/ansible/ansible-test-utility-container:2.0.0␛[0m
2026-05-05T08:20:31.1923156Z ␛[32mRun command: docker run --volume /sys/fs/cgroup:/probe:ro --name ansible-test-probe-PT9jWmgJ --rm quay.io/ansible/ansible-test-utility-container:2.0.0 sh -c 'audit-status && cat /proc/sys/fs/nr_open && ulimit -Hn && (cat /proc/1/loginuid; echo) && echo "-" && cat /proc/1/cgroup && echo "-" && cat /proc/1/mountinfo'␛[0m
2026-05-05T08:20:31.4209956Z ␛[32mContainer host audit status: EPERM (-1)␛[0m
2026-05-05T08:20:31.4210451Z ␛[32mContainer host max open files: 65536␛[0m
2026-05-05T08:20:31.4210812Z ␛[32mContainer loginuid: 4294967295 (not set)␛[0m
2026-05-05T08:20:31.4211195Z Starting new "ansible-test-controller-PT9jWmgJ" container.
2026-05-05T08:20:31.4214157Z ␛[32mRun command: docker run --tmpfs /tmp:exec --tmpfs /run:exec --tmpfs /run/lock --volume /var/run/docker.sock:/var/run/docker.sock --cgroupns private -dt --ulimit nofile=10240 --name ansible-test-controller-PT9jWmgJ --network github_network_20b2a572b87e41b8bff631600483d1a5 quay.io/ansible/ubuntu2204-test-container:7.1.0 sh -c 'env sleep 60 ; exec /sbin/init'␛[0m
2026-05-05T08:20:31.5621798Z Adding "ansible-test-controller-PT9jWmgJ" to container database.
2026-05-05T08:20:31.5625081Z ␛[32mRun command: docker container inspect ansible-test-controller-PT9jWmgJ␛[0m
2026-05-05T08:20:31.5762938Z ␛[32mRun command: docker run --pid host --privileged --name ansible-test-init-controller-PT9jWmgJ --rm quay.io/ansible/ansible-test-utility-container:2.0.0 nsenter -t 5298 -m -p sh -c 'mount -o remount,rw /sys/fs/cgroup/ && pkill sleep'␛[0m
2026-05-05T08:20:31.8090578Z ␛[32mStream command with data: docker exec -i ansible-test-controller-PT9jWmgJ /bin/sh␛[0m
2026-05-05T08:20:31.8789320Z Bootstrapping Python 3.10 at: /usr/bin/python3.10
2026-05-05T08:20:32.4604030Z ␛[32mScanning collection root: /home/runner/work/ansible.mysql/ansible.mysql/ansible_collections␛[0m
2026-05-05T08:20:32.4604912Z ␛[32mIncluding collection: ansible.mysql (194 files)␛[0m
2026-05-05T08:20:32.4627805Z ␛[32mCreating a payload archive containing 1191 files...␛[0m
2026-05-05T08:20:32.7337421Z ␛[32mCreated a 1903990 byte payload archive containing 1191 files in 0 seconds.␛[0m
2026-05-05T08:20:32.7341968Z ␛[32mRun command with stdin: docker exec -i ansible-test-controller-PT9jWmgJ tar oxzf - -C /root␛[0m
2026-05-05T08:20:32.8748819Z ␛[32mCreating container database.␛[0m
2026-05-05T08:20:32.8754092Z ␛[32mStream command: docker exec ansible-test-controller-PT9jWmgJ /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible_collections/ansible/mysql LC_ALL=en_US.UTF-8 /usr/bin/python3.10 /root/ansible/bin/ansible-test integration -v --allow-destructive --containers '{}' --coverage --continue-on-error --diff --docker-network=github_network_20b2a572b87e41b8bff631600483d1a5 --truncate 0 --color yes --host-path tests/output/.tmp/host-6xfuo74z --metadata tests/output/.tmp/metadata-5tes2811.json␛[0m
2026-05-05T08:20:33.2457621Z ␛[32mConfigured locale: en_US.UTF-8␛[0m
2026-05-05T08:20:33.2458847Z ␛[32mFalling back to tests in "tests/integration/targets/" because "roles/test/" was not found.␛[0m
2026-05-05T08:20:33.2471586Z ␛[35mWARNING: Unable to determine context for the following test targets, they will be run on the target host: test_mysql_db, test_mysql_info, test_mysql_query, test_mysql_replication, test_mysql_role, test_mysql_user, test_mysql_variables␛[0m
2026-05-05T08:20:33.2473948Z ␛[32mParsing container database.␛[0m
2026-05-05T08:20:33.2482033Z Installing requirements for Python 3.10 (controller)
2026-05-05T08:20:33.2482828Z ␛[32mStream command with data: /usr/bin/python3.10␛[0m
2026-05-05T08:20:33.2945356Z Execute command: /usr/bin/python3.10 /tmp/ansible-test-7mwb8wua-pip.py install --disable-pip-version-check coverage==7.3.2
2026-05-05T08:20:33.7382086Z Execute command: /usr/bin/python3.10 /tmp/ansible-test-7mwb8wua-pip.py install --disable-pip-version-check -r requirements/ansible.txt -c requirements/constraints.txt
2026-05-05T08:20:34.1915266Z ␛[32mRun command: /usr/bin/python3.10 /root/ansible/test/lib/ansible_test/_util/target/tools/yamlcheck.py␛[0m
2026-05-05T08:20:34.2238733Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:20:34.2239998Z Running test_mysql_db integration test role
2026-05-05T08:20:34.2309849Z ␛[32mInitializing "/tmp/ansible-test-3mcjmrdp-injector" as the temporary injector directory.␛[0m
2026-05-05T08:20:34.2315604Z ␛[32mInjecting "/tmp/python-2l7x6ois-ansible/python" as a execv wrapper for the "/usr/bin/python3.10" interpreter.␛[0m
2026-05-05T08:20:34.2318046Z ␛[32mStream command: ansible-playbook test_mysql_db-pi4or33x.yml -i inventory --diff -v␛[0m
2026-05-05T08:20:35.1630310Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_db-6q6wrndb-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:20:35.1631542Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:20:35.1631902Z 
2026-05-05T08:20:35.1632119Z PLAY [testhost] ****************************************************************
2026-05-05T08:20:35.1632480Z 
2026-05-05T08:20:35.1632706Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:20:36.0965673Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:20:36.0965984Z 
2026-05-05T08:20:36.0966347Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:20:36.4540613Z ␛[0;31m--- before␛[0m
2026-05-05T08:20:36.4541143Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:20:36.4541640Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:20:36.4542090Z ␛[0;36m␛[0m {
2026-05-05T08:20:36.4543166Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_db-6q6wrndb-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:20:36.4544073Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:20:36.4544432Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:20:36.4544761Z ␛[0;32m␛[0m }
2026-05-05T08:20:36.4544883Z 
2026-05-05T08:20:36.4546238Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_db-6q6wrndb-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:20:36.4547501Z 
2026-05-05T08:20:36.4547792Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:20:36.7000814Z ␛[0;31m--- before␛[0m
2026-05-05T08:20:36.7001505Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:20:36.7002131Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:20:36.7002756Z ␛[0;36m␛[0m {
2026-05-05T08:20:36.7003310Z ␛[0;31m-    "atime": 1777969236.6660044,␛[0m
2026-05-05T08:20:36.7004139Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969236.6660044,␛[0m
2026-05-05T08:20:36.7005049Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969236.6677475,␛[0m
2026-05-05T08:20:36.7005948Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969236.6677475,␛[0m
2026-05-05T08:20:36.7007405Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_db-6q6wrndb-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:20:36.7008843Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:20:36.7009225Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:20:36.7009626Z ␛[0;32m␛[0m }
2026-05-05T08:20:36.7009764Z 
2026-05-05T08:20:36.7011402Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_db-6q6wrndb-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:20:36.7012900Z 
2026-05-05T08:20:36.7013271Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:22:24.5974158Z ␛[1;35m[WARNING]: Updating cache and auto-installing missing dependency: python3-apt␛[0m
2026-05-05T08:22:24.7115053Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/apt-get update", "msg": "E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease  521  <none> [IP: 172.66.152.176 80]\nE: The repository 'http://security.ubuntu.com/ubuntu jammy-security InRelease' is not signed.\nE: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  521  <none> [IP: 104.20.28.246 80]\nE: The repository 'http://archive.ubuntu.com/ubuntu jammy-updates InRelease' is not signed.", "rc": 100, "stderr": "E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease  521  <none> [IP: 172.66.152.176 80]\nE: The repository 'http://security.ubuntu.com/ubuntu jammy-security InRelease' is not signed.\nE: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  521  <none> [IP: 104.20.28.246 80]\nE: The repository 'http://archive.ubuntu.com/ubuntu jammy-updates InRelease' is not signed.\n", "stderr_lines": ["E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease  521  <none> [IP: 172.66.152.176 80]", "E: The repository 'http://security.ubuntu.com/ubuntu jammy-security InRelease' is not signed.", "E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  521  <none> [IP: 104.20.28.246 80]", "E: The repository 'http://archive.ubuntu.com/ubuntu jammy-updates InRelease' is not signed."], "stdout": "Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]\nErr:2 http://security.ubuntu.com/ubuntu jammy-security InRelease\n  521  <none> [IP: 172.66.152.176 80]\nErr:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\n  521  <none> [IP: 104.20.28.246 80]\nGet:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]\nGet:5 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]\nGet:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]\nGet:7 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]\nGet:8 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]\nGet:9 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [82.8 kB]\nGet:10 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [35.6 kB]\nReading package lists...\n", "stdout_lines": ["Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]", "Err:2 http://security.ubuntu.com/ubuntu jammy-security InRelease", "  521  <none> [IP: 172.66.152.176 80]", "Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease", "  521  <none> [IP: 104.20.28.246 80]", "Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]", "Get:5 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]", "Get:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]", "Get:7 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]", "Get:8 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]", "Get:9 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [82.8 kB]", "Get:10 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [35.6 kB]", "Reading package lists..."]}␛[0m
2026-05-05T08:22:24.7133693Z 
2026-05-05T08:22:24.7133945Z PLAY RECAP *********************************************************************
2026-05-05T08:22:24.7135179Z ␛[0;31mtesthost␛[0m                   : ␛[0;32mok=3   ␛[0m ␛[0;33mchanged=2   ␛[0m unreachable=0    ␛[0;31mfailed=1   ␛[0m skipped=0    rescued=0    ignored=0   
2026-05-05T08:22:24.7135931Z 
2026-05-05T08:22:24.7639926Z ␛[31mERROR: Command "ansible-playbook test_mysql_db-pi4or33x.yml -i inventory --diff -v" returned exit status 2.␛[0m
2026-05-05T08:22:24.7641303Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:22:24.7642097Z Running test_mysql_info integration test role
2026-05-05T08:22:24.7696825Z ␛[32mStream command: ansible-playbook test_mysql_info-qc6twwjd.yml -i inventory --diff -v␛[0m
2026-05-05T08:22:25.5355726Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:22:25.5357016Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:22:25.5357407Z 
2026-05-05T08:22:25.5357641Z PLAY [testhost] ****************************************************************
2026-05-05T08:22:25.5358104Z 
2026-05-05T08:22:25.5358348Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:22:26.4728960Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:22:26.4729190Z 
2026-05-05T08:22:26.4729484Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:22:26.8425458Z ␛[0;31m--- before␛[0m
2026-05-05T08:22:26.8425890Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:22:26.8426324Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:22:26.8426725Z ␛[0;36m␛[0m {
2026-05-05T08:22:26.8427781Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:22:26.8429365Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:22:26.8429837Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:22:26.8430264Z ␛[0;32m␛[0m }
2026-05-05T08:22:26.8430422Z 
2026-05-05T08:22:26.8432720Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:22:26.8434389Z 
2026-05-05T08:22:26.8434768Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:22:27.0880365Z ␛[0;31m--- before␛[0m
2026-05-05T08:22:27.0880770Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:22:27.0881137Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:22:27.0881492Z ␛[0;36m␛[0m {
2026-05-05T08:22:27.0881792Z ␛[0;31m-    "atime": 1777969347.0544157,␛[0m
2026-05-05T08:22:27.0882251Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969347.0544157,␛[0m
2026-05-05T08:22:27.0882714Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969347.0555012,␛[0m
2026-05-05T08:22:27.0883168Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969347.0555012,␛[0m
2026-05-05T08:22:27.0884502Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:22:27.0885649Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:22:27.0886034Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:22:27.0886385Z ␛[0;32m␛[0m }
2026-05-05T08:22:27.0886534Z 
2026-05-05T08:22:27.0888136Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:22:27.0890179Z 
2026-05-05T08:22:27.0890504Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:24:37.5265786Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969474, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:24:37.5266648Z 
2026-05-05T08:24:37.5267103Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:24:38.2428046Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:24:38.2428573Z 
2026-05-05T08:24:38.2428869Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:24:38.3193007Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:24:38.3194289Z 
2026-05-05T08:24:38.3194594Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:24:38.3956826Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:24:38.3958683Z 
2026-05-05T08:24:38.3959008Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:24:38.4734854Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:24:38.4736618Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:24:38.4737064Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:24:38.4737560Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:24:38.4737995Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:24:38.4738601Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:24:38.4739100Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:24:38.4739543Z ␛[0;32m    ]␛[0m
2026-05-05T08:24:38.4739845Z ␛[0;32m}␛[0m
2026-05-05T08:24:38.4739989Z 
2026-05-05T08:24:38.4740288Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:24:39.2817936Z ␛[0;31m--- before␛[0m
2026-05-05T08:24:39.2820161Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/targets/setup_controller/files/mysql_pubkey.asc␛[0m
2026-05-05T08:24:39.2821473Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,52 @@␛[0m
2026-05-05T08:24:39.2822028Z ␛[0;36m␛[0m␛[0;32m+-----BEGIN PGP PUBLIC KEY BLOCK-----␛[0m
2026-05-05T08:24:39.2822482Z ␛[0;32m␛[0m␛[0;32m+␛[0m
2026-05-05T08:24:39.2823080Z ␛[0;32m␛[0m␛[0;32m+mQINBGU2rNoBEACSi5t0nL6/Hj3d0PwsbdnbY+SqLUIZ3uWZQm6tsNhvTnahvPPZ␛[0m
2026-05-05T08:24:39.2824041Z ␛[0;32m␛[0m␛[0;32m+BGdl99iWYTt2KmXp0KeN2s9pmLKkGAbacQP1RqzMFnoHawSMf0qTUVjAvhnI4+qz␛[0m
2026-05-05T08:24:39.2824978Z ␛[0;32m␛[0m␛[0;32m+MDjTNSBq9fa3nHmOYxownnrRkpiQUM/yD7/JmVENgwWb6akZeGYrXch9jd4XV3t8␛[0m
2026-05-05T08:24:39.2825817Z ␛[0;32m␛[0m␛[0;32m+OD6TGzTedTki0TDNr6YZYhC7jUm9fK9Zs299pzOXSxRRNGd+3H9gbXizrBu4L/3l␛[0m
2026-05-05T08:24:39.2826600Z ␛[0;32m␛[0m␛[0;32m+UrNf//rM7OvV9Ho7u9YYyAQ3L3+OABK9FKHNhrpi8Q0cbhvWkD4oCKJ+YZ54XrOG␛[0m
2026-05-05T08:24:39.2827385Z ␛[0;32m␛[0m␛[0;32m+0YTg/YUAs5/3//FATI1sWdtLjJ5pSb0onV3LIbarRTN8lC4Le/5kd3lcot9J8b3E␛[0m
2026-05-05T08:24:39.2828156Z ␛[0;32m␛[0m␛[0;32m+MXL5p9OGW7wBfmNVRSUI74Vmwt+v9gyp0Hd0keRCUn8lo/1V0YD9i92KsE+/IqoY␛[0m
2026-05-05T08:24:39.2829136Z ␛[0;32m␛[0m␛[0;32m+Tjnya/5kX41jB8vr1ebkHFuJ404+G6ETd0owwxq64jLIcsp/GBZHGU0RKKAo9DRL␛[0m
2026-05-05T08:24:39.2829895Z ␛[0;32m␛[0m␛[0;32m+H7rpQ7PVlnw8TDNlOtWt5EJlBXFcPL+NgWbqkADAyA/XSNeWlqonvPlYfmasnAHA␛[0m
2026-05-05T08:24:39.2830675Z ␛[0;32m␛[0m␛[0;32m+pMd9NhPQhC7hJTjCiAwG8UyWpV8Dj07DHFQ5xBbkTnKH2OrJtguPqSNYtTASbsWz␛[0m
2026-05-05T08:24:39.2831452Z ␛[0;32m␛[0m␛[0;32m+09S8ujoTDXFT17NbFM2dMIiq0a4VQB3SzH13H2io9Cbg/TzJrJGmwgoXgwARAQAB␛[0m
2026-05-05T08:24:39.2832238Z ␛[0;32m␛[0m␛[0;32m+tDZNeVNRTCBSZWxlYXNlIEVuZ2luZWVyaW5nIDxteXNxbC1idWlsZEBvc3Mub3Jh␛[0m
2026-05-05T08:24:39.2833042Z ␛[0;32m␛[0m␛[0;32m+Y2xlLmNvbT6JAlQEEwEIAD4CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQS8␛[0m
2026-05-05T08:24:39.2833848Z ␛[0;32m␛[0m␛[0;32m+pDQXw7SF3RKOxtS3s7eIqNN4XAUCaPoZowUJB4XTyQAKCRC3s7eIqNN4XAIED/9F␛[0m
2026-05-05T08:24:39.2834708Z ␛[0;32m␛[0m␛[0;32m+8cSgF+VHilpXe8gSTbVn5sNRnAsIYgMonsGqsrzUOv+3Gy4+e4guhRLe3m1PpQJq␛[0m
2026-05-05T08:24:39.2835573Z ␛[0;32m␛[0m␛[0;32m+yIQ/upbGptP48YsIY8ix2pyzYr1dB8W1TcNUYcQvTdb8/Exd1nDpLzdwoil7b5W2␛[0m
2026-05-05T08:24:39.2836220Z ␛[0;32m␛[0m␛[0;32m+r3jpsor/b1cou7vju/ObBbkU5xai4waCMqO9llp3ePQTJBa1RwV01taryGZJa2xR␛[0m
2026-05-05T08:24:39.2836835Z ␛[0;32m␛[0m␛[0;32m+Ke7k1lwdWINALICIQ0aSfy3Q24lWlj0CRiDxAE7UdbtBaqyr5omqUnOXR5kZdnOf␛[0m
2026-05-05T08:24:39.2837462Z ␛[0;32m␛[0m␛[0;32m+jyAbsofMuQNSLTUg1hoSunp9llv/ayeaCu54qkmkqG8U5gKUDNnYhLTIto7uf2A8␛[0m
2026-05-05T08:24:39.2838055Z ␛[0;32m␛[0m␛[0;32m+6Ufr2/P1hiJ6MzvHKEI+xtvalKDm5M+/kwSXTnT4e2ERJ0eBnfxwfJlThcYCWOsy␛[0m
2026-05-05T08:24:39.2838984Z ␛[0;32m␛[0m␛[0;32m+M1jyRaFqXYKxF+r/bfvXga/C+n7VbDEV9VdXfTEjDiSjoeLzaNkNNaDqrp5k4VSk␛[0m
2026-05-05T08:24:39.2839633Z ␛[0;32m␛[0m␛[0;32m+ekeGluOhYdXOiBI2oSDAP2dvIcpQYuQIrU3TW2YHRLhrN57IaTeFYCA7ij6k8GdQ␛[0m
2026-05-05T08:24:39.2840298Z ␛[0;32m␛[0m␛[0;32m+YL15Hub9SavhMQ1qwLTLRp0QeKTvw2y1cZ9yJD3rih3NZq0Ul3rZel7TfDG+TX6n␛[0m
2026-05-05T08:24:39.2840923Z ␛[0;32m␛[0m␛[0;32m+57mBk2z0zmNGuqLirQr6TUUM0Fvl26Zael5w4n5wRKsUdj3/GjchMGWLlu52s+0M␛[0m
2026-05-05T08:24:39.2841553Z ␛[0;32m␛[0m␛[0;32m+KuB9nNowTIejuhT57x7H67Ho88eIZaWmFC9psvCHJLkCDQRlNqzaARAAsdvBo8WR␛[0m
2026-05-05T08:24:39.2842189Z ␛[0;32m␛[0m␛[0;32m+qZ5WVVk6lReD8b6Zx83eJUkV254YX9zn5t8KDRjYOySwS75mJIaZLsv0YQjJk+5r␛[0m
2026-05-05T08:24:39.2842817Z ␛[0;32m␛[0m␛[0;32m+t10tejyCrJIFo9CMvCmjUKtVbgmhfS5+fUDRrYCEZBBSa0Dvn68EBLiHugr+SPXF␛[0m
2026-05-05T08:24:39.2843442Z ␛[0;32m␛[0m␛[0;32m+6o1hXEUqdMCpB6oVp6X45JVQroCKIH5vsCtw2jU8S2/IjjV0V+E/zitGCiZaoZ1f␛[0m
2026-05-05T08:24:39.2844046Z ␛[0;32m␛[0m␛[0;32m+6NG7ozyFep1CSAReZu/sssk0pCLlfCebRd9Rz3QjSrQhWYuJa+eJmiF4oahnpUGk␛[0m
2026-05-05T08:24:39.2844644Z ␛[0;32m␛[0m␛[0;32m+txMD632I9aG+IMfjtNJNtX32MbO+Se+cCtVc3cxSa/pR+89a3cb9IBA5tFF2Qoek␛[0m
2026-05-05T08:24:39.2845254Z ␛[0;32m␛[0m␛[0;32m+hqo/1mmLi93Xn6uDUhl5tVxTnB217dBT27tw+p0hjd9hXZRQbrIZUTyh3+8EMfmA␛[0m
2026-05-05T08:24:39.2846159Z ␛[0;32m␛[0m␛[0;32m+jNSIeR+th86xRd9XFRr9EOqrydnALOUr9cT7TfXWGEkFvn6ljQX7f4RvjJOTbc4j␛[0m
2026-05-05T08:24:39.2846821Z ␛[0;32m␛[0m␛[0;32m+JgVFyu8K+VU6u1NnFJgDiNGsWvnYxAf7gDDbUSXEuC2anhWvxPvpLGmsspngge4y␛[0m
2026-05-05T08:24:39.2847446Z ␛[0;32m␛[0m␛[0;32m+l+3nv+UqZ9sm6LCebR/7UZ67tYz3p6xzAOVgYsYcxoIUuEZXjHQtsYfTZZhrjUWB␛[0m
2026-05-05T08:24:39.2848078Z ␛[0;32m␛[0m␛[0;32m+J09jrMvlKUHLnS437SLbgoXVYZmcqwAWpVNOLZf+fFm4IE5aGBG5Dho2CZ6ujngW␛[0m
2026-05-05T08:24:39.2848991Z ␛[0;32m␛[0m␛[0;32m+9Zkn98T1d4N0MEwwXa2V6T1ijzcqD7GApZUAEQEAAYkCPAQYAQgAJgIbDBYhBLyk␛[0m
2026-05-05T08:24:39.2849629Z ␛[0;32m␛[0m␛[0;32m+NBfDtIXdEo7G1Lezt4io03hcBQJo+hmtBQkHhdPTAAoJELezt4io03hcOTAP/2Js␛[0m
2026-05-05T08:24:39.2850242Z ␛[0;32m␛[0m␛[0;32m+Mj7a1xIeWN35+lvnsVE1t68hhipLUO0/Cj7pV8QsBUlIrs9u6cQ2Qzz5VGTHTd6Y␛[0m
2026-05-05T08:24:39.2850851Z ␛[0;32m␛[0m␛[0;32m+hrX5xsPP8TUh50DWBx74IeFf8o5WxKlZ3eH0WnO0O96qNKW5BpQRsWNjF1kBWx6l␛[0m
2026-05-05T08:24:39.2851463Z ␛[0;32m␛[0m␛[0;32m+nSyduMZRUTV4+2EeEciwXiBDPl5kHqW/Q7bGoV0YokwF1CC2igdCmHM+MY97Fpt8␛[0m
2026-05-05T08:24:39.2852071Z ␛[0;32m␛[0m␛[0;32m+cbzakl8kp2U4Z+fJ9oX467FF355pnEAxO0msZqjgyxolP/EcgIiqufzuRSYXk8te␛[0m
2026-05-05T08:24:39.2852675Z ␛[0;32m␛[0m␛[0;32m+RsaC7elR+Bpi51CBgyl9EIEpoX/PfIBN3buEbb5zwMNL0PGw6b44oams6P5cMpbz␛[0m
2026-05-05T08:24:39.2853294Z ␛[0;32m␛[0m␛[0;32m+GWikFGnDJyikVXlJuvaQdAQv7xMBvYU7HcLiYcM4Pt9uVGNEU321QIovFLhx/vH5␛[0m
2026-05-05T08:24:39.2853901Z ␛[0;32m␛[0m␛[0;32m+7Df+Fxx8FfHFP3MjVPzmldGHL67tUvquCTSxB/8fwEfA4b5abZwNy3E10DYhL4w5␛[0m
2026-05-05T08:24:39.2854509Z ␛[0;32m␛[0m␛[0;32m+PjzXl4/kbnVpZwtuyS5qMNg9n6cEWiSo15ldzV5iHTyprXx3RhO6krpJUFAcbCEw␛[0m
2026-05-05T08:24:39.2855137Z ␛[0;32m␛[0m␛[0;32m+r2LmI2XYZguvGCSFm3LCuf4g7GDJ1u3RAtivCNCQ4sVgTLPoCNGW90Unf44s3vzm␛[0m
2026-05-05T08:24:39.2855758Z ␛[0;32m␛[0m␛[0;32m+WDREXgkzSZthslxJHPE5y3Kh0qM1jQSuN+VNVHLGriOaOlYRtZoGGStONYhlBCoJ␛[0m
2026-05-05T08:24:39.2856287Z ␛[0;32m␛[0m␛[0;32m+udMv77etKsN/mPdhJotVLMUpzeespcu5G2qqc5zt␛[0m
2026-05-05T08:24:39.2856619Z ␛[0;32m␛[0m␛[0;32m+=6wRS␛[0m
2026-05-05T08:24:39.2856922Z ␛[0;32m␛[0m␛[0;32m+-----END PGP PUBLIC KEY BLOCK-----␛[0m
2026-05-05T08:24:39.2857212Z ␛[0;32m␛[0m
2026-05-05T08:24:39.2859038Z ␛[0;33mchanged: [testhost] => {"changed": true, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "md5sum": "e82c852f0cec56cc40cd7a7111304835", "mode": "0644", "owner": "root", "size": 3175, "src": "/root/.ansible/tmp/ansible-tmp-1777969478.5449462-675-210663235474144/.source.asc", "state": "file", "uid": 0}␛[0m
2026-05-05T08:24:39.2860443Z 
2026-05-05T08:24:39.2860660Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:24:41.5037463Z The following additional packages will be installed:
2026-05-05T08:24:41.5038013Z   python3-chardet
2026-05-05T08:24:41.5038531Z The following NEW packages will be installed:
2026-05-05T08:24:41.5039017Z   python3-chardet python3-debian
2026-05-05T08:24:41.5039512Z 0 upgraded, 2 newly installed, 0 to remove and 146 not upgraded.
2026-05-05T08:24:41.5060281Z ␛[0;33mchanged: [testhost] => {"cache_update_time": 1777969474, "cache_updated": false, "changed": true, "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n", "stderr_lines": ["debconf: delaying package configuration, since apt-utils is not installed"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  python3-chardet\nThe following NEW packages will be installed:\n  python3-chardet python3-debian\n0 upgraded, 2 newly installed, 0 to remove and 146 not upgraded.\nNeed to get 205 kB of archives.\nAfter this operation, 1660 kB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 python3-chardet all 4.0.0-1 [98.0 kB]\nGet:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-debian all 0.1.43ubuntu1.1 [107 kB]\nFetched 205 kB in 0s (7415 kB/s)\nSelecting previously unselected package python3-chardet.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 27867 files and directories currently installed.)\r\nPreparing to unpack .../python3-chardet_4.0.0-1_all.deb ...\r\nUnpacking python3-chardet (4.0.0-1) ...\r\nSelecting previously unselected package python3-debian.\r\nPreparing to unpack .../python3-debian_0.1.43ubuntu1.1_all.deb ...\r\nUnpacking python3-debian (0.1.43ubuntu1.1) ...\r\nSetting up python3-chardet (4.0.0-1) ...\r\nSetting up python3-debian (0.1.43ubuntu1.1) ...\r\nProcessing triggers for man-db (2.10.2-1) ...\r\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "The following additional packages will be installed:", "  python3-chardet", "The following NEW packages will be installed:", "  python3-chardet python3-debian", "0 upgraded, 2 newly installed, 0 to remove and 146 not upgraded.", "Need to get 205 kB of archives.", "After this operation, 1660 kB of additional disk space will be used.", "Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 python3-chardet all 4.0.0-1 [98.0 kB]", "Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3-debian all 0.1.43ubuntu1.1 [107 kB]", "Fetched 205 kB in 0s (7415 kB/s)", "Selecting previously unselected package python3-chardet.", "(Reading database ... ", "(Reading database ... 5%", "(Reading database ... 10%", "(Reading database ... 15%", "(Reading database ... 20%", "(Reading database ... 25%", "(Reading database ... 30%", "(Reading database ... 35%", "(Reading database ... 40%", "(Reading database ... 45%", "(Reading database ... 50%", "(Reading database ... 55%", "(Reading database ... 60%", "(Reading database ... 65%", "(Reading database ... 70%", "(Reading database ... 75%", "(Reading database ... 80%", "(Reading database ... 85%", "(Reading database ... 90%", "(Reading database ... 95%", "(Reading database ... 100%", "(Reading database ... 27867 files and directories currently installed.)", "Preparing to unpack .../python3-chardet_4.0.0-1_all.deb ...", "Unpacking python3-chardet (4.0.0-1) ...", "Selecting previously unselected package python3-debian.", "Preparing to unpack .../python3-debian_0.1.43ubuntu1.1_all.deb ...", "Unpacking python3-debian (0.1.43ubuntu1.1) ...", "Setting up python3-chardet (4.0.0-1) ...", "Setting up python3-debian (0.1.43ubuntu1.1) ...", "Processing triggers for man-db (2.10.2-1) ..."]}␛[0m
2026-05-05T08:24:41.5073210Z 
2026-05-05T08:24:41.5073451Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:24:41.9642071Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:24:41.9645159Z 
2026-05-05T08:24:41.9645669Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:25:26.2409049Z The following additional packages will be installed:
2026-05-05T08:25:26.2409781Z   mysql-common mysql-community-client mysql-community-client-core
2026-05-05T08:25:26.2410376Z   mysql-community-client-plugins
2026-05-05T08:25:26.2410826Z The following NEW packages will be installed:
2026-05-05T08:25:26.2411522Z   mysql-client mysql-common mysql-community-client mysql-community-client-core
2026-05-05T08:25:26.2412818Z   mysql-community-client-plugins
2026-05-05T08:25:26.2413362Z 0 upgraded, 5 newly installed, 0 to remove and 146 not upgraded.
2026-05-05T08:25:26.2450224Z ␛[0;33mchanged: [testhost] => {"cache_update_time": 1777969523, "cache_updated": true, "changed": true, "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n", "stderr_lines": ["debconf: delaying package configuration, since apt-utils is not installed"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  mysql-common mysql-community-client mysql-community-client-core\n  mysql-community-client-plugins\nThe following NEW packages will be installed:\n  mysql-client mysql-common mysql-community-client mysql-community-client-core\n  mysql-community-client-plugins\n0 upgraded, 5 newly installed, 0 to remove and 146 not upgraded.\nNeed to get 7436 kB of archives.\nAfter this operation, 78.9 MB of additional disk space will be used.\nGet:1 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-common amd64 8.4.9-1ubuntu22.04 [60.6 kB]\nGet:2 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client-plugins amd64 8.4.9-1ubuntu22.04 [1686 kB]\nGet:3 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client-core amd64 8.4.9-1ubuntu22.04 [2276 kB]\nGet:4 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client amd64 8.4.9-1ubuntu22.04 [3354 kB]\nGet:5 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-client amd64 8.4.9-1ubuntu22.04 [59.3 kB]\nFetched 7436 kB in 0s (34.3 MB/s)\nSelecting previously unselected package mysql-common.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 27984 files and directories currently installed.)\r\nPreparing to unpack .../mysql-common_8.4.9-1ubuntu22.04_amd64.deb ...\r\nUnpacking mysql-common (8.4.9-1ubuntu22.04) ...\r\nSelecting previously unselected package mysql-community-client-plugins.\r\nPreparing to unpack .../mysql-community-client-plugins_8.4.9-1ubuntu22.04_amd64.deb ...\r\nUnpacking mysql-community-client-plugins (8.4.9-1ubuntu22.04) ...\r\nSelecting previously unselected package mysql-community-client-core.\r\nPreparing to unpack .../mysql-community-client-core_8.4.9-1ubuntu22.04_amd64.deb ...\r\nUnpacking mysql-community-client-core (8.4.9-1ubuntu22.04) ...\r\nSelecting previously unselected package mysql-community-client.\r\nPreparing to unpack .../mysql-community-client_8.4.9-1ubuntu22.04_amd64.deb ...\r\nUnpacking mysql-community-client (8.4.9-1ubuntu22.04) ...\r\nSelecting previously unselected package mysql-client.\r\nPreparing to unpack .../mysql-client_8.4.9-1ubuntu22.04_amd64.deb ...\r\nUnpacking mysql-client (8.4.9-1ubuntu22.04) ...\r\nSetting up mysql-common (8.4.9-1ubuntu22.04) ...\r\nupdate-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode\r\nSetting up mysql-community-client-plugins (8.4.9-1ubuntu22.04) ...\r\nSetting up mysql-community-client-core (8.4.9-1ubuntu22.04) ...\r\nSetting up mysql-community-client (8.4.9-1ubuntu22.04) ...\r\nSetting up mysql-client (8.4.9-1ubuntu22.04) ...\r\nProcessing triggers for man-db (2.10.2-1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.6) ...\r\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "The following additional packages will be installed:", "  mysql-common mysql-community-client mysql-community-client-core", "  mysql-community-client-plugins", "The following NEW packages will be installed:", "  mysql-client mysql-common mysql-community-client mysql-community-client-core", "  mysql-community-client-plugins", "0 upgraded, 5 newly installed, 0 to remove and 146 not upgraded.", "Need to get 7436 kB of archives.", "After this operation, 78.9 MB of additional disk space will be used.", "Get:1 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-common amd64 8.4.9-1ubuntu22.04 [60.6 kB]", "Get:2 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client-plugins amd64 8.4.9-1ubuntu22.04 [1686 kB]", "Get:3 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client-core amd64 8.4.9-1ubuntu22.04 [2276 kB]", "Get:4 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-community-client amd64 8.4.9-1ubuntu22.04 [3354 kB]", "Get:5 http://repo.mysql.com/apt/ubuntu jammy/mysql-8.4-lts amd64 mysql-client amd64 8.4.9-1ubuntu22.04 [59.3 kB]", "Fetched 7436 kB in 0s (34.3 MB/s)", "Selecting previously unselected package mysql-common.", "(Reading database ... ", "(Reading database ... 5%", "(Reading database ... 10%", "(Reading database ... 15%", "(Reading database ... 20%", "(Reading database ... 25%", "(Reading database ... 30%", "(Reading database ... 35%", "(Reading database ... 40%", "(Reading database ... 45%", "(Reading database ... 50%", "(Reading database ... 55%", "(Reading database ... 60%", "(Reading database ... 65%", "(Reading database ... 70%", "(Reading database ... 75%", "(Reading database ... 80%", "(Reading database ... 85%", "(Reading database ... 90%", "(Reading database ... 95%", "(Reading database ... 100%", "(Reading database ... 27984 files and directories currently installed.)", "Preparing to unpack .../mysql-common_8.4.9-1ubuntu22.04_amd64.deb ...", "Unpacking mysql-common (8.4.9-1ubuntu22.04) ...", "Selecting previously unselected package mysql-community-client-plugins.", "Preparing to unpack .../mysql-community-client-plugins_8.4.9-1ubuntu22.04_amd64.deb ...", "Unpacking mysql-community-client-plugins (8.4.9-1ubuntu22.04) ...", "Selecting previously unselected package mysql-community-client-core.", "Preparing to unpack .../mysql-community-client-core_8.4.9-1ubuntu22.04_amd64.deb ...", "Unpacking mysql-community-client-core (8.4.9-1ubuntu22.04) ...", "Selecting previously unselected package mysql-community-client.", "Preparing to unpack .../mysql-community-client_8.4.9-1ubuntu22.04_amd64.deb ...", "Unpacking mysql-community-client (8.4.9-1ubuntu22.04) ...", "Selecting previously unselected package mysql-client.", "Preparing to unpack .../mysql-client_8.4.9-1ubuntu22.04_amd64.deb ...", "Unpacking mysql-client (8.4.9-1ubuntu22.04) ...", "Setting up mysql-common (8.4.9-1ubuntu22.04) ...", "update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode", "Setting up mysql-community-client-plugins (8.4.9-1ubuntu22.04) ...", "Setting up mysql-community-client-core (8.4.9-1ubuntu22.04) ...", "Setting up mysql-community-client (8.4.9-1ubuntu22.04) ...", "Setting up mysql-client (8.4.9-1ubuntu22.04) ...", "Processing triggers for man-db (2.10.2-1) ...", "Processing triggers for libc-bin (2.35-0ubuntu3.6) ..."]}␛[0m
2026-05-05T08:25:26.2480960Z 
2026-05-05T08:25:26.2481453Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:25:27.2617352Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Collecting pymysql==0.9.3\n  Downloading PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.7/47.7 KB 3.6 MB/s eta 0:00:00\nInstalling collected packages: pymysql\nSuccessfully installed pymysql-0.9.3\n", "stdout_lines": ["Collecting pymysql==0.9.3", "  Downloading PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)", "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.7/47.7 KB 3.6 MB/s eta 0:00:00", "Installing collected packages: pymysql", "Successfully installed pymysql-0.9.3"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:25:27.2625917Z 
2026-05-05T08:25:27.2626406Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:25:27.7737256Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:27.7738300Z 
2026-05-05T08:25:27.7738944Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:25:27.8435790Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:27.8436174Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:27.8436534Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:27.8436867Z ␛[0;32m}␛[0m
2026-05-05T08:25:27.8436987Z 
2026-05-05T08:25:27.8437345Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:25:27.9146802Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:27.9147168Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:27.9147500Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:27.9147807Z ␛[0;32m}␛[0m
2026-05-05T08:25:27.9147914Z 
2026-05-05T08:25:27.9148163Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:25:28.2792914Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.017762", "end": "2026-05-05 08:25:28.245583", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:25:28.227821", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:25:28.2794708Z 
2026-05-05T08:25:28.2795035Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:25:28.3576706Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:28.3577526Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:25:28.3578076Z ␛[0;32m}␛[0m
2026-05-05T08:25:28.3578224Z 
2026-05-05T08:25:28.3578884Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:25:28.4342325Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:28.4342802Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:28.4343227Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:28.4343650Z ␛[0;32m}␛[0m
2026-05-05T08:25:28.4343803Z 
2026-05-05T08:25:28.4344275Z TASK [setup_remote_tmp_dir : make sure we have the ansible_os_family and ansible_distribution_version facts] ***
2026-05-05T08:25:28.5017091Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "ansible_facts == {}", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:28.5017881Z 
2026-05-05T08:25:28.5018174Z TASK [setup_remote_tmp_dir : include_tasks] ************************************
2026-05-05T08:25:28.6100379Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/targets/setup_remote_tmp_dir/tasks/default.yml for testhost␛[0m
2026-05-05T08:25:28.6101493Z 
2026-05-05T08:25:28.6101771Z TASK [setup_remote_tmp_dir : create temporary directory] ***********************
2026-05-05T08:25:28.9442168Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/ansible.tyzskn7t.test", "size": 40, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:25:28.9443116Z 
2026-05-05T08:25:28.9443392Z TASK [setup_remote_tmp_dir : record temporary directory] ***********************
2026-05-05T08:25:29.0192843Z ␛[0;32mok: [testhost] => {"ansible_facts": {"remote_tmp_dir": "/tmp/ansible.tyzskn7t.test"}, "changed": false}␛[0m
2026-05-05T08:25:29.0193481Z 
2026-05-05T08:25:29.0193787Z TASK [test_mysql_info : mysql_info - create default config file] ***************
2026-05-05T08:25:29.9069114Z ␛[0;31m--- before: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf␛[0m
2026-05-05T08:25:29.9070431Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/.ansible/tmp/ansible-local-315oetgquel/tmpggv6povy/my.cnf.j2␛[0m
2026-05-05T08:25:29.9071061Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,5 @@␛[0m
2026-05-05T08:25:29.9071406Z ␛[0;36m␛[0m␛[0;32m+[client]␛[0m
2026-05-05T08:25:29.9071723Z ␛[0;32m␛[0m␛[0;32m+user=root␛[0m
2026-05-05T08:25:29.9072301Z ␛[0;32m␛[0m␛[0;32m+***
2026-05-05T08:25:29.9072609Z ␛[0;32m␛[0m␛[0;32m+host=172.18.0.1␛[0m
2026-05-05T08:25:29.9072955Z ␛[0;32m␛[0m␛[0;32m+port=3307␛[0m
2026-05-05T08:25:29.9073244Z ␛[0;32m␛[0m
2026-05-05T08:25:29.9075885Z ␛[0;33mchanged: [testhost] => {"changed": true, "checksum": "81c82ec6080cee61f2385647937589ecac29477a", "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "md5sum": "5160ee4f271fe79877808bb971e10d36", "mode": "0400", "owner": "root", "size": 63, "src": "/root/.ansible/tmp/ansible-tmp-1777969529.079094-1160-237373365294007/.source.cnf", "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:29.9078153Z 
2026-05-05T08:25:29.9079247Z TASK [test_mysql_info : mysql_info - create non-default config file] ***********
2026-05-05T08:25:30.5162285Z ␛[0;31m--- before␛[0m
2026-05-05T08:25:30.5163001Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/.ansible/tmp/ansible-local-315oetgquel/tmp_ye0a5ng/my.cnf.j2␛[0m
2026-05-05T08:25:30.5163599Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,5 @@␛[0m
2026-05-05T08:25:30.5163912Z ␛[0;36m␛[0m␛[0;32m+[client]␛[0m
2026-05-05T08:25:30.5164180Z ␛[0;32m␛[0m␛[0;32m+user=root␛[0m
2026-05-05T08:25:30.5164642Z ␛[0;32m␛[0m␛[0;32m+***
2026-05-05T08:25:30.5164906Z ␛[0;32m␛[0m␛[0;32m+host=172.18.0.1␛[0m
2026-05-05T08:25:30.5165201Z ␛[0;32m␛[0m␛[0;32m+port=3307␛[0m
2026-05-05T08:25:30.5165451Z ␛[0;32m␛[0m
2026-05-05T08:25:30.5167796Z ␛[0;33mchanged: [testhost] => {"changed": true, "checksum": "81c82ec6080cee61f2385647937589ecac29477a", "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/root/non-default_my.cnf", "gid": 0, "group": "root", "md5sum": "5160ee4f271fe79877808bb971e10d36", "mode": "0400", "owner": "root", "size": 63, "src": "/root/.ansible/tmp/ansible-tmp-1777969529.966651-1199-262080753524784/.source.cnf", "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:30.5171799Z 
2026-05-05T08:25:30.9826126Z TASK [test_mysql_info : mysql_info - collect default cred file] ****************
2026-05-05T08:25:31.0014932Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 0, "Aborted_connects": 0, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 0, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 0, "Bytes_received": 8231, "Bytes_sent": 48559, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 34, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 0, "Com_alter_user_default_role": 0, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 1, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 0, "Com_create_db": 1, "Com_create_event": 0, "Com_create_function": 0, "Com_create_index": 0, "Com_create_procedure": 0, "Com_create_resource_group": 0, "Com_create_role": 0, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 35, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 0, "Com_create_view": 0, "Com_dealloc_sql": 0, "Com_delete": 0, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 0, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 0, "Com_drop_resource_group": 0, "Com_drop_role": 0, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 0, "Com_drop_trigger": 0, "Com_drop_user": 0, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 1, "Com_get_diagnostics": 0, "Com_grant": 0, "Com_grant_roles": 0, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 0, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 0, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 0, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 0, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 0, "Com_revoke_all": 0, "Com_revoke_roles": 0, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 7, "Com_set_option": 6, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 0, "Com_show_binary_log_status": 0, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 0, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 0, "Com_show_create_trigger": 0, "Com_show_create_user": 0, "Com_show_databases": 0, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 0, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 0, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 0, "Com_show_replicas": 0, "Com_show_status": 1, "Com_show_storage_engines": 0, "Com_show_table_status": 0, "Com_show_tables": 0, "Com_show_triggers": 0, "Com_show_variables": 2, "Com_show_warnings": 0, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 0, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 0, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 43, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 4, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1208, "Error_log_buffered_events": 9, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969190726119, "Flush_commands": 3, "Global_connection_memory": 0, "Handler_commit": 2217, "Handler_delete": 8, "Handler_discover": 0, "Handler_external_lock": 13057, "Handler_mrr_init": 0, "Handler_prepare": 0, "Handler_read_first": 43, "Handler_read_key": 5261, "Handler_read_last": 0, "Handler_read_next": 6300, "Handler_read_prev": 0, "Handler_read_rnd": 0, "Handler_read_rnd_next": 3060, "Handler_rollback": 0, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 657, "Handler_write": 1256, "Innodb_buffer_pool_bytes_data": 17465344, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1066, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 195, "Innodb_buffer_pool_pages_free": 7126, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 0, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 25660, "Innodb_buffer_pool_reads": 921, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 1931, "Innodb_data_fsyncs": 75, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 15206912, "Innodb_data_reads": 944, "Innodb_data_writes": 257, "Innodb_data_written": 3280896, "Innodb_dblwr_pages_written": 54, "Innodb_dblwr_writes": 4, "Innodb_log_waits": 0, "Innodb_log_write_requests": 840, "Innodb_log_writes": 32, "Innodb_num_open_files": 15, "Innodb_os_log_fsyncs": 26, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 57856, "Innodb_page_size": 16384, "Innodb_pages_created": 143, "Innodb_pages_read": 923, "Innodb_pages_written": 195, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 32268004, "Innodb_redo_log_current_lsn": 32268004, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 32268004, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 3276800, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 0, "Innodb_rows_inserted": 0, "Innodb_rows_read": 0, "Innodb_rows_updated": 0, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 8, "Innodb_system_rows_inserted": 8, "Innodb_system_rows_read": 7705, "Innodb_system_rows_updated": 331, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 1, "Max_used_connections_time": "2026-05-05 08:19:54", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 6, "Open_streams": 0, "Open_table_definitions": 162, "Open_tables": 192, "Opened_files": 6, "Opened_table_definitions": 200, "Opened_tables": 273, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 104, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 82, "Questions": 47, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 1, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 7, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 0, "Sort_scan": 0, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 0, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 0, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 3, "Table_locks_waited": 0, "Table_open_cache_hits": 6371, "Table_open_cache_misses": 273, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 0, "Threads_connected": 1, "Threads_created": 1, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 340, "Uptime_since_flush_status": 340}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 158}, "server_engine": "MySQL", "settings": {"activate_all_roles_on_login": "OFF", "admin_address": "", "admin_port": 33062, "admin_ssl_ca": "", "admin_ssl_capath": "", "admin_ssl_cert": "", "admin_ssl_cipher": "", "admin_ssl_crl": "", "admin_ssl_crlpath": "", "admin_ssl_key": "", "admin_tls_ciphersuites": "", "admin_tls_version": "TLSv1.2,TLSv1.3", "authentication_policy": "*,,", "auto_generate_certs": "ON", "auto_increment_increment": 1, "auto_increment_offset": 1, "autocommit": "ON", "automatic_sp_privileges": "ON", "back_log": 151, "basedir": "/usr/", "big_tables": "OFF", "bind_address": "*", "binlog_cache_size": 32768, "binlog_checksum": "CRC32", "binlog_direct_non_transactional_updates": "OFF", "binlog_encryption": "OFF", "binlog_error_action": "ABORT_SERVER", "binlog_expire_logs_auto_purge": "ON", "binlog_expire_logs_seconds": 2592000, "binlog_format": "ROW", "binlog_group_commit_sync_delay": 0, "binlog_group_commit_sync_no_delay_count": 0, "binlog_gtid_simple_recovery": "ON", "binlog_max_flush_queue_time": 0, "binlog_order_commits": "ON", "binlog_rotate_encryption_master_key_at_startup": "OFF", "binlog_row_event_max_size": 8192, "binlog_row_image": "FULL", "binlog_row_metadata": "MINIMAL", "binlog_row_value_options": "", "binlog_rows_query_log_events": "OFF", "binlog_stmt_cache_size": 32768, "binlog_transaction_compression": "OFF", "binlog_transaction_compression_level_zstd": 3, "binlog_transaction_dependency_history_size": 25000, "block_encryption_mode": "aes-128-ecb", "build_id": "e1f916ae1a4eb90541cc38cf2dbf277be6107b2c", "bulk_insert_buffer_size": 8388608, "caching_sha2_password_auto_generate_rsa_keys": "ON", "caching_sha2_password_digest_rounds": 5000, "caching_sha2_password_private_key_path": "private_key.pem", "caching_sha2_password_public_key_path": "public_key.pem", "character_set_client": "utf8mb4", "character_set_connection": "utf8mb4", "character_set_database": "utf8mb4", "character_set_filesystem": "binary", "character_set_results": "utf8mb4", "character_set_server": "utf8mb4", "character_set_system": "utf8mb3", "character_sets_dir": "/usr/share/mysql-8.4/charsets/", "check_proxy_users": "OFF", "collation_connection": "utf8mb4_0900_ai_ci", "collation_database": "utf8mb4_0900_ai_ci", "collation_server": "utf8mb4_0900_ai_ci", "completion_type": "NO_CHAIN", "concurrent_insert": "AUTO", "connect_timeout": 10, "connection_memory_chunk_size": 8192, "connection_memory_limit": 18446744073709551615, "core_file": "OFF", "create_admin_listener_thread": "OFF", "cte_max_recursion_depth": 1000, "datadir": "/var/lib/mysql/", "default_collation_for_utf8mb4": "utf8mb4_0900_ai_ci", "default_password_lifetime": 0, "default_storage_engine": "InnoDB", "default_table_encryption": "OFF", "default_tmp_storage_engine": "InnoDB", "default_week_format": 0, "delay_key_write": "ON", "delayed_insert_limit": 100, "delayed_insert_timeout": 300, "delayed_queue_size": 1000, "disabled_storage_engines": "", "disconnect_on_expired_password": "ON", "div_precision_increment": 4, "end_markers_in_json": "OFF", "enforce_gtid_consistency": "OFF", "eq_range_index_dive_limit": 200, "event_scheduler": "ON", "explain_format": "TRADITIONAL", "explain_json_format_version": 1, "explicit_defaults_for_timestamp": "ON", "flush": "OFF", "flush_time": 0, "foreign_key_checks": "ON", "ft_boolean_syntax": "+ -><()~*:\"\"&|", "ft_max_word_len": 84, "ft_min_word_len": 4, "ft_query_expansion_limit": 20, "ft_stopword_file": "(built-in)", "general_log": "OFF", "general_log_file": "/var/lib/mysql/7fb66b4ace44.log", "generated_random_password_length": 20, "global_connection_memory_limit": 18446744073709551615, "global_connection_memory_tracking": "OFF", "group_concat_max_len": 1024, "group_replication_consistency": "BEFORE_ON_PRIMARY_FAILOVER", "gtid_executed": "", "gtid_executed_compression_period": 0, "gtid_mode": "OFF", "gtid_owned": "", "gtid_purged": "", "have_compress": "YES", "have_dynamic_loading": "YES", "have_geometry": "YES", "have_profiling": "YES", "have_query_cache": "NO", "have_rtree_keys": "YES", "have_statement_timeout": "YES", "have_symlink": "DISABLED", "histogram_generation_max_mem_size": 20000000, "host_cache_size": 0, "hostname": "7fb66b4ace44", "information_schema_stats_expiry": 86400, "init_connect": "", "init_file": "", "init_replica": "", "init_slave": "", "innodb_adaptive_flushing": "ON", "innodb_adaptive_flushing_lwm": 10, "innodb_adaptive_hash_index": "OFF", "innodb_adaptive_hash_index_parts": 8, "innodb_adaptive_max_sleep_delay": 150000, "innodb_api_bk_commit_interval": 5, "innodb_api_disable_rowlock": "OFF", "innodb_api_enable_binlog": "OFF", "innodb_api_enable_mdl": "OFF", "innodb_api_trx_level": 0, "innodb_autoextend_increment": 64, "innodb_autoinc_lock_mode": 2, "innodb_buffer_pool_chunk_size": 134217728, "innodb_buffer_pool_dump_at_shutdown": "ON", "innodb_buffer_pool_dump_now": "OFF", "innodb_buffer_pool_dump_pct": 25, "innodb_buffer_pool_filename": "ib_buffer_pool", "innodb_buffer_pool_in_core_file": "OFF", "innodb_buffer_pool_instances": 1, "innodb_buffer_pool_load_abort": "OFF", "innodb_buffer_pool_load_at_startup": "ON", "innodb_buffer_pool_load_now": "OFF", "innodb_buffer_pool_size": 134217728, "innodb_change_buffer_max_size": 25, "innodb_change_buffering": "none", "innodb_checksum_algorithm": "crc32", "innodb_cmp_per_index_enabled": "OFF", "innodb_commit_concurrency": 0, "innodb_compression_failure_threshold_pct": 5, "innodb_compression_level": 6, "innodb_compression_pad_pct_max": 50, "innodb_concurrency_tickets": 5000, "innodb_data_file_path": "ibdata1:12M:autoextend", "innodb_data_home_dir": "", "innodb_ddl_buffer_size": 1048576, "innodb_ddl_threads": 4, "innodb_deadlock_detect": "ON", "innodb_dedicated_server": "OFF", "innodb_default_row_format": "dynamic", "innodb_directories": "", "innodb_disable_sort_file_cache": "OFF", "innodb_doublewrite": "ON", "innodb_doublewrite_batch_size": 0, "innodb_doublewrite_dir": "", "innodb_doublewrite_files": 2, "innodb_doublewrite_pages": 128, "innodb_extend_and_initialize": "ON", "innodb_fast_shutdown": 1, "innodb_file_per_table": "ON", "innodb_fill_factor": 100, "innodb_flush_log_at_timeout": 1, "innodb_flush_log_at_trx_commit": 1, "innodb_flush_method": "O_DIRECT", "innodb_flush_neighbors": 0, "innodb_flush_sync": "ON", "innodb_flushing_avg_loops": 30, "innodb_force_load_corrupted": "OFF", "innodb_force_recovery": 0, "innodb_fsync_threshold": 0, "innodb_ft_aux_table": "", "innodb_ft_cache_size": 8000000, "innodb_ft_enable_diag_print": "OFF", "innodb_ft_enable_stopword": "ON", "innodb_ft_max_token_size": 84, "innodb_ft_min_token_size": 3, "innodb_ft_num_word_optimize": 2000, "innodb_ft_result_cache_limit": 2000000000, "innodb_ft_server_stopword_table": "", "innodb_ft_sort_pll_degree": 2, "innodb_ft_total_cache_size": 640000000, "innodb_ft_user_stopword_table": "", "innodb_idle_flush_pct": 100, "innodb_io_capacity": 10000, "innodb_io_capacity_max": 20000, "innodb_lock_wait_timeout": 50, "innodb_log_buffer_size": 67108864, "innodb_log_checksums": "ON", "innodb_log_compressed_pages": "ON", "innodb_log_file_size": 50331648, "innodb_log_files_in_group": 2, "innodb_log_group_home_dir": "./", "innodb_log_spin_cpu_abs_lwm": 80, "innodb_log_spin_cpu_pct_hwm": 50, "innodb_log_wait_for_flush_spin_hwm": 400, "innodb_log_write_ahead_size": 8192, "innodb_log_writer_threads": "ON", "innodb_lru_scan_depth": 1024, "innodb_max_dirty_pages_pct": "90.000000", "innodb_max_dirty_pages_pct_lwm": "10.000000", "innodb_max_purge_lag": 0, "innodb_max_purge_lag_delay": 0, "innodb_max_undo_log_size": 1073741824, "innodb_monitor_disable": "", "innodb_monitor_enable": "", "innodb_monitor_reset": "", "innodb_monitor_reset_all": "", "innodb_old_blocks_pct": 37, "innodb_old_blocks_time": 1000, "innodb_online_alter_log_max_size": 134217728, "innodb_open_files": 4000, "innodb_optimize_fulltext_only": "OFF", "innodb_page_cleaners": 1, "innodb_page_size": 16384, "innodb_parallel_read_threads": 4, "innodb_print_all_deadlocks": "OFF", "innodb_print_ddl_logs": "OFF", "innodb_purge_batch_size": 300, "innodb_purge_rseg_truncate_frequency": 128, "innodb_purge_threads": 1, "innodb_random_read_ahead": "OFF", "innodb_read_ahead_threshold": 56, "innodb_read_io_threads": 4, "innodb_read_only": "OFF", "innodb_redo_log_archive_dirs": "", "innodb_redo_log_capacity": 104857600, "innodb_redo_log_encrypt": "OFF", "innodb_replication_delay": 0, "innodb_rollback_on_timeout": "OFF", "innodb_rollback_segments": 128, "innodb_segment_reserve_factor": "12.500000", "innodb_sort_buffer_size": 1048576, "innodb_spin_wait_delay": 6, "innodb_spin_wait_pause_multiplier": 50, "innodb_stats_auto_recalc": "ON", "innodb_stats_include_delete_marked": "OFF", "innodb_stats_method": "nulls_equal", "innodb_stats_on_metadata": "OFF", "innodb_stats_persistent": "ON", "innodb_stats_persistent_sample_pages": 20, "innodb_stats_transient_sample_pages": 8, "innodb_status_output": "OFF", "innodb_status_output_locks": "OFF", "innodb_strict_mode": "ON", "innodb_sync_array_size": 1, "innodb_sync_spin_loops": 30, "innodb_table_locks": "ON", "innodb_temp_data_file_path": "ibtmp1:12M:autoextend", "innodb_temp_tablespaces_dir": "./#innodb_temp/", "innodb_thread_concurrency": 0, "innodb_thread_sleep_delay": 10000, "innodb_tmpdir": "", "innodb_undo_directory": "./", "innodb_undo_log_encrypt": "OFF", "innodb_undo_log_truncate": "ON", "innodb_undo_tablespaces": 2, "innodb_use_fdatasync": "ON", "innodb_use_native_aio": "ON", "innodb_validate_tablespace_paths": "ON", "innodb_version": "8.4.1", "innodb_write_io_threads": 4, "interactive_timeout": 28800, "internal_tmp_mem_storage_engine": "TempTable", "join_buffer_size": 262144, "keep_files_on_create": "OFF", "key_buffer_size": 8388608, "key_cache_age_threshold": 300, "key_cache_block_size": 1024, "key_cache_division_limit": 100, "keyring_operations": "ON", "large_files_support": "ON", "large_page_size": 0, "large_pages": "OFF", "lc_messages": "en_US", "lc_messages_dir": "/usr/share/mysql-8.4/", "lc_time_names": "en_US", "license": "GPL", "local_infile": "OFF", "lock_wait_timeout": 31536000, "locked_in_memory": "OFF", "log_bin": "ON", "log_bin_basename": "/var/lib/mysql/primary-bin", "log_bin_index": "/var/lib/mysql/primary-bin.index", "log_bin_trust_function_creators": "OFF", "log_error": "stderr", "log_error_services": "log_filter_internal; log_sink_internal", "log_error_suppression_list": "", "log_error_verbosity": 2, "log_output": "FILE", "log_queries_not_using_indexes": "OFF", "log_raw": "OFF", "log_replica_updates": "ON", "log_slave_updates": "ON", "log_slow_admin_statements": "OFF", "log_slow_extra": "OFF", "log_slow_replica_statements": "OFF", "log_slow_slave_statements": "OFF", "log_statements_unsafe_for_binlog": "ON", "log_throttle_queries_not_using_indexes": 0, "log_timestamps": "UTC", "long_query_time": "10.000000", "low_priority_updates": "OFF", "lower_case_file_system": "OFF", "lower_case_table_names": 0, "mandatory_roles": "", "master_verify_checksum": "OFF", "max_allowed_packet": 67108864, "max_binlog_cache_size": 18446744073709547520, "max_binlog_size": 1073741824, "max_binlog_stmt_cache_size": 18446744073709547520, "max_connect_errors": 100, "max_connections": 151, "max_delayed_threads": 20, "max_digest_length": 1024, "max_error_count": 1024, "max_execution_time": 0, "max_heap_table_size": 16777216, "max_insert_delayed_threads": 20, "max_join_size": 18446744073709551615, "max_length_for_sort_data": 4096, "max_points_in_geometry": 65536, "max_prepared_stmt_count": 16382, "max_relay_log_size": 0, "max_seeks_for_key": 18446744073709551615, "max_sort_length": 1024, "max_sp_recursion_depth": 0, "max_user_connections": 0, "max_write_lock_count": 18446744073709551615, "min_examined_row_limit": 0, "myisam_data_pointer_size": 6, "myisam_max_sort_file_size": 9223372036853727232, "myisam_mmap_size": 18446744073709551615, "myisam_recover_options": "OFF", "myisam_sort_buffer_size": 8388608, "myisam_stats_method": "nulls_unequal", "myisam_use_mmap": "OFF", "mysql_native_password_proxy_users": "OFF", "mysqlx_bind_address": "*", "mysqlx_compression_algorithms": "DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM", "mysqlx_connect_timeout": 30, "mysqlx_deflate_default_compression_level": 3, "mysqlx_deflate_max_client_compression_level": 5, "mysqlx_document_id_unique_prefix": 0, "mysqlx_enable_hello_notice": "ON", "mysqlx_idle_worker_thread_timeout": 60, "mysqlx_interactive_timeout": 28800, "mysqlx_lz4_default_compression_level": 2, "mysqlx_lz4_max_client_compression_level": 8, "mysqlx_max_allowed_packet": 67108864, "mysqlx_max_connections": 100, "mysqlx_min_worker_threads": 2, "mysqlx_port": 33060, "mysqlx_port_open_timeout": 0, "mysqlx_read_timeout": 30, "mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "mysqlx_ssl_ca": "", "mysqlx_ssl_capath": "", "mysqlx_ssl_cert": "", "mysqlx_ssl_cipher": "", "mysqlx_ssl_crl": "", "mysqlx_ssl_crlpath": "", "mysqlx_ssl_key": "", "mysqlx_wait_timeout": 28800, "mysqlx_write_timeout": 60, "mysqlx_zstd_default_compression_level": 3, "mysqlx_zstd_max_client_compression_level": 11, "net_buffer_length": 16384, "net_read_timeout": 30, "net_retry_count": 10, "net_write_timeout": 60, "ngram_token_size": 2, "offline_mode": "OFF", "old_alter_table": "OFF", "open_files_limit": 65536, "optimizer_max_subgraph_pairs": 100000, "optimizer_prune_level": 1, "optimizer_search_depth": 62, "optimizer_switch": "index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on", "optimizer_trace": "enabled=off,one_line=off", "optimizer_trace_features": "greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on", "optimizer_trace_limit": 1, "optimizer_trace_max_mem_size": 1048576, "optimizer_trace_offset": -1, "parser_max_mem_size": 18446744073709551615, "partial_revokes": "OFF", "password_history": 0, "password_require_current": "OFF", "password_reuse_interval": 0, "performance_schema": "ON", "performance_schema_accounts_size": -1, "performance_schema_digests_size": 10000, "performance_schema_error_size": 5538, "performance_schema_events_stages_history_long_size": 10000, "performance_schema_events_stages_history_size": 10, "performance_schema_events_statements_history_long_size": 10000, "performance_schema_events_statements_history_size": 10, "performance_schema_events_transactions_history_long_size": 10000, "performance_schema_events_transactions_history_size": 10, "performance_schema_events_waits_history_long_size": 10000, "performance_schema_events_waits_history_size": 10, "performance_schema_hosts_size": -1, "performance_schema_max_cond_classes": 150, "performance_schema_max_cond_instances": -1, "performance_schema_max_digest_length": 1024, "performance_schema_max_digest_sample_age": 60, "performance_schema_max_file_classes": 80, "performance_schema_max_file_handles": 32768, "performance_schema_max_file_instances": -1, "performance_schema_max_index_stat": -1, "performance_schema_max_memory_classes": 470, "performance_schema_max_metadata_locks": -1, "performance_schema_max_meter_classes": 30, "performance_schema_max_metric_classes": 600, "performance_schema_max_mutex_classes": 350, "performance_schema_max_mutex_instances": -1, "performance_schema_max_prepared_statements_instances": -1, "performance_schema_max_program_instances": -1, "performance_schema_max_rwlock_classes": 100, "performance_schema_max_rwlock_instances": -1, "performance_schema_max_socket_classes": 10, "performance_schema_max_socket_instances": -1, "performance_schema_max_sql_text_length": 1024, "performance_schema_max_stage_classes": 175, "performance_schema_max_statement_classes": 220, "performance_schema_max_statement_stack": 10, "performance_schema_max_table_handles": -1, "performance_schema_max_table_instances": -1, "performance_schema_max_table_lock_stat": -1, "performance_schema_max_thread_classes": 100, "performance_schema_max_thread_instances": -1, "performance_schema_session_connect_attrs_size": 512, "performance_schema_setup_actors_size": -1, "performance_schema_setup_objects_size": -1, "performance_schema_show_processlist": "OFF", "performance_schema_users_size": -1, "persist_only_admin_x509_subject": "", "persist_sensitive_variables_in_plaintext": "ON", "persisted_globals_load": "ON", "pid_file": "/var/run/mysqld/mysqld.pid", "plugin_dir": "/usr/lib64/mysql/plugin/", "port": 3306, "preload_buffer_size": 32768, "print_identified_with_as_hex": "OFF", "profiling": "OFF", "profiling_history_size": 15, "protocol_compression_algorithms": "zlib,zstd,uncompressed", "protocol_version": 10, "query_alloc_block_size": 8192, "query_prealloc_size": 8192, "range_alloc_block_size": 4096, "range_optimizer_max_mem_size": 8388608, "rbr_exec_mode": "STRICT", "read_buffer_size": 131072, "read_only": "OFF", "read_rnd_buffer_size": 262144, "regexp_stack_limit": 8000000, "regexp_time_limit": 32, "relay_log": "7fb66b4ace44-relay-bin", "relay_log_basename": "/var/lib/mysql/7fb66b4ace44-relay-bin", "relay_log_index": "/var/lib/mysql/7fb66b4ace44-relay-bin.index", "relay_log_purge": "ON", "relay_log_recovery": "OFF", "relay_log_space_limit": 0, "replica_allow_batching": "ON", "replica_checkpoint_group": 512, "replica_checkpoint_period": 300, "replica_compressed_protocol": "OFF", "replica_exec_mode": "STRICT", "replica_load_tmpdir": "/tmp", "replica_max_allowed_packet": 1073741824, "replica_net_timeout": 60, "replica_parallel_type": "LOGICAL_CLOCK", "replica_parallel_workers": 4, "replica_pending_jobs_size_max": 134217728, "replica_preserve_commit_order": "ON", "replica_skip_errors": "OFF", "replica_sql_verify_checksum": "ON", "replica_transaction_retries": 10, "replica_type_conversions": "", "replication_optimize_for_static_plugin_config": "OFF", "replication_sender_observe_commit_only": "OFF", "report_host": "", "report_password": "", "report_port": 3306, "report_user": "", "require_secure_transport": "OFF", "restrict_fk_on_non_standard_key": "ON", "rpl_read_size": 8192, "rpl_stop_replica_timeout": 31536000, "rpl_stop_slave_timeout": 31536000, "schema_definition_cache": 256, "secondary_engine_cost_threshold": "100000.000000", "secure_file_priv": "/var/lib/mysql-files/", "select_into_buffer_size": 131072, "select_into_disk_sync": "OFF", "select_into_disk_sync_delay": 0, "server_id": 1, "server_id_bits": 32, "server_uuid": "25bcc386-485b-11f1-93ba-aa1a9528f026", "session_track_gtids": "OFF", "session_track_schema": "ON", "session_track_state_change": "OFF", "session_track_system_variables": "time_zone,autocommit,character_set_client,character_set_results,character_set_connection", "session_track_transaction_info": "OFF", "set_operations_buffer_size": 262144, "sha256_password_auto_generate_rsa_keys": "ON", "sha256_password_private_key_path": "private_key.pem", "sha256_password_proxy_users": "OFF", "sha256_password_public_key_path": "public_key.pem", "show_create_table_verbosity": "OFF", "show_gipk_in_create_table_and_information_schema": "ON", "skip_external_locking": "ON", "skip_name_resolve": "ON", "skip_networking": "OFF", "skip_replica_start": "OFF", "skip_show_database": "OFF", "skip_slave_start": "OFF", "slave_allow_batching": "ON", "slave_checkpoint_group": 512, "slave_checkpoint_period": 300, "slave_compressed_protocol": "OFF", "slave_exec_mode": "STRICT", "slave_load_tmpdir": "/tmp", "slave_max_allowed_packet": 1073741824, "slave_net_timeout": 60, "slave_parallel_type": "LOGICAL_CLOCK", "slave_parallel_workers": 4, "slave_pending_jobs_size_max": 134217728, "slave_preserve_commit_order": "ON", "slave_skip_errors": "OFF", "slave_sql_verify_checksum": "ON", "slave_transaction_retries": 10, "slave_type_conversions": "", "slow_launch_time": 2, "slow_query_log": "OFF", "slow_query_log_file": "/var/lib/mysql/7fb66b4ace44-slow.log", "socket": "/var/run/mysqld/mysqld.sock", "sort_buffer_size": 262144, "source_verify_checksum": "OFF", "sql_auto_is_null": "OFF", "sql_big_selects": "ON", "sql_buffer_result": "OFF", "sql_generate_invisible_primary_key": "OFF", "sql_log_off": "OFF", "sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "sql_notes": "ON", "sql_quote_show_create": "ON", "sql_replica_skip_counter": 0, "sql_require_primary_key": "OFF", "sql_safe_updates": "OFF", "sql_select_limit": 18446744073709551615, "sql_slave_skip_counter": 0, "sql_warnings": "OFF", "ssl_ca": "ca.pem", "ssl_capath": "", "ssl_cert": "server-cert.pem", "ssl_cipher": "", "ssl_crl": "", "ssl_crlpath": "", "ssl_fips_mode": "OFF", "ssl_key": "server-key.pem", "ssl_session_cache_mode": "ON", "ssl_session_cache_timeout": 300, "stored_program_cache": 256, "stored_program_definition_cache": 256, "super_read_only": "OFF", "sync_binlog": 1, "sync_master_info": 10000, "sync_relay_log": 10000, "sync_relay_log_info": 10000, "sync_source_info": 10000, "system_time_zone": "UTC", "table_definition_cache": 2000, "table_encryption_privilege_check": "OFF", "table_open_cache": 4000, "table_open_cache_instances": 16, "tablespace_definition_cache": 256, "temptable_max_mmap": 0, "temptable_max_ram": 1073741824, "temptable_use_mmap": "OFF", "terminology_use_previous": "NONE", "thread_cache_size": 9, "thread_handling": "one-thread-per-connection", "thread_stack": 1048576, "time_zone": "SYSTEM", "tls_certificates_enforced_validation": "OFF", "tls_ciphersuites": "", "tls_version": "TLSv1.2,TLSv1.3", "tmp_table_size": 16777216, "tmpdir": "/tmp", "transaction_alloc_block_size": 8192, "transaction_isolation": "REPEATABLE-READ", "transaction_prealloc_size": 4096, "transaction_read_only": "OFF", "unique_checks": "ON", "updatable_views_with_limit": "YES", "version": "8.4.1", "version_comment": "MySQL Community Server - GPL", "version_compile_machine": "x86_64", "version_compile_os": "Linux", "version_compile_zlib": "1.2.13", "wait_timeout": 28800, "windowing_use_high_precision": "ON", "xa_detach_on_prepare": "ON"}, "slave_hosts": {}, "slave_status": {}, "users": {"%": {"root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}, "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:31.0171590Z 
2026-05-05T08:25:31.0171819Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:31.1092643Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:31.1093770Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:31.2153236Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:31.2153772Z ␛[0;32m}␛[0m
2026-05-05T08:25:31.2153939Z 
2026-05-05T08:25:31.2154390Z TASK [test_mysql_info : Connector info | Assert connector_name exists and has expected values] ***
2026-05-05T08:25:31.2155190Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:31.2155614Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:31.2156230Z ␛[0;32m    "msg": "Assertions passed, result.connector_name is pymysql"␛[0m
2026-05-05T08:25:31.2156637Z ␛[0;32m}␛[0m
2026-05-05T08:25:31.2156750Z 
2026-05-05T08:25:31.2157027Z TASK [test_mysql_info : Connector info | Assert connector_version exists and has expected values] ***
2026-05-05T08:25:31.3033282Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:31.3033633Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:31.3034054Z ␛[0;32m    "msg": "Assertions passed, result.connector_version is 0.9.3"␛[0m
2026-05-05T08:25:31.3034439Z ␛[0;32m}␛[0m
2026-05-05T08:25:31.3034574Z 
2026-05-05T08:25:31.3034800Z TASK [test_mysql_info : mysql_info - check non-default cred file] **************
2026-05-05T08:25:31.7012796Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 0, "Aborted_connects": 0, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 0, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 0, "Bytes_received": 11751, "Bytes_sent": 109278, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 34, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 0, "Com_alter_user_default_role": 0, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 1, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 0, "Com_create_db": 1, "Com_create_event": 0, "Com_create_function": 0, "Com_create_index": 0, "Com_create_procedure": 0, "Com_create_resource_group": 0, "Com_create_role": 0, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 35, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 0, "Com_create_view": 0, "Com_dealloc_sql": 0, "Com_delete": 0, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 0, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 0, "Com_drop_resource_group": 0, "Com_drop_role": 0, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 0, "Com_drop_trigger": 0, "Com_drop_user": 0, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 1, "Com_get_diagnostics": 0, "Com_grant": 0, "Com_grant_roles": 0, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 0, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 0, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 0, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 0, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 0, "Com_revoke_all": 0, "Com_revoke_roles": 0, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 38, "Com_set_option": 7, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 0, "Com_show_binary_log_status": 1, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 0, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 0, "Com_show_create_trigger": 0, "Com_show_create_user": 5, "Com_show_databases": 0, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 0, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 5, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 1, "Com_show_replicas": 1, "Com_show_status": 2, "Com_show_storage_engines": 1, "Com_show_table_status": 0, "Com_show_tables": 0, "Com_show_triggers": 0, "Com_show_variables": 3, "Com_show_warnings": 0, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 0, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 0, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 44, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 8, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1208, "Error_log_buffered_events": 9, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969190726119, "Flush_commands": 3, "Global_connection_memory": 0, "Handler_commit": 2236, "Handler_delete": 8, "Handler_discover": 0, "Handler_external_lock": 13137, "Handler_mrr_init": 0, "Handler_prepare": 0, "Handler_read_first": 47, "Handler_read_key": 6013, "Handler_read_last": 0, "Handler_read_next": 6480, "Handler_read_prev": 0, "Handler_read_rnd": 0, "Handler_read_rnd_next": 5691, "Handler_rollback": 1, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 983, "Handler_write": 2388, "Innodb_buffer_pool_bytes_data": 17465344, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1066, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 195, "Innodb_buffer_pool_pages_free": 7126, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 0, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 26413, "Innodb_buffer_pool_reads": 921, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 1931, "Innodb_data_fsyncs": 75, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 15206912, "Innodb_data_reads": 944, "Innodb_data_writes": 257, "Innodb_data_written": 3280896, "Innodb_dblwr_pages_written": 54, "Innodb_dblwr_writes": 4, "Innodb_log_waits": 0, "Innodb_log_write_requests": 840, "Innodb_log_writes": 32, "Innodb_num_open_files": 15, "Innodb_os_log_fsyncs": 26, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 57856, "Innodb_page_size": 16384, "Innodb_pages_created": 143, "Innodb_pages_read": 923, "Innodb_pages_written": 195, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 32268004, "Innodb_redo_log_current_lsn": 32268004, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 32268004, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 3276800, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 0, "Innodb_rows_inserted": 0, "Innodb_rows_read": 0, "Innodb_rows_updated": 0, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 8, "Innodb_system_rows_inserted": 8, "Innodb_system_rows_read": 8303, "Innodb_system_rows_updated": 331, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 1, "Max_used_connections_time": "2026-05-05 08:19:54", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 8, "Open_streams": 0, "Open_table_definitions": 162, "Open_tables": 314, "Opened_files": 8, "Opened_table_definitions": 200, "Opened_tables": 395, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 104, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 131, "Questions": 96, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 2, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 15, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 0, "Sort_scan": 0, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 0, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 0, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 5, "Table_locks_waited": 0, "Table_open_cache_hits": 6404, "Table_open_cache_misses": 395, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 0, "Threads_connected": 1, "Threads_created": 1, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 341, "Uptime_since_flush_status": 341}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 158}, "server_engine": "MySQL", "settings": {"activate_all_roles_on_login": "OFF", "admin_address": "", "admin_port": 33062, "admin_ssl_ca": "", "admin_ssl_capath": "", "admin_ssl_cert": "", "admin_ssl_cipher": "", "admin_ssl_crl": "", "admin_ssl_crlpath": "", "admin_ssl_key": "", "admin_tls_ciphersuites": "", "admin_tls_version": "TLSv1.2,TLSv1.3", "authentication_policy": "*,,", "auto_generate_certs": "ON", "auto_increment_increment": 1, "auto_increment_offset": 1, "autocommit": "ON", "automatic_sp_privileges": "ON", "back_log": 151, "basedir": "/usr/", "big_tables": "OFF", "bind_address": "*", "binlog_cache_size": 32768, "binlog_checksum": "CRC32", "binlog_direct_non_transactional_updates": "OFF", "binlog_encryption": "OFF", "binlog_error_action": "ABORT_SERVER", "binlog_expire_logs_auto_purge": "ON", "binlog_expire_logs_seconds": 2592000, "binlog_format": "ROW", "binlog_group_commit_sync_delay": 0, "binlog_group_commit_sync_no_delay_count": 0, "binlog_gtid_simple_recovery": "ON", "binlog_max_flush_queue_time": 0, "binlog_order_commits": "ON", "binlog_rotate_encryption_master_key_at_startup": "OFF", "binlog_row_event_max_size": 8192, "binlog_row_image": "FULL", "binlog_row_metadata": "MINIMAL", "binlog_row_value_options": "", "binlog_rows_query_log_events": "OFF", "binlog_stmt_cache_size": 32768, "binlog_transaction_compression": "OFF", "binlog_transaction_compression_level_zstd": 3, "binlog_transaction_dependency_history_size": 25000, "block_encryption_mode": "aes-128-ecb", "build_id": "e1f916ae1a4eb90541cc38cf2dbf277be6107b2c", "bulk_insert_buffer_size": 8388608, "caching_sha2_password_auto_generate_rsa_keys": "ON", "caching_sha2_password_digest_rounds": 5000, "caching_sha2_password_private_key_path": "private_key.pem", "caching_sha2_password_public_key_path": "public_key.pem", "character_set_client": "utf8mb4", "character_set_connection": "utf8mb4", "character_set_database": "utf8mb4", "character_set_filesystem": "binary", "character_set_results": "utf8mb4", "character_set_server": "utf8mb4", "character_set_system": "utf8mb3", "character_sets_dir": "/usr/share/mysql-8.4/charsets/", "check_proxy_users": "OFF", "collation_connection": "utf8mb4_0900_ai_ci", "collation_database": "utf8mb4_0900_ai_ci", "collation_server": "utf8mb4_0900_ai_ci", "completion_type": "NO_CHAIN", "concurrent_insert": "AUTO", "connect_timeout": 10, "connection_memory_chunk_size": 8192, "connection_memory_limit": 18446744073709551615, "core_file": "OFF", "create_admin_listener_thread": "OFF", "cte_max_recursion_depth": 1000, "datadir": "/var/lib/mysql/", "default_collation_for_utf8mb4": "utf8mb4_0900_ai_ci", "default_password_lifetime": 0, "default_storage_engine": "InnoDB", "default_table_encryption": "OFF", "default_tmp_storage_engine": "InnoDB", "default_week_format": 0, "delay_key_write": "ON", "delayed_insert_limit": 100, "delayed_insert_timeout": 300, "delayed_queue_size": 1000, "disabled_storage_engines": "", "disconnect_on_expired_password": "ON", "div_precision_increment": 4, "end_markers_in_json": "OFF", "enforce_gtid_consistency": "OFF", "eq_range_index_dive_limit": 200, "event_scheduler": "ON", "explain_format": "TRADITIONAL", "explain_json_format_version": 1, "explicit_defaults_for_timestamp": "ON", "flush": "OFF", "flush_time": 0, "foreign_key_checks": "ON", "ft_boolean_syntax": "+ -><()~*:\"\"&|", "ft_max_word_len": 84, "ft_min_word_len": 4, "ft_query_expansion_limit": 20, "ft_stopword_file": "(built-in)", "general_log": "OFF", "general_log_file": "/var/lib/mysql/7fb66b4ace44.log", "generated_random_password_length": 20, "global_connection_memory_limit": 18446744073709551615, "global_connection_memory_tracking": "OFF", "group_concat_max_len": 1024, "group_replication_consistency": "BEFORE_ON_PRIMARY_FAILOVER", "gtid_executed": "", "gtid_executed_compression_period": 0, "gtid_mode": "OFF", "gtid_owned": "", "gtid_purged": "", "have_compress": "YES", "have_dynamic_loading": "YES", "have_geometry": "YES", "have_profiling": "YES", "have_query_cache": "NO", "have_rtree_keys": "YES", "have_statement_timeout": "YES", "have_symlink": "DISABLED", "histogram_generation_max_mem_size": 20000000, "host_cache_size": 0, "hostname": "7fb66b4ace44", "information_schema_stats_expiry": 86400, "init_connect": "", "init_file": "", "init_replica": "", "init_slave": "", "innodb_adaptive_flushing": "ON", "innodb_adaptive_flushing_lwm": 10, "innodb_adaptive_hash_index": "OFF", "innodb_adaptive_hash_index_parts": 8, "innodb_adaptive_max_sleep_delay": 150000, "innodb_api_bk_commit_interval": 5, "innodb_api_disable_rowlock": "OFF", "innodb_api_enable_binlog": "OFF", "innodb_api_enable_mdl": "OFF", "innodb_api_trx_level": 0, "innodb_autoextend_increment": 64, "innodb_autoinc_lock_mode": 2, "innodb_buffer_pool_chunk_size": 134217728, "innodb_buffer_pool_dump_at_shutdown": "ON", "innodb_buffer_pool_dump_now": "OFF", "innodb_buffer_pool_dump_pct": 25, "innodb_buffer_pool_filename": "ib_buffer_pool", "innodb_buffer_pool_in_core_file": "OFF", "innodb_buffer_pool_instances": 1, "innodb_buffer_pool_load_abort": "OFF", "innodb_buffer_pool_load_at_startup": "ON", "innodb_buffer_pool_load_now": "OFF", "innodb_buffer_pool_size": 134217728, "innodb_change_buffer_max_size": 25, "innodb_change_buffering": "none", "innodb_checksum_algorithm": "crc32", "innodb_cmp_per_index_enabled": "OFF", "innodb_commit_concurrency": 0, "innodb_compression_failure_threshold_pct": 5, "innodb_compression_level": 6, "innodb_compression_pad_pct_max": 50, "innodb_concurrency_tickets": 5000, "innodb_data_file_path": "ibdata1:12M:autoextend", "innodb_data_home_dir": "", "innodb_ddl_buffer_size": 1048576, "innodb_ddl_threads": 4, "innodb_deadlock_detect": "ON", "innodb_dedicated_server": "OFF", "innodb_default_row_format": "dynamic", "innodb_directories": "", "innodb_disable_sort_file_cache": "OFF", "innodb_doublewrite": "ON", "innodb_doublewrite_batch_size": 0, "innodb_doublewrite_dir": "", "innodb_doublewrite_files": 2, "innodb_doublewrite_pages": 128, "innodb_extend_and_initialize": "ON", "innodb_fast_shutdown": 1, "innodb_file_per_table": "ON", "innodb_fill_factor": 100, "innodb_flush_log_at_timeout": 1, "innodb_flush_log_at_trx_commit": 1, "innodb_flush_method": "O_DIRECT", "innodb_flush_neighbors": 0, "innodb_flush_sync": "ON", "innodb_flushing_avg_loops": 30, "innodb_force_load_corrupted": "OFF", "innodb_force_recovery": 0, "innodb_fsync_threshold": 0, "innodb_ft_aux_table": "", "innodb_ft_cache_size": 8000000, "innodb_ft_enable_diag_print": "OFF", "innodb_ft_enable_stopword": "ON", "innodb_ft_max_token_size": 84, "innodb_ft_min_token_size": 3, "innodb_ft_num_word_optimize": 2000, "innodb_ft_result_cache_limit": 2000000000, "innodb_ft_server_stopword_table": "", "innodb_ft_sort_pll_degree": 2, "innodb_ft_total_cache_size": 640000000, "innodb_ft_user_stopword_table": "", "innodb_idle_flush_pct": 100, "innodb_io_capacity": 10000, "innodb_io_capacity_max": 20000, "innodb_lock_wait_timeout": 50, "innodb_log_buffer_size": 67108864, "innodb_log_checksums": "ON", "innodb_log_compressed_pages": "ON", "innodb_log_file_size": 50331648, "innodb_log_files_in_group": 2, "innodb_log_group_home_dir": "./", "innodb_log_spin_cpu_abs_lwm": 80, "innodb_log_spin_cpu_pct_hwm": 50, "innodb_log_wait_for_flush_spin_hwm": 400, "innodb_log_write_ahead_size": 8192, "innodb_log_writer_threads": "ON", "innodb_lru_scan_depth": 1024, "innodb_max_dirty_pages_pct": "90.000000", "innodb_max_dirty_pages_pct_lwm": "10.000000", "innodb_max_purge_lag": 0, "innodb_max_purge_lag_delay": 0, "innodb_max_undo_log_size": 1073741824, "innodb_monitor_disable": "", "innodb_monitor_enable": "", "innodb_monitor_reset": "", "innodb_monitor_reset_all": "", "innodb_old_blocks_pct": 37, "innodb_old_blocks_time": 1000, "innodb_online_alter_log_max_size": 134217728, "innodb_open_files": 4000, "innodb_optimize_fulltext_only": "OFF", "innodb_page_cleaners": 1, "innodb_page_size": 16384, "innodb_parallel_read_threads": 4, "innodb_print_all_deadlocks": "OFF", "innodb_print_ddl_logs": "OFF", "innodb_purge_batch_size": 300, "innodb_purge_rseg_truncate_frequency": 128, "innodb_purge_threads": 1, "innodb_random_read_ahead": "OFF", "innodb_read_ahead_threshold": 56, "innodb_read_io_threads": 4, "innodb_read_only": "OFF", "innodb_redo_log_archive_dirs": "", "innodb_redo_log_capacity": 104857600, "innodb_redo_log_encrypt": "OFF", "innodb_replication_delay": 0, "innodb_rollback_on_timeout": "OFF", "innodb_rollback_segments": 128, "innodb_segment_reserve_factor": "12.500000", "innodb_sort_buffer_size": 1048576, "innodb_spin_wait_delay": 6, "innodb_spin_wait_pause_multiplier": 50, "innodb_stats_auto_recalc": "ON", "innodb_stats_include_delete_marked": "OFF", "innodb_stats_method": "nulls_equal", "innodb_stats_on_metadata": "OFF", "innodb_stats_persistent": "ON", "innodb_stats_persistent_sample_pages": 20, "innodb_stats_transient_sample_pages": 8, "innodb_status_output": "OFF", "innodb_status_output_locks": "OFF", "innodb_strict_mode": "ON", "innodb_sync_array_size": 1, "innodb_sync_spin_loops": 30, "innodb_table_locks": "ON", "innodb_temp_data_file_path": "ibtmp1:12M:autoextend", "innodb_temp_tablespaces_dir": "./#innodb_temp/", "innodb_thread_concurrency": 0, "innodb_thread_sleep_delay": 10000, "innodb_tmpdir": "", "innodb_undo_directory": "./", "innodb_undo_log_encrypt": "OFF", "innodb_undo_log_truncate": "ON", "innodb_undo_tablespaces": 2, "innodb_use_fdatasync": "ON", "innodb_use_native_aio": "ON", "innodb_validate_tablespace_paths": "ON", "innodb_version": "8.4.1", "innodb_write_io_threads": 4, "interactive_timeout": 28800, "internal_tmp_mem_storage_engine": "TempTable", "join_buffer_size": 262144, "keep_files_on_create": "OFF", "key_buffer_size": 8388608, "key_cache_age_threshold": 300, "key_cache_block_size": 1024, "key_cache_division_limit": 100, "keyring_operations": "ON", "large_files_support": "ON", "large_page_size": 0, "large_pages": "OFF", "lc_messages": "en_US", "lc_messages_dir": "/usr/share/mysql-8.4/", "lc_time_names": "en_US", "license": "GPL", "local_infile": "OFF", "lock_wait_timeout": 31536000, "locked_in_memory": "OFF", "log_bin": "ON", "log_bin_basename": "/var/lib/mysql/primary-bin", "log_bin_index": "/var/lib/mysql/primary-bin.index", "log_bin_trust_function_creators": "OFF", "log_error": "stderr", "log_error_services": "log_filter_internal; log_sink_internal", "log_error_suppression_list": "", "log_error_verbosity": 2, "log_output": "FILE", "log_queries_not_using_indexes": "OFF", "log_raw": "OFF", "log_replica_updates": "ON", "log_slave_updates": "ON", "log_slow_admin_statements": "OFF", "log_slow_extra": "OFF", "log_slow_replica_statements": "OFF", "log_slow_slave_statements": "OFF", "log_statements_unsafe_for_binlog": "ON", "log_throttle_queries_not_using_indexes": 0, "log_timestamps": "UTC", "long_query_time": "10.000000", "low_priority_updates": "OFF", "lower_case_file_system": "OFF", "lower_case_table_names": 0, "mandatory_roles": "", "master_verify_checksum": "OFF", "max_allowed_packet": 67108864, "max_binlog_cache_size": 18446744073709547520, "max_binlog_size": 1073741824, "max_binlog_stmt_cache_size": 18446744073709547520, "max_connect_errors": 100, "max_connections": 151, "max_delayed_threads": 20, "max_digest_length": 1024, "max_error_count": 1024, "max_execution_time": 0, "max_heap_table_size": 16777216, "max_insert_delayed_threads": 20, "max_join_size": 18446744073709551615, "max_length_for_sort_data": 4096, "max_points_in_geometry": 65536, "max_prepared_stmt_count": 16382, "max_relay_log_size": 0, "max_seeks_for_key": 18446744073709551615, "max_sort_length": 1024, "max_sp_recursion_depth": 0, "max_user_connections": 0, "max_write_lock_count": 18446744073709551615, "min_examined_row_limit": 0, "myisam_data_pointer_size": 6, "myisam_max_sort_file_size": 9223372036853727232, "myisam_mmap_size": 18446744073709551615, "myisam_recover_options": "OFF", "myisam_sort_buffer_size": 8388608, "myisam_stats_method": "nulls_unequal", "myisam_use_mmap": "OFF", "mysql_native_password_proxy_users": "OFF", "mysqlx_bind_address": "*", "mysqlx_compression_algorithms": "DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM", "mysqlx_connect_timeout": 30, "mysqlx_deflate_default_compression_level": 3, "mysqlx_deflate_max_client_compression_level": 5, "mysqlx_document_id_unique_prefix": 0, "mysqlx_enable_hello_notice": "ON", "mysqlx_idle_worker_thread_timeout": 60, "mysqlx_interactive_timeout": 28800, "mysqlx_lz4_default_compression_level": 2, "mysqlx_lz4_max_client_compression_level": 8, "mysqlx_max_allowed_packet": 67108864, "mysqlx_max_connections": 100, "mysqlx_min_worker_threads": 2, "mysqlx_port": 33060, "mysqlx_port_open_timeout": 0, "mysqlx_read_timeout": 30, "mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "mysqlx_ssl_ca": "", "mysqlx_ssl_capath": "", "mysqlx_ssl_cert": "", "mysqlx_ssl_cipher": "", "mysqlx_ssl_crl": "", "mysqlx_ssl_crlpath": "", "mysqlx_ssl_key": "", "mysqlx_wait_timeout": 28800, "mysqlx_write_timeout": 60, "mysqlx_zstd_default_compression_level": 3, "mysqlx_zstd_max_client_compression_level": 11, "net_buffer_length": 16384, "net_read_timeout": 30, "net_retry_count": 10, "net_write_timeout": 60, "ngram_token_size": 2, "offline_mode": "OFF", "old_alter_table": "OFF", "open_files_limit": 65536, "optimizer_max_subgraph_pairs": 100000, "optimizer_prune_level": 1, "optimizer_search_depth": 62, "optimizer_switch": "index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on", "optimizer_trace": "enabled=off,one_line=off", "optimizer_trace_features": "greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on", "optimizer_trace_limit": 1, "optimizer_trace_max_mem_size": 1048576, "optimizer_trace_offset": -1, "parser_max_mem_size": 18446744073709551615, "partial_revokes": "OFF", "password_history": 0, "password_require_current": "OFF", "password_reuse_interval": 0, "performance_schema": "ON", "performance_schema_accounts_size": -1, "performance_schema_digests_size": 10000, "performance_schema_error_size": 5538, "performance_schema_events_stages_history_long_size": 10000, "performance_schema_events_stages_history_size": 10, "performance_schema_events_statements_history_long_size": 10000, "performance_schema_events_statements_history_size": 10, "performance_schema_events_transactions_history_long_size": 10000, "performance_schema_events_transactions_history_size": 10, "performance_schema_events_waits_history_long_size": 10000, "performance_schema_events_waits_history_size": 10, "performance_schema_hosts_size": -1, "performance_schema_max_cond_classes": 150, "performance_schema_max_cond_instances": -1, "performance_schema_max_digest_length": 1024, "performance_schema_max_digest_sample_age": 60, "performance_schema_max_file_classes": 80, "performance_schema_max_file_handles": 32768, "performance_schema_max_file_instances": -1, "performance_schema_max_index_stat": -1, "performance_schema_max_memory_classes": 470, "performance_schema_max_metadata_locks": -1, "performance_schema_max_meter_classes": 30, "performance_schema_max_metric_classes": 600, "performance_schema_max_mutex_classes": 350, "performance_schema_max_mutex_instances": -1, "performance_schema_max_prepared_statements_instances": -1, "performance_schema_max_program_instances": -1, "performance_schema_max_rwlock_classes": 100, "performance_schema_max_rwlock_instances": -1, "performance_schema_max_socket_classes": 10, "performance_schema_max_socket_instances": -1, "performance_schema_max_sql_text_length": 1024, "performance_schema_max_stage_classes": 175, "performance_schema_max_statement_classes": 220, "performance_schema_max_statement_stack": 10, "performance_schema_max_table_handles": -1, "performance_schema_max_table_instances": -1, "performance_schema_max_table_lock_stat": -1, "performance_schema_max_thread_classes": 100, "performance_schema_max_thread_instances": -1, "performance_schema_session_connect_attrs_size": 512, "performance_schema_setup_actors_size": -1, "performance_schema_setup_objects_size": -1, "performance_schema_show_processlist": "OFF", "performance_schema_users_size": -1, "persist_only_admin_x509_subject": "", "persist_sensitive_variables_in_plaintext": "ON", "persisted_globals_load": "ON", "pid_file": "/var/run/mysqld/mysqld.pid", "plugin_dir": "/usr/lib64/mysql/plugin/", "port": 3306, "preload_buffer_size": 32768, "print_identified_with_as_hex": "OFF", "profiling": "OFF", "profiling_history_size": 15, "protocol_compression_algorithms": "zlib,zstd,uncompressed", "protocol_version": 10, "query_alloc_block_size": 8192, "query_prealloc_size": 8192, "range_alloc_block_size": 4096, "range_optimizer_max_mem_size": 8388608, "rbr_exec_mode": "STRICT", "read_buffer_size": 131072, "read_only": "OFF", "read_rnd_buffer_size": 262144, "regexp_stack_limit": 8000000, "regexp_time_limit": 32, "relay_log": "7fb66b4ace44-relay-bin", "relay_log_basename": "/var/lib/mysql/7fb66b4ace44-relay-bin", "relay_log_index": "/var/lib/mysql/7fb66b4ace44-relay-bin.index", "relay_log_purge": "ON", "relay_log_recovery": "OFF", "relay_log_space_limit": 0, "replica_allow_batching": "ON", "replica_checkpoint_group": 512, "replica_checkpoint_period": 300, "replica_compressed_protocol": "OFF", "replica_exec_mode": "STRICT", "replica_load_tmpdir": "/tmp", "replica_max_allowed_packet": 1073741824, "replica_net_timeout": 60, "replica_parallel_type": "LOGICAL_CLOCK", "replica_parallel_workers": 4, "replica_pending_jobs_size_max": 134217728, "replica_preserve_commit_order": "ON", "replica_skip_errors": "OFF", "replica_sql_verify_checksum": "ON", "replica_transaction_retries": 10, "replica_type_conversions": "", "replication_optimize_for_static_plugin_config": "OFF", "replication_sender_observe_commit_only": "OFF", "report_host": "", "report_password": "", "report_port": 3306, "report_user": "", "require_secure_transport": "OFF", "restrict_fk_on_non_standard_key": "ON", "rpl_read_size": 8192, "rpl_stop_replica_timeout": 31536000, "rpl_stop_slave_timeout": 31536000, "schema_definition_cache": 256, "secondary_engine_cost_threshold": "100000.000000", "secure_file_priv": "/var/lib/mysql-files/", "select_into_buffer_size": 131072, "select_into_disk_sync": "OFF", "select_into_disk_sync_delay": 0, "server_id": 1, "server_id_bits": 32, "server_uuid": "25bcc386-485b-11f1-93ba-aa1a9528f026", "session_track_gtids": "OFF", "session_track_schema": "ON", "session_track_state_change": "OFF", "session_track_system_variables": "time_zone,autocommit,character_set_client,character_set_results,character_set_connection", "session_track_transaction_info": "OFF", "set_operations_buffer_size": 262144, "sha256_password_auto_generate_rsa_keys": "ON", "sha256_password_private_key_path": "private_key.pem", "sha256_password_proxy_users": "OFF", "sha256_password_public_key_path": "public_key.pem", "show_create_table_verbosity": "OFF", "show_gipk_in_create_table_and_information_schema": "ON", "skip_external_locking": "ON", "skip_name_resolve": "ON", "skip_networking": "OFF", "skip_replica_start": "OFF", "skip_show_database": "OFF", "skip_slave_start": "OFF", "slave_allow_batching": "ON", "slave_checkpoint_group": 512, "slave_checkpoint_period": 300, "slave_compressed_protocol": "OFF", "slave_exec_mode": "STRICT", "slave_load_tmpdir": "/tmp", "slave_max_allowed_packet": 1073741824, "slave_net_timeout": 60, "slave_parallel_type": "LOGICAL_CLOCK", "slave_parallel_workers": 4, "slave_pending_jobs_size_max": 134217728, "slave_preserve_commit_order": "ON", "slave_skip_errors": "OFF", "slave_sql_verify_checksum": "ON", "slave_transaction_retries": 10, "slave_type_conversions": "", "slow_launch_time": 2, "slow_query_log": "OFF", "slow_query_log_file": "/var/lib/mysql/7fb66b4ace44-slow.log", "socket": "/var/run/mysqld/mysqld.sock", "sort_buffer_size": 262144, "source_verify_checksum": "OFF", "sql_auto_is_null": "OFF", "sql_big_selects": "ON", "sql_buffer_result": "OFF", "sql_generate_invisible_primary_key": "OFF", "sql_log_off": "OFF", "sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "sql_notes": "ON", "sql_quote_show_create": "ON", "sql_replica_skip_counter": 0, "sql_require_primary_key": "OFF", "sql_safe_updates": "OFF", "sql_select_limit": 18446744073709551615, "sql_slave_skip_counter": 0, "sql_warnings": "OFF", "ssl_ca": "ca.pem", "ssl_capath": "", "ssl_cert": "server-cert.pem", "ssl_cipher": "", "ssl_crl": "", "ssl_crlpath": "", "ssl_fips_mode": "OFF", "ssl_key": "server-key.pem", "ssl_session_cache_mode": "ON", "ssl_session_cache_timeout": 300, "stored_program_cache": 256, "stored_program_definition_cache": 256, "super_read_only": "OFF", "sync_binlog": 1, "sync_master_info": 10000, "sync_relay_log": 10000, "sync_relay_log_info": 10000, "sync_source_info": 10000, "system_time_zone": "UTC", "table_definition_cache": 2000, "table_encryption_privilege_check": "OFF", "table_open_cache": 4000, "table_open_cache_instances": 16, "tablespace_definition_cache": 256, "temptable_max_mmap": 0, "temptable_max_ram": 1073741824, "temptable_use_mmap": "OFF", "terminology_use_previous": "NONE", "thread_cache_size": 9, "thread_handling": "one-thread-per-connection", "thread_stack": 1048576, "time_zone": "SYSTEM", "tls_certificates_enforced_validation": "OFF", "tls_ciphersuites": "", "tls_version": "TLSv1.2,TLSv1.3", "tmp_table_size": 16777216, "tmpdir": "/tmp", "transaction_alloc_block_size": 8192, "transaction_isolation": "REPEATABLE-READ", "transaction_prealloc_size": 4096, "transaction_read_only": "OFF", "unique_checks": "ON", "updatable_views_with_limit": "YES", "version": "8.4.1", "version_comment": "MySQL Community Server - GPL", "version_compile_machine": "x86_64", "version_compile_os": "Linux", "version_compile_zlib": "1.2.13", "wait_timeout": 28800, "windowing_use_high_precision": "ON", "xa_detach_on_prepare": "ON"}, "slave_hosts": {}, "slave_status": {}, "users": {"%": {"root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}, "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:31.7164739Z 
2026-05-05T08:25:31.7164960Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:31.7813717Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:31.7814223Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:31.7814674Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:31.7815086Z ␛[0;32m}␛[0m
2026-05-05T08:25:31.7815235Z 
2026-05-05T08:25:31.7815529Z TASK [test_mysql_info : mysql_info - remove cred files] ************************
2026-05-05T08:25:32.2150101Z ␛[0;32mok: [testhost] => (item=/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/.my.cnf) => {"ansible_loop_var": "item", "changed": false, "item": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/.my.cnf", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/.my.cnf", "state": "absent"}␛[0m
2026-05-05T08:25:32.2156713Z ␛[0;32mok: [testhost] => (item=/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/non-default_my.cnf) => {"ansible_loop_var": "item", "changed": false, "item": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/non-default_my.cnf", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/non-default_my.cnf", "state": "absent"}␛[0m
2026-05-05T08:25:32.2160413Z 
2026-05-05T08:25:32.2160789Z TASK [test_mysql_info : mysql_info - check access with password] ***************
2026-05-05T08:25:32.6112856Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 0, "Aborted_connects": 0, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 0, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 0, "Bytes_received": 15271, "Bytes_sent": 170002, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 34, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 0, "Com_alter_user_default_role": 0, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 1, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 0, "Com_create_db": 1, "Com_create_event": 0, "Com_create_function": 0, "Com_create_index": 0, "Com_create_procedure": 0, "Com_create_resource_group": 0, "Com_create_role": 0, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 35, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 0, "Com_create_view": 0, "Com_dealloc_sql": 0, "Com_delete": 0, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 0, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 0, "Com_drop_resource_group": 0, "Com_drop_role": 0, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 0, "Com_drop_trigger": 0, "Com_drop_user": 0, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 1, "Com_get_diagnostics": 0, "Com_grant": 0, "Com_grant_roles": 0, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 0, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 0, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 0, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 0, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 0, "Com_revoke_all": 0, "Com_revoke_roles": 0, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 69, "Com_set_option": 8, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 0, "Com_show_binary_log_status": 2, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 0, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 0, "Com_show_create_trigger": 0, "Com_show_create_user": 10, "Com_show_databases": 0, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 0, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 10, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 2, "Com_show_replicas": 2, "Com_show_status": 3, "Com_show_storage_engines": 2, "Com_show_table_status": 0, "Com_show_tables": 0, "Com_show_triggers": 0, "Com_show_variables": 4, "Com_show_warnings": 0, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 0, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 0, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 45, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 12, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1208, "Error_log_buffered_events": 9, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969190726119, "Flush_commands": 3, "Global_connection_memory": 0, "Handler_commit": 2254, "Handler_delete": 8, "Handler_discover": 0, "Handler_external_lock": 13187, "Handler_mrr_init": 0, "Handler_prepare": 0, "Handler_read_first": 51, "Handler_read_key": 6720, "Handler_read_last": 0, "Handler_read_next": 6481, "Handler_read_prev": 0, "Handler_read_rnd": 0, "Handler_read_rnd_next": 8322, "Handler_rollback": 2, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 1309, "Handler_write": 3520, "Innodb_buffer_pool_bytes_data": 17465344, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1066, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 195, "Innodb_buffer_pool_pages_free": 7126, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 0, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 26877, "Innodb_buffer_pool_reads": 921, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 1931, "Innodb_data_fsyncs": 75, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 15206912, "Innodb_data_reads": 944, "Innodb_data_writes": 257, "Innodb_data_written": 3280896, "Innodb_dblwr_pages_written": 54, "Innodb_dblwr_writes": 4, "Innodb_log_waits": 0, "Innodb_log_write_requests": 840, "Innodb_log_writes": 32, "Innodb_num_open_files": 15, "Innodb_os_log_fsyncs": 26, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 57856, "Innodb_page_size": 16384, "Innodb_pages_created": 143, "Innodb_pages_read": 923, "Innodb_pages_written": 195, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 32268004, "Innodb_redo_log_current_lsn": 32268004, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 32268004, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 3276800, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 0, "Innodb_rows_inserted": 0, "Innodb_rows_read": 0, "Innodb_rows_updated": 0, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 8, "Innodb_system_rows_inserted": 8, "Innodb_system_rows_read": 8720, "Innodb_system_rows_updated": 331, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 1, "Max_used_connections_time": "2026-05-05 08:19:54", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 10, "Open_streams": 0, "Open_table_definitions": 162, "Open_tables": 436, "Opened_files": 10, "Opened_table_definitions": 200, "Opened_tables": 517, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 104, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 180, "Questions": 145, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 3, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 23, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 0, "Sort_scan": 0, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 0, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 0, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 7, "Table_locks_waited": 0, "Table_open_cache_hits": 6422, "Table_open_cache_misses": 517, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 0, "Threads_connected": 1, "Threads_created": 1, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 342, "Uptime_since_flush_status": 342}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 158}, "server_engine": "MySQL", "settings": {"activate_all_roles_on_login": "OFF", "admin_address": "", "admin_port": 33062, "admin_ssl_ca": "", "admin_ssl_capath": "", "admin_ssl_cert": "", "admin_ssl_cipher": "", "admin_ssl_crl": "", "admin_ssl_crlpath": "", "admin_ssl_key": "", "admin_tls_ciphersuites": "", "admin_tls_version": "TLSv1.2,TLSv1.3", "authentication_policy": "*,,", "auto_generate_certs": "ON", "auto_increment_increment": 1, "auto_increment_offset": 1, "autocommit": "ON", "automatic_sp_privileges": "ON", "back_log": 151, "basedir": "/usr/", "big_tables": "OFF", "bind_address": "*", "binlog_cache_size": 32768, "binlog_checksum": "CRC32", "binlog_direct_non_transactional_updates": "OFF", "binlog_encryption": "OFF", "binlog_error_action": "ABORT_SERVER", "binlog_expire_logs_auto_purge": "ON", "binlog_expire_logs_seconds": 2592000, "binlog_format": "ROW", "binlog_group_commit_sync_delay": 0, "binlog_group_commit_sync_no_delay_count": 0, "binlog_gtid_simple_recovery": "ON", "binlog_max_flush_queue_time": 0, "binlog_order_commits": "ON", "binlog_rotate_encryption_master_key_at_startup": "OFF", "binlog_row_event_max_size": 8192, "binlog_row_image": "FULL", "binlog_row_metadata": "MINIMAL", "binlog_row_value_options": "", "binlog_rows_query_log_events": "OFF", "binlog_stmt_cache_size": 32768, "binlog_transaction_compression": "OFF", "binlog_transaction_compression_level_zstd": 3, "binlog_transaction_dependency_history_size": 25000, "block_encryption_mode": "aes-128-ecb", "build_id": "e1f916ae1a4eb90541cc38cf2dbf277be6107b2c", "bulk_insert_buffer_size": 8388608, "caching_sha2_password_auto_generate_rsa_keys": "ON", "caching_sha2_password_digest_rounds": 5000, "caching_sha2_password_private_key_path": "private_key.pem", "caching_sha2_password_public_key_path": "public_key.pem", "character_set_client": "utf8mb4", "character_set_connection": "utf8mb4", "character_set_database": "utf8mb4", "character_set_filesystem": "binary", "character_set_results": "utf8mb4", "character_set_server": "utf8mb4", "character_set_system": "utf8mb3", "character_sets_dir": "/usr/share/mysql-8.4/charsets/", "check_proxy_users": "OFF", "collation_connection": "utf8mb4_0900_ai_ci", "collation_database": "utf8mb4_0900_ai_ci", "collation_server": "utf8mb4_0900_ai_ci", "completion_type": "NO_CHAIN", "concurrent_insert": "AUTO", "connect_timeout": 10, "connection_memory_chunk_size": 8192, "connection_memory_limit": 18446744073709551615, "core_file": "OFF", "create_admin_listener_thread": "OFF", "cte_max_recursion_depth": 1000, "datadir": "/var/lib/mysql/", "default_collation_for_utf8mb4": "utf8mb4_0900_ai_ci", "default_password_lifetime": 0, "default_storage_engine": "InnoDB", "default_table_encryption": "OFF", "default_tmp_storage_engine": "InnoDB", "default_week_format": 0, "delay_key_write": "ON", "delayed_insert_limit": 100, "delayed_insert_timeout": 300, "delayed_queue_size": 1000, "disabled_storage_engines": "", "disconnect_on_expired_password": "ON", "div_precision_increment": 4, "end_markers_in_json": "OFF", "enforce_gtid_consistency": "OFF", "eq_range_index_dive_limit": 200, "event_scheduler": "ON", "explain_format": "TRADITIONAL", "explain_json_format_version": 1, "explicit_defaults_for_timestamp": "ON", "flush": "OFF", "flush_time": 0, "foreign_key_checks": "ON", "ft_boolean_syntax": "+ -><()~*:\"\"&|", "ft_max_word_len": 84, "ft_min_word_len": 4, "ft_query_expansion_limit": 20, "ft_stopword_file": "(built-in)", "general_log": "OFF", "general_log_file": "/var/lib/mysql/7fb66b4ace44.log", "generated_random_password_length": 20, "global_connection_memory_limit": 18446744073709551615, "global_connection_memory_tracking": "OFF", "group_concat_max_len": 1024, "group_replication_consistency": "BEFORE_ON_PRIMARY_FAILOVER", "gtid_executed": "", "gtid_executed_compression_period": 0, "gtid_mode": "OFF", "gtid_owned": "", "gtid_purged": "", "have_compress": "YES", "have_dynamic_loading": "YES", "have_geometry": "YES", "have_profiling": "YES", "have_query_cache": "NO", "have_rtree_keys": "YES", "have_statement_timeout": "YES", "have_symlink": "DISABLED", "histogram_generation_max_mem_size": 20000000, "host_cache_size": 0, "hostname": "7fb66b4ace44", "information_schema_stats_expiry": 86400, "init_connect": "", "init_file": "", "init_replica": "", "init_slave": "", "innodb_adaptive_flushing": "ON", "innodb_adaptive_flushing_lwm": 10, "innodb_adaptive_hash_index": "OFF", "innodb_adaptive_hash_index_parts": 8, "innodb_adaptive_max_sleep_delay": 150000, "innodb_api_bk_commit_interval": 5, "innodb_api_disable_rowlock": "OFF", "innodb_api_enable_binlog": "OFF", "innodb_api_enable_mdl": "OFF", "innodb_api_trx_level": 0, "innodb_autoextend_increment": 64, "innodb_autoinc_lock_mode": 2, "innodb_buffer_pool_chunk_size": 134217728, "innodb_buffer_pool_dump_at_shutdown": "ON", "innodb_buffer_pool_dump_now": "OFF", "innodb_buffer_pool_dump_pct": 25, "innodb_buffer_pool_filename": "ib_buffer_pool", "innodb_buffer_pool_in_core_file": "OFF", "innodb_buffer_pool_instances": 1, "innodb_buffer_pool_load_abort": "OFF", "innodb_buffer_pool_load_at_startup": "ON", "innodb_buffer_pool_load_now": "OFF", "innodb_buffer_pool_size": 134217728, "innodb_change_buffer_max_size": 25, "innodb_change_buffering": "none", "innodb_checksum_algorithm": "crc32", "innodb_cmp_per_index_enabled": "OFF", "innodb_commit_concurrency": 0, "innodb_compression_failure_threshold_pct": 5, "innodb_compression_level": 6, "innodb_compression_pad_pct_max": 50, "innodb_concurrency_tickets": 5000, "innodb_data_file_path": "ibdata1:12M:autoextend", "innodb_data_home_dir": "", "innodb_ddl_buffer_size": 1048576, "innodb_ddl_threads": 4, "innodb_deadlock_detect": "ON", "innodb_dedicated_server": "OFF", "innodb_default_row_format": "dynamic", "innodb_directories": "", "innodb_disable_sort_file_cache": "OFF", "innodb_doublewrite": "ON", "innodb_doublewrite_batch_size": 0, "innodb_doublewrite_dir": "", "innodb_doublewrite_files": 2, "innodb_doublewrite_pages": 128, "innodb_extend_and_initialize": "ON", "innodb_fast_shutdown": 1, "innodb_file_per_table": "ON", "innodb_fill_factor": 100, "innodb_flush_log_at_timeout": 1, "innodb_flush_log_at_trx_commit": 1, "innodb_flush_method": "O_DIRECT", "innodb_flush_neighbors": 0, "innodb_flush_sync": "ON", "innodb_flushing_avg_loops": 30, "innodb_force_load_corrupted": "OFF", "innodb_force_recovery": 0, "innodb_fsync_threshold": 0, "innodb_ft_aux_table": "", "innodb_ft_cache_size": 8000000, "innodb_ft_enable_diag_print": "OFF", "innodb_ft_enable_stopword": "ON", "innodb_ft_max_token_size": 84, "innodb_ft_min_token_size": 3, "innodb_ft_num_word_optimize": 2000, "innodb_ft_result_cache_limit": 2000000000, "innodb_ft_server_stopword_table": "", "innodb_ft_sort_pll_degree": 2, "innodb_ft_total_cache_size": 640000000, "innodb_ft_user_stopword_table": "", "innodb_idle_flush_pct": 100, "innodb_io_capacity": 10000, "innodb_io_capacity_max": 20000, "innodb_lock_wait_timeout": 50, "innodb_log_buffer_size": 67108864, "innodb_log_checksums": "ON", "innodb_log_compressed_pages": "ON", "innodb_log_file_size": 50331648, "innodb_log_files_in_group": 2, "innodb_log_group_home_dir": "./", "innodb_log_spin_cpu_abs_lwm": 80, "innodb_log_spin_cpu_pct_hwm": 50, "innodb_log_wait_for_flush_spin_hwm": 400, "innodb_log_write_ahead_size": 8192, "innodb_log_writer_threads": "ON", "innodb_lru_scan_depth": 1024, "innodb_max_dirty_pages_pct": "90.000000", "innodb_max_dirty_pages_pct_lwm": "10.000000", "innodb_max_purge_lag": 0, "innodb_max_purge_lag_delay": 0, "innodb_max_undo_log_size": 1073741824, "innodb_monitor_disable": "", "innodb_monitor_enable": "", "innodb_monitor_reset": "", "innodb_monitor_reset_all": "", "innodb_old_blocks_pct": 37, "innodb_old_blocks_time": 1000, "innodb_online_alter_log_max_size": 134217728, "innodb_open_files": 4000, "innodb_optimize_fulltext_only": "OFF", "innodb_page_cleaners": 1, "innodb_page_size": 16384, "innodb_parallel_read_threads": 4, "innodb_print_all_deadlocks": "OFF", "innodb_print_ddl_logs": "OFF", "innodb_purge_batch_size": 300, "innodb_purge_rseg_truncate_frequency": 128, "innodb_purge_threads": 1, "innodb_random_read_ahead": "OFF", "innodb_read_ahead_threshold": 56, "innodb_read_io_threads": 4, "innodb_read_only": "OFF", "innodb_redo_log_archive_dirs": "", "innodb_redo_log_capacity": 104857600, "innodb_redo_log_encrypt": "OFF", "innodb_replication_delay": 0, "innodb_rollback_on_timeout": "OFF", "innodb_rollback_segments": 128, "innodb_segment_reserve_factor": "12.500000", "innodb_sort_buffer_size": 1048576, "innodb_spin_wait_delay": 6, "innodb_spin_wait_pause_multiplier": 50, "innodb_stats_auto_recalc": "ON", "innodb_stats_include_delete_marked": "OFF", "innodb_stats_method": "nulls_equal", "innodb_stats_on_metadata": "OFF", "innodb_stats_persistent": "ON", "innodb_stats_persistent_sample_pages": 20, "innodb_stats_transient_sample_pages": 8, "innodb_status_output": "OFF", "innodb_status_output_locks": "OFF", "innodb_strict_mode": "ON", "innodb_sync_array_size": 1, "innodb_sync_spin_loops": 30, "innodb_table_locks": "ON", "innodb_temp_data_file_path": "ibtmp1:12M:autoextend", "innodb_temp_tablespaces_dir": "./#innodb_temp/", "innodb_thread_concurrency": 0, "innodb_thread_sleep_delay": 10000, "innodb_tmpdir": "", "innodb_undo_directory": "./", "innodb_undo_log_encrypt": "OFF", "innodb_undo_log_truncate": "ON", "innodb_undo_tablespaces": 2, "innodb_use_fdatasync": "ON", "innodb_use_native_aio": "ON", "innodb_validate_tablespace_paths": "ON", "innodb_version": "8.4.1", "innodb_write_io_threads": 4, "interactive_timeout": 28800, "internal_tmp_mem_storage_engine": "TempTable", "join_buffer_size": 262144, "keep_files_on_create": "OFF", "key_buffer_size": 8388608, "key_cache_age_threshold": 300, "key_cache_block_size": 1024, "key_cache_division_limit": 100, "keyring_operations": "ON", "large_files_support": "ON", "large_page_size": 0, "large_pages": "OFF", "lc_messages": "en_US", "lc_messages_dir": "/usr/share/mysql-8.4/", "lc_time_names": "en_US", "license": "GPL", "local_infile": "OFF", "lock_wait_timeout": 31536000, "locked_in_memory": "OFF", "log_bin": "ON", "log_bin_basename": "/var/lib/mysql/primary-bin", "log_bin_index": "/var/lib/mysql/primary-bin.index", "log_bin_trust_function_creators": "OFF", "log_error": "stderr", "log_error_services": "log_filter_internal; log_sink_internal", "log_error_suppression_list": "", "log_error_verbosity": 2, "log_output": "FILE", "log_queries_not_using_indexes": "OFF", "log_raw": "OFF", "log_replica_updates": "ON", "log_slave_updates": "ON", "log_slow_admin_statements": "OFF", "log_slow_extra": "OFF", "log_slow_replica_statements": "OFF", "log_slow_slave_statements": "OFF", "log_statements_unsafe_for_binlog": "ON", "log_throttle_queries_not_using_indexes": 0, "log_timestamps": "UTC", "long_query_time": "10.000000", "low_priority_updates": "OFF", "lower_case_file_system": "OFF", "lower_case_table_names": 0, "mandatory_roles": "", "master_verify_checksum": "OFF", "max_allowed_packet": 67108864, "max_binlog_cache_size": 18446744073709547520, "max_binlog_size": 1073741824, "max_binlog_stmt_cache_size": 18446744073709547520, "max_connect_errors": 100, "max_connections": 151, "max_delayed_threads": 20, "max_digest_length": 1024, "max_error_count": 1024, "max_execution_time": 0, "max_heap_table_size": 16777216, "max_insert_delayed_threads": 20, "max_join_size": 18446744073709551615, "max_length_for_sort_data": 4096, "max_points_in_geometry": 65536, "max_prepared_stmt_count": 16382, "max_relay_log_size": 0, "max_seeks_for_key": 18446744073709551615, "max_sort_length": 1024, "max_sp_recursion_depth": 0, "max_user_connections": 0, "max_write_lock_count": 18446744073709551615, "min_examined_row_limit": 0, "myisam_data_pointer_size": 6, "myisam_max_sort_file_size": 9223372036853727232, "myisam_mmap_size": 18446744073709551615, "myisam_recover_options": "OFF", "myisam_sort_buffer_size": 8388608, "myisam_stats_method": "nulls_unequal", "myisam_use_mmap": "OFF", "mysql_native_password_proxy_users": "OFF", "mysqlx_bind_address": "*", "mysqlx_compression_algorithms": "DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM", "mysqlx_connect_timeout": 30, "mysqlx_deflate_default_compression_level": 3, "mysqlx_deflate_max_client_compression_level": 5, "mysqlx_document_id_unique_prefix": 0, "mysqlx_enable_hello_notice": "ON", "mysqlx_idle_worker_thread_timeout": 60, "mysqlx_interactive_timeout": 28800, "mysqlx_lz4_default_compression_level": 2, "mysqlx_lz4_max_client_compression_level": 8, "mysqlx_max_allowed_packet": 67108864, "mysqlx_max_connections": 100, "mysqlx_min_worker_threads": 2, "mysqlx_port": 33060, "mysqlx_port_open_timeout": 0, "mysqlx_read_timeout": 30, "mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "mysqlx_ssl_ca": "", "mysqlx_ssl_capath": "", "mysqlx_ssl_cert": "", "mysqlx_ssl_cipher": "", "mysqlx_ssl_crl": "", "mysqlx_ssl_crlpath": "", "mysqlx_ssl_key": "", "mysqlx_wait_timeout": 28800, "mysqlx_write_timeout": 60, "mysqlx_zstd_default_compression_level": 3, "mysqlx_zstd_max_client_compression_level": 11, "net_buffer_length": 16384, "net_read_timeout": 30, "net_retry_count": 10, "net_write_timeout": 60, "ngram_token_size": 2, "offline_mode": "OFF", "old_alter_table": "OFF", "open_files_limit": 65536, "optimizer_max_subgraph_pairs": 100000, "optimizer_prune_level": 1, "optimizer_search_depth": 62, "optimizer_switch": "index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on", "optimizer_trace": "enabled=off,one_line=off", "optimizer_trace_features": "greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on", "optimizer_trace_limit": 1, "optimizer_trace_max_mem_size": 1048576, "optimizer_trace_offset": -1, "parser_max_mem_size": 18446744073709551615, "partial_revokes": "OFF", "password_history": 0, "password_require_current": "OFF", "password_reuse_interval": 0, "performance_schema": "ON", "performance_schema_accounts_size": -1, "performance_schema_digests_size": 10000, "performance_schema_error_size": 5538, "performance_schema_events_stages_history_long_size": 10000, "performance_schema_events_stages_history_size": 10, "performance_schema_events_statements_history_long_size": 10000, "performance_schema_events_statements_history_size": 10, "performance_schema_events_transactions_history_long_size": 10000, "performance_schema_events_transactions_history_size": 10, "performance_schema_events_waits_history_long_size": 10000, "performance_schema_events_waits_history_size": 10, "performance_schema_hosts_size": -1, "performance_schema_max_cond_classes": 150, "performance_schema_max_cond_instances": -1, "performance_schema_max_digest_length": 1024, "performance_schema_max_digest_sample_age": 60, "performance_schema_max_file_classes": 80, "performance_schema_max_file_handles": 32768, "performance_schema_max_file_instances": -1, "performance_schema_max_index_stat": -1, "performance_schema_max_memory_classes": 470, "performance_schema_max_metadata_locks": -1, "performance_schema_max_meter_classes": 30, "performance_schema_max_metric_classes": 600, "performance_schema_max_mutex_classes": 350, "performance_schema_max_mutex_instances": -1, "performance_schema_max_prepared_statements_instances": -1, "performance_schema_max_program_instances": -1, "performance_schema_max_rwlock_classes": 100, "performance_schema_max_rwlock_instances": -1, "performance_schema_max_socket_classes": 10, "performance_schema_max_socket_instances": -1, "performance_schema_max_sql_text_length": 1024, "performance_schema_max_stage_classes": 175, "performance_schema_max_statement_classes": 220, "performance_schema_max_statement_stack": 10, "performance_schema_max_table_handles": -1, "performance_schema_max_table_instances": -1, "performance_schema_max_table_lock_stat": -1, "performance_schema_max_thread_classes": 100, "performance_schema_max_thread_instances": -1, "performance_schema_session_connect_attrs_size": 512, "performance_schema_setup_actors_size": -1, "performance_schema_setup_objects_size": -1, "performance_schema_show_processlist": "OFF", "performance_schema_users_size": -1, "persist_only_admin_x509_subject": "", "persist_sensitive_variables_in_plaintext": "ON", "persisted_globals_load": "ON", "pid_file": "/var/run/mysqld/mysqld.pid", "plugin_dir": "/usr/lib64/mysql/plugin/", "port": 3306, "preload_buffer_size": 32768, "print_identified_with_as_hex": "OFF", "profiling": "OFF", "profiling_history_size": 15, "protocol_compression_algorithms": "zlib,zstd,uncompressed", "protocol_version": 10, "query_alloc_block_size": 8192, "query_prealloc_size": 8192, "range_alloc_block_size": 4096, "range_optimizer_max_mem_size": 8388608, "rbr_exec_mode": "STRICT", "read_buffer_size": 131072, "read_only": "OFF", "read_rnd_buffer_size": 262144, "regexp_stack_limit": 8000000, "regexp_time_limit": 32, "relay_log": "7fb66b4ace44-relay-bin", "relay_log_basename": "/var/lib/mysql/7fb66b4ace44-relay-bin", "relay_log_index": "/var/lib/mysql/7fb66b4ace44-relay-bin.index", "relay_log_purge": "ON", "relay_log_recovery": "OFF", "relay_log_space_limit": 0, "replica_allow_batching": "ON", "replica_checkpoint_group": 512, "replica_checkpoint_period": 300, "replica_compressed_protocol": "OFF", "replica_exec_mode": "STRICT", "replica_load_tmpdir": "/tmp", "replica_max_allowed_packet": 1073741824, "replica_net_timeout": 60, "replica_parallel_type": "LOGICAL_CLOCK", "replica_parallel_workers": 4, "replica_pending_jobs_size_max": 134217728, "replica_preserve_commit_order": "ON", "replica_skip_errors": "OFF", "replica_sql_verify_checksum": "ON", "replica_transaction_retries": 10, "replica_type_conversions": "", "replication_optimize_for_static_plugin_config": "OFF", "replication_sender_observe_commit_only": "OFF", "report_host": "", "report_password": "", "report_port": 3306, "report_user": "", "require_secure_transport": "OFF", "restrict_fk_on_non_standard_key": "ON", "rpl_read_size": 8192, "rpl_stop_replica_timeout": 31536000, "rpl_stop_slave_timeout": 31536000, "schema_definition_cache": 256, "secondary_engine_cost_threshold": "100000.000000", "secure_file_priv": "/var/lib/mysql-files/", "select_into_buffer_size": 131072, "select_into_disk_sync": "OFF", "select_into_disk_sync_delay": 0, "server_id": 1, "server_id_bits": 32, "server_uuid": "25bcc386-485b-11f1-93ba-aa1a9528f026", "session_track_gtids": "OFF", "session_track_schema": "ON", "session_track_state_change": "OFF", "session_track_system_variables": "time_zone,autocommit,character_set_client,character_set_results,character_set_connection", "session_track_transaction_info": "OFF", "set_operations_buffer_size": 262144, "sha256_password_auto_generate_rsa_keys": "ON", "sha256_password_private_key_path": "private_key.pem", "sha256_password_proxy_users": "OFF", "sha256_password_public_key_path": "public_key.pem", "show_create_table_verbosity": "OFF", "show_gipk_in_create_table_and_information_schema": "ON", "skip_external_locking": "ON", "skip_name_resolve": "ON", "skip_networking": "OFF", "skip_replica_start": "OFF", "skip_show_database": "OFF", "skip_slave_start": "OFF", "slave_allow_batching": "ON", "slave_checkpoint_group": 512, "slave_checkpoint_period": 300, "slave_compressed_protocol": "OFF", "slave_exec_mode": "STRICT", "slave_load_tmpdir": "/tmp", "slave_max_allowed_packet": 1073741824, "slave_net_timeout": 60, "slave_parallel_type": "LOGICAL_CLOCK", "slave_parallel_workers": 4, "slave_pending_jobs_size_max": 134217728, "slave_preserve_commit_order": "ON", "slave_skip_errors": "OFF", "slave_sql_verify_checksum": "ON", "slave_transaction_retries": 10, "slave_type_conversions": "", "slow_launch_time": 2, "slow_query_log": "OFF", "slow_query_log_file": "/var/lib/mysql/7fb66b4ace44-slow.log", "socket": "/var/run/mysqld/mysqld.sock", "sort_buffer_size": 262144, "source_verify_checksum": "OFF", "sql_auto_is_null": "OFF", "sql_big_selects": "ON", "sql_buffer_result": "OFF", "sql_generate_invisible_primary_key": "OFF", "sql_log_off": "OFF", "sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "sql_notes": "ON", "sql_quote_show_create": "ON", "sql_replica_skip_counter": 0, "sql_require_primary_key": "OFF", "sql_safe_updates": "OFF", "sql_select_limit": 18446744073709551615, "sql_slave_skip_counter": 0, "sql_warnings": "OFF", "ssl_ca": "ca.pem", "ssl_capath": "", "ssl_cert": "server-cert.pem", "ssl_cipher": "", "ssl_crl": "", "ssl_crlpath": "", "ssl_fips_mode": "OFF", "ssl_key": "server-key.pem", "ssl_session_cache_mode": "ON", "ssl_session_cache_timeout": 300, "stored_program_cache": 256, "stored_program_definition_cache": 256, "super_read_only": "OFF", "sync_binlog": 1, "sync_master_info": 10000, "sync_relay_log": 10000, "sync_relay_log_info": 10000, "sync_source_info": 10000, "system_time_zone": "UTC", "table_definition_cache": 2000, "table_encryption_privilege_check": "OFF", "table_open_cache": 4000, "table_open_cache_instances": 16, "tablespace_definition_cache": 256, "temptable_max_mmap": 0, "temptable_max_ram": 1073741824, "temptable_use_mmap": "OFF", "terminology_use_previous": "NONE", "thread_cache_size": 9, "thread_handling": "one-thread-per-connection", "thread_stack": 1048576, "time_zone": "SYSTEM", "tls_certificates_enforced_validation": "OFF", "tls_ciphersuites": "", "tls_version": "TLSv1.2,TLSv1.3", "tmp_table_size": 16777216, "tmpdir": "/tmp", "transaction_alloc_block_size": 8192, "transaction_isolation": "REPEATABLE-READ", "transaction_prealloc_size": 4096, "transaction_read_only": "OFF", "unique_checks": "ON", "updatable_views_with_limit": "YES", "version": "8.4.1", "version_comment": "MySQL Community Server - GPL", "version_compile_machine": "x86_64", "version_compile_os": "Linux", "version_compile_zlib": "1.2.13", "wait_timeout": 28800, "windowing_use_high_precision": "ON", "xa_detach_on_prepare": "ON"}, "slave_hosts": {}, "slave_status": {}, "users": {"%": {"root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}, "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:32.6265930Z 
2026-05-05T08:25:32.6266218Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:32.6860129Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:32.6860628Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:32.6861114Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:32.6861555Z ␛[0;32m}␛[0m
2026-05-05T08:25:32.6861730Z 
2026-05-05T08:25:32.6862053Z TASK [test_mysql_info : Collect all info except settings and users] ************
2026-05-05T08:25:33.0558320Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 0, "Aborted_connects": 0, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 0, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 0, "Bytes_received": 18791, "Bytes_sent": 230733, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 34, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 0, "Com_alter_user_default_role": 0, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 1, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 0, "Com_create_db": 1, "Com_create_event": 0, "Com_create_function": 0, "Com_create_index": 0, "Com_create_procedure": 0, "Com_create_resource_group": 0, "Com_create_role": 0, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 35, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 0, "Com_create_view": 0, "Com_dealloc_sql": 0, "Com_delete": 0, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 0, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 0, "Com_drop_resource_group": 0, "Com_drop_role": 0, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 0, "Com_drop_trigger": 0, "Com_drop_user": 0, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 1, "Com_get_diagnostics": 0, "Com_grant": 0, "Com_grant_roles": 0, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 0, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 0, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 0, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 0, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 0, "Com_revoke_all": 0, "Com_revoke_roles": 0, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 100, "Com_set_option": 9, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 0, "Com_show_binary_log_status": 3, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 0, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 0, "Com_show_create_trigger": 0, "Com_show_create_user": 15, "Com_show_databases": 0, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 0, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 15, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 3, "Com_show_replicas": 3, "Com_show_status": 4, "Com_show_storage_engines": 3, "Com_show_table_status": 0, "Com_show_tables": 0, "Com_show_triggers": 0, "Com_show_variables": 5, "Com_show_warnings": 0, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 0, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 0, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 46, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 16, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1208, "Error_log_buffered_events": 9, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969190726119, "Flush_commands": 3, "Global_connection_memory": 0, "Handler_commit": 2272, "Handler_delete": 8, "Handler_discover": 0, "Handler_external_lock": 13237, "Handler_mrr_init": 0, "Handler_prepare": 0, "Handler_read_first": 55, "Handler_read_key": 7427, "Handler_read_last": 0, "Handler_read_next": 6482, "Handler_read_prev": 0, "Handler_read_rnd": 0, "Handler_read_rnd_next": 10953, "Handler_rollback": 3, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 1635, "Handler_write": 4652, "Innodb_buffer_pool_bytes_data": 17465344, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1066, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 195, "Innodb_buffer_pool_pages_free": 7126, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 0, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 27341, "Innodb_buffer_pool_reads": 921, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 1931, "Innodb_data_fsyncs": 75, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 15206912, "Innodb_data_reads": 944, "Innodb_data_writes": 257, "Innodb_data_written": 3280896, "Innodb_dblwr_pages_written": 54, "Innodb_dblwr_writes": 4, "Innodb_log_waits": 0, "Innodb_log_write_requests": 840, "Innodb_log_writes": 32, "Innodb_num_open_files": 15, "Innodb_os_log_fsyncs": 26, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 57856, "Innodb_page_size": 16384, "Innodb_pages_created": 143, "Innodb_pages_read": 923, "Innodb_pages_written": 195, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 32268004, "Innodb_redo_log_current_lsn": 32268004, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 32268004, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 3276800, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 0, "Innodb_rows_inserted": 0, "Innodb_rows_read": 0, "Innodb_rows_updated": 0, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 8, "Innodb_system_rows_inserted": 8, "Innodb_system_rows_read": 9137, "Innodb_system_rows_updated": 331, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 1, "Max_used_connections_time": "2026-05-05 08:19:54", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 12, "Open_streams": 0, "Open_table_definitions": 162, "Open_tables": 558, "Opened_files": 12, "Opened_table_definitions": 200, "Opened_tables": 639, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 104, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 229, "Questions": 194, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 4, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 31, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 0, "Sort_scan": 0, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 0, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 0, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 9, "Table_locks_waited": 0, "Table_open_cache_hits": 6440, "Table_open_cache_misses": 639, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 0, "Threads_connected": 1, "Threads_created": 1, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 342, "Uptime_since_flush_status": 342}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 158}, "server_engine": "MySQL", "slave_hosts": {}, "slave_status": {}, "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:33.0626196Z 
2026-05-05T08:25:33.0626405Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:33.1523607Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:33.1524261Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:33.1525028Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:33.1525593Z ␛[0;32m}␛[0m
2026-05-05T08:25:33.1525829Z 
2026-05-05T08:25:33.1526274Z TASK [test_mysql_info : Collect info only about version and databases] *********
2026-05-05T08:25:33.4710556Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:25:33.4712050Z 
2026-05-05T08:25:33.4712265Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:33.5518242Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:33.5518887Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:33.5519221Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:33.5519532Z ␛[0;32m}␛[0m
2026-05-05T08:25:33.5519641Z 
2026-05-05T08:25:33.5519882Z TASK [test_mysql_info : include_tasks] *****************************************
2026-05-05T08:25:33.6437062Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_info/tasks/issue-28.yml for testhost␛[0m
2026-05-05T08:25:33.6438110Z 
2026-05-05T08:25:33.6438531Z TASK [test_mysql_info : set fact tls_enabled] **********************************
2026-05-05T08:25:33.9042682Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e SHOW VARIABLES LIKE 'have_ssl';"], "delta": "0:00:00.019647", "end": "2026-05-05 08:25:33.871569", "msg": "", "rc": 0, "start": "2026-05-05 08:25:33.851922", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:25:33.9045329Z 
2026-05-05T08:25:33.9046132Z TASK [test_mysql_info : set_fact] **********************************************
2026-05-05T08:25:33.9914440Z ␛[0;32mok: [testhost] => {"ansible_facts": {"tls_enabled": false}, "changed": false}␛[0m
2026-05-05T08:25:33.9915145Z 
2026-05-05T08:25:33.9915503Z TASK [test_mysql_info : get server certificate] ********************************
2026-05-05T08:25:34.0562752Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.0563316Z 
2026-05-05T08:25:34.0563533Z TASK [test_mysql_info : Drop mysql user if exists] *****************************
2026-05-05T08:25:34.1194387Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.1194983Z 
2026-05-05T08:25:34.1195217Z TASK [test_mysql_info : create user with ssl requirement] **********************
2026-05-05T08:25:34.1819225Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.1819840Z 
2026-05-05T08:25:34.1820122Z TASK [test_mysql_info : attempt connection with newly created user (expect failure)] ***
2026-05-05T08:25:34.2444125Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.2444691Z 
2026-05-05T08:25:34.2444892Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:34.3080152Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.3080808Z 
2026-05-05T08:25:34.3081038Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:34.3722350Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.3723042Z 
2026-05-05T08:25:34.3723357Z TASK [test_mysql_info : attempt connection with newly created user ignoring hostname] ***
2026-05-05T08:25:34.4376256Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.4376883Z 
2026-05-05T08:25:34.4377100Z TASK [test_mysql_info : assert] ************************************************
2026-05-05T08:25:34.5013746Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.5014349Z 
2026-05-05T08:25:34.5014571Z TASK [test_mysql_info : Drop mysql user] ***************************************
2026-05-05T08:25:34.5656339Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:34.5657206Z 
2026-05-05T08:25:34.5657568Z TASK [test_mysql_info : Mysql_info databases | Prepare | Create databases] *****
2026-05-05T08:25:34.9678137Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "db_tables_count_empty db_tables_count_1 db_tables_count_2 db_only_views", "db_list": ["db_tables_count_empty", "db_tables_count_1", "db_tables_count_2", "db_only_views"], "executed_commands": ["CREATE DATABASE `db_tables_count_empty`", "CREATE DATABASE `db_tables_count_1`", "CREATE DATABASE `db_tables_count_2`", "CREATE DATABASE `db_only_views`"]}␛[0m
2026-05-05T08:25:34.9680235Z 
2026-05-05T08:25:34.9680567Z TASK [test_mysql_info : Mysql_info databases | Prepare | Create tables] ********
2026-05-05T08:25:35.3689215Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE IF NOT EXISTS db_tables_count_1.t1 (id int, name varchar(9))", "CREATE TABLE IF NOT EXISTS db_tables_count_2.t1 (id int, name1 varchar(9))", "CREATE TABLE IF NOT EXISTS db_tables_count_2.t2 (id int, name1 varchar(9))", "CREATE VIEW db_only_views.v_today (today) AS SELECT CURRENT_DATE"], "execution_time_ms": [6.5771, 5.2858, 5.267, 1.2396], "query_result": [[], [], [], []], "rowcount": [0, 0, 0, 0]}␛[0m
2026-05-05T08:25:35.3691341Z 
2026-05-05T08:25:35.3691626Z TASK [test_mysql_info : Mysql_info databases | Get all non-empty databases fields] ***
2026-05-05T08:25:35.7129201Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"size": 0, "tables": 1}, "db_tables_count_1": {"size": 16384, "tables": 1}, "db_tables_count_2": {"size": 32768, "tables": 2}, "information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:35.7131387Z 
2026-05-05T08:25:35.7131664Z TASK [test_mysql_info : Mysql_info databases | Get all dbs fields except db_size] ***
2026-05-05T08:25:36.0662316Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"tables": 1}, "db_tables_count_1": {"tables": 1}, "db_tables_count_2": {"tables": 2}, "information_schema": {"tables": 78}, "mysql": {"tables": 38}, "performance_schema": {"tables": 113}, "sys": {"tables": 101}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:36.0664628Z 
2026-05-05T08:25:36.0665052Z TASK [test_mysql_info : Mysql_info databases | Get all dbs fields with unsupported value] ***
2026-05-05T08:25:36.4242515Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"tables": 1}, "db_tables_count_1": {"tables": 1}, "db_tables_count_2": {"tables": 2}, "information_schema": {"tables": 78}, "mysql": {"tables": 38}, "performance_schema": {"tables": 113}, "sys": {"tables": 101}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:36.4244150Z 
2026-05-05T08:25:36.4244421Z TASK [test_mysql_info : Mysql_info databases | Get all dbs fields except tables] ***
2026-05-05T08:25:36.7745845Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"size": 0}, "db_tables_count_1": {"size": 16384}, "db_tables_count_2": {"size": 32768}, "information_schema": {"size": 0}, "mysql": {"size": 8241152}, "performance_schema": {"size": 0}, "sys": {"size": 16384}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:36.7747396Z 
2026-05-05T08:25:36.7747646Z TASK [test_mysql_info : Mysql_info databases | Get all dbs even empty ones] ****
2026-05-05T08:25:37.1023083Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"size": 0, "tables": 1}, "db_tables_count_1": {"size": 16384, "tables": 1}, "db_tables_count_2": {"size": 32768, "tables": 2}, "db_tables_count_empty": {"size": 0, "tables": 0}, "information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8241152, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:37.1025291Z 
2026-05-05T08:25:37.1025609Z TASK [test_mysql_info : Mysql_info databases | Get all dbs even empty ones without size] ***
2026-05-05T08:25:37.4432489Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"db_only_views": {"tables": 1}, "db_tables_count_1": {"tables": 1}, "db_tables_count_2": {"tables": 2}, "db_tables_count_empty": {"tables": 0}, "information_schema": {"tables": 78}, "mysql": {"tables": 38}, "performance_schema": {"tables": 113}, "sys": {"tables": 101}}, "failed_when_result": false, "server_engine": "MySQL"}␛[0m
2026-05-05T08:25:37.4434140Z 
2026-05-05T08:25:37.4434387Z TASK [test_mysql_info : Mysql_info databases | Cleanup databases] **************
2026-05-05T08:25:37.7636194Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "db_tables_count_empty db_tables_count_1 db_tables_count_2 db_only_views", "db_list": ["db_tables_count_empty", "db_tables_count_1", "db_tables_count_2", "db_only_views"], "executed_commands": ["DROP DATABASE `db_tables_count_empty`", "DROP DATABASE `db_tables_count_1`", "DROP DATABASE `db_tables_count_2`", "DROP DATABASE `db_only_views`"]}␛[0m
2026-05-05T08:25:37.7638863Z 
2026-05-05T08:25:37.7639204Z TASK [test_mysql_info : Mysql_info users_info | Create databases] **************
2026-05-05T08:25:38.0711242Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "users_info_db users_info_db2 users_info_db3", "db_list": ["users_info_db", "users_info_db2", "users_info_db3"], "executed_commands": ["CREATE DATABASE `users_info_db`", "CREATE DATABASE `users_info_db2`", "CREATE DATABASE `users_info_db3`"]}␛[0m
2026-05-05T08:25:38.0712603Z 
2026-05-05T08:25:38.3849381Z TASK [test_mysql_info : Mysql_info users_info | Create tables] *****************
2026-05-05T08:25:38.3864704Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE IF NOT EXISTS users_info_db.t1 (id int, name varchar(9))", "CREATE TABLE IF NOT EXISTS users_info_db.T_UPPER (id int, name1 varchar(9), NAME2 varchar(9), Name3 varchar(9))"], "execution_time_ms": [6.5202, 5.337], "query_result": [[], []], "rowcount": [0, 0]}␛[0m
2026-05-05T08:25:38.3866614Z 
2026-05-05T08:25:38.3867068Z TASK [test_mysql_info : Mysql_info users_info | Grant to PUBLIC for MariaDB 10.11+] ***
2026-05-05T08:25:38.4499426Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:38.4500251Z 
2026-05-05T08:25:38.4500596Z TASK [test_mysql_info : Mysql_info users_info | Create procedure SQL file] *****
2026-05-05T08:25:39.0567681Z ␛[0;31m--- before␛[0m
2026-05-05T08:25:39.0568757Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/.ansible/tmp/ansible-local-315oetgquel/tmppmzp_drc/users_info_create_procedure.sql␛[0m
2026-05-05T08:25:39.0569473Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,7 @@␛[0m
2026-05-05T08:25:39.0569847Z ␛[0;36m␛[0m␛[0;32m+DELIMITER //␛[0m
2026-05-05T08:25:39.0570319Z ␛[0;32m␛[0m␛[0;32m+DROP PROCEDURE IF EXISTS users_info_db.get_all_items;␛[0m
2026-05-05T08:25:39.0570890Z ␛[0;32m␛[0m␛[0;32m+CREATE PROCEDURE users_info_db.get_all_items()␛[0m
2026-05-05T08:25:39.0571302Z ␛[0;32m␛[0m␛[0;32m+BEGIN␛[0m
2026-05-05T08:25:39.0571645Z ␛[0;32m␛[0m␛[0;32m+SELECT * from users_info_db.t1;␛[0m
2026-05-05T08:25:39.0571999Z ␛[0;32m␛[0m␛[0;32m+END //␛[0m
2026-05-05T08:25:39.0572291Z ␛[0;32m␛[0m␛[0;32m+DELIMITER ;␛[0m
2026-05-05T08:25:39.0572561Z ␛[0;32m␛[0m
2026-05-05T08:25:39.0574573Z ␛[0;33mchanged: [testhost] => {"changed": true, "checksum": "82ad7f964b648a476b0c7b4cd274bc55d6840143", "dest": "/root/create_procedure.sql", "gid": 0, "group": "root", "md5sum": "e3f3a8959ac40117925cd0a3165cff59", "mode": "0700", "owner": "root", "size": 171, "src": "/root/.ansible/tmp/ansible-tmp-1777969538.5185285-1347-235626894927013/.source.sql", "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:39.0576150Z 
2026-05-05T08:25:39.0576418Z TASK [test_mysql_info : Mysql_info users_info | Create a procedure] ************
2026-05-05T08:25:39.3793559Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "all", "db_list": ["all"], "executed_commands": ["/usr/bin/mysql --user=root --*** --host=172.18.0.1 --port=3307 < /root/create_procedure.sql"], "msg": ""}␛[0m
2026-05-05T08:25:39.3794661Z 
2026-05-05T08:25:39.3794990Z TASK [test_mysql_info : Mysql_info users_info | Prepare common tests users] ****
2026-05-05T08:25:39.7418786Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE USER users_info_adm@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT ALL ON *.* to users_info_adm@'users_info.com' WITH GRANT OPTION\n", "CREATE USER users_info_schema@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT, INSERT, UPDATE, DELETE ON users_info_db.* TO users_info_schema@'users_info.com'", "CREATE USER users_info_table@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT, INSERT, UPDATE ON users_info_db.t1 TO users_info_table@'users_info.com'", "CREATE USER users_info_col@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' WITH MAX_USER_CONNECTIONS 100", "GRANT SELECT (id) ON users_info_db.t1 TO users_info_col@'users_info.com'", "CREATE USER users_info_proc@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' WITH MAX_USER_CONNECTIONS 2 MAX_CONNECTIONS_PER_HOUR 60", "GRANT EXECUTE ON PROCEDURE users_info_db.get_all_items TO users_info_proc@'users_info.com'", "CREATE USER users_info_multi@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT ON mysql.* TO users_info_multi@'users_info.com'", "GRANT ALL ON users_info_db.* TO users_info_multi@'users_info.com'", "GRANT ALL ON users_info_db2.* TO users_info_multi@'users_info.com'", "GRANT ALL ON users_info_db3.* TO users_info_multi@'users_info.com'", "CREATE USER users_info_usage_only@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT USAGE ON *.* TO users_info_usage_only@'users_info.com'", "CREATE USER users_info_columns_uppercase@'users_info.com' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT,UPDATE(name1,NAME2,Name3) ON users_info_db.T_UPPER TO users_info_columns_uppercase@'users_info.com'", "CREATE USER users_info_multi_hosts@'%' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT ON users_info_db.* TO users_info_multi_hosts@'%'", "CREATE USER users_info_multi_hosts@'localhost' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT ON users_info_db.* TO users_info_multi_hosts@'localhost'", "CREATE USER users_info_multi_hosts@'host1' IDENTIFIED WITH mysql_native_password AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747'", "GRANT SELECT ON users_info_db.* TO users_info_multi_hosts@'host1'", "CREATE USER users_info_multi_hosts@'host2' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA'", "GRANT SELECT ON users_info_db.* TO users_info_multi_hosts@'host2'", "CREATE USER users_info_tls_none@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE NONE", "GRANT SELECT ON users_info_db.* TO users_info_tls_none@'host'", "CREATE USER users_info_tls_ssl@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE SSL", "GRANT SELECT ON users_info_db.* TO users_info_tls_ssl@'host'", "CREATE USER users_info_tls_cipher@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE CIPHER 'ECDH-RSA-AES256-SHA384'", "GRANT SELECT ON users_info_db.* TO users_info_tls_cipher@'host'", "CREATE USER users_info_tls_x509@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE X509", "GRANT SELECT ON users_info_db.* TO users_info_tls_x509@'host'", "CREATE USER users_info_tls_subject@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE SUBJECT '/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland'", "GRANT SELECT ON users_info_db.* TO users_info_tls_subject@'host'", "CREATE USER users_info_tls_issuer@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE ISSUER '/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com'", "GRANT SELECT ON users_info_db.* TO users_info_tls_issuer@'host'", "CREATE USER users_info_tls_subject_issuer@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE SUBJECT '/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland' AND ISSUER '/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com'", "GRANT SELECT ON users_info_db.* TO users_info_tls_subject_issuer@'host'", "CREATE USER users_info_tls_sub_issu_ciph@'host' IDENTIFIED WITH mysql_native_password AS '*CB3326D5279DE7915FE5D743232165EE887883CA' REQUIRE SUBJECT '/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland' AND ISSUER '/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com' AND CIPHER 'ECDH-RSA-AES256-SHA384'", "GRANT SELECT ON users_info_db.* TO users_info_tls_sub_issu_ciph@'host'"], "execution_time_ms": [4.1807, 6.8306, 0.9718, 0.942, 0.8923, 1.1926, 0.9362, 3.1844, 0.914, 1.8646, 0.9525, 0.9604, 1.1797, 0.8604, 0.7871, 0.9038, 0.8245, 0.9006, 1.6914, 0.9247, 0.7716, 0.9342, 1.8333, 0.8977, 1.1539, 0.9084, 1.2632, 0.9566, 1.1557, 1.4938, 1.1108, 0.9777, 1.1724, 0.8626, 1.1477, 1.5331, 1.3836, 0.8776, 1.1296, 0.9576, 1.2288, 1.4444, 1.0602], "query_result": [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], "rowcount": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}␛[0m
2026-05-05T08:25:39.7436962Z 
2026-05-05T08:25:39.7437205Z TASK [test_mysql_info : Mysql_info users_info | Prepare tests users for MariaDB] ***
2026-05-05T08:25:39.8055051Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:39.8055948Z 
2026-05-05T08:25:39.8056301Z TASK [test_mysql_info : Mysql_info users_info | Prepare tests users for MySQL] ***
2026-05-05T08:25:40.1032366Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE USER users_info_sha256@'users_info.com' IDENTIFIED WITH sha256_password BY '********'", "GRANT ALL ON *.* to users_info_sha256@'users_info.com'"], "execution_time_ms": [3.6719, 2.6851], "query_result": [[], []], "rowcount": [0, 0]}␛[0m
2026-05-05T08:25:40.1034013Z 
2026-05-05T08:25:40.1034395Z TASK [test_mysql_info : Mysql_info users_info | Prepare tests users for MySQL 8+] ***
2026-05-05T08:25:40.4153678Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE USER users_info_caching_sha2@'users_info.com' IDENTIFIED WITH caching_sha2_password BY '********'", "GRANT ALL ON *.* to users_info_caching_sha2@'users_info.com'"], "execution_time_ms": [4.1854, 2.2487], "query_result": [[], []], "rowcount": [0, 0]}␛[0m
2026-05-05T08:25:40.4155466Z 
2026-05-05T08:25:40.4155793Z TASK [test_mysql_info : Mysql_info users_info | Collect users_info] ************
2026-05-05T08:25:40.7992859Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "%", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, {"host": "host", "name": "users_info_tls_cipher", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"CIPHER": "ECDH-RSA-AES256-SHA384"}}, {"host": "host", "name": "users_info_tls_issuer", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com"}}, {"host": "host", "name": "users_info_tls_none", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT"}, {"host": "host", "name": "users_info_tls_ssl", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"SSL": null}}, {"host": "host", "name": "users_info_tls_sub_issu_ciph", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"CIPHER": "ECDH-RSA-AES256-SHA384", "ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com", "SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, {"host": "host", "name": "users_info_tls_subject", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, {"host": "host", "name": "users_info_tls_subject_issuer", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com", "SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, {"host": "host", "name": "users_info_tls_x509", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"X509": null}}, {"host": "host1", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, {"host": "host2", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, {"host": "users_info.com", "name": "users_info_adm", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "users_info.com", "name": "users_info_caching_sha2", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "users_info.com", "name": "users_info_col", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.t1:SELECT (id)", "resource_limits": {"MAX_USER_CONNECTIONS": 100}}, {"host": "users_info.com", "name": "users_info_columns_uppercase", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.T_UPPER:SELECT,UPDATE (NAME2, Name3, name1)"}, {"host": "users_info.com", "name": "users_info_multi", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "mysql.*:SELECT/users_info_db.*:ALL/users_info_db2.*:ALL/users_info_db3.*:ALL"}, {"host": "users_info.com", "name": "users_info_proc", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "PROCEDURE users_info_db.get_all_items:EXECUTE", "resource_limits": {"MAX_CONNECTIONS_PER_HOUR": 60, "MAX_USER_CONNECTIONS": 2}}, {"host": "users_info.com", "name": "users_info_schema", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT,INSERT,UPDATE,DELETE"}, {"host": "users_info.com", "name": "users_info_sha256", "plugin": "sha256_password", "plugin_hash_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "users_info.com", "name": "users_info_table", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.t1:SELECT,INSERT,UPDATE"}, {"host": "users_info.com", "name": "users_info_usage_only", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}]}␛[0m
2026-05-05T08:25:40.8036649Z 
2026-05-05T08:25:40.8037148Z TASK [test_mysql_info : Mysql_info users_info | Recreate users from mysql_info result] ***
2026-05-05T08:25:43.9937657Z ␛[0;36mskipping: [testhost] => (item=root@%)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "item.name != 'root'", "item": {"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:43.9945742Z ␛[0;32mok: [testhost] => (item=users_info_multi_hosts@%) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "%", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_multi_hosts"}␛[0m
2026-05-05T08:25:43.9949323Z ␛[0;32mok: [testhost] => (item=users_info_tls_cipher@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_cipher", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"CIPHER": "ECDH-RSA-AES256-SHA384"}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_cipher"}␛[0m
2026-05-05T08:25:43.9952994Z ␛[0;32mok: [testhost] => (item=users_info_tls_issuer@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_issuer", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com"}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_issuer"}␛[0m
2026-05-05T08:25:43.9956156Z ␛[0;32mok: [testhost] => (item=users_info_tls_none@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_none", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_none"}␛[0m
2026-05-05T08:25:43.9959321Z ␛[0;32mok: [testhost] => (item=users_info_tls_ssl@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_ssl", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"SSL": null}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_ssl"}␛[0m
2026-05-05T08:25:43.9963377Z ␛[0;32mok: [testhost] => (item=users_info_tls_sub_issu_ciph@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_sub_issu_ciph", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"CIPHER": "ECDH-RSA-AES256-SHA384", "ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com", "SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_sub_issu_ciph"}␛[0m
2026-05-05T08:25:43.9967169Z ␛[0;32mok: [testhost] => (item=users_info_tls_subject@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_subject", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_subject"}␛[0m
2026-05-05T08:25:43.9971433Z ␛[0;32mok: [testhost] => (item=users_info_tls_subject_issuer@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_subject_issuer", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"ISSUER": "/C=FI/ST=Somewhere/L=City/ O=CompanyX/CN=Bob/emailAddress=bob@companyx.com", "SUBJECT": "/CN=Bob/O=MyDom/C=US/ST=Oregon/L=Portland"}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_subject_issuer"}␛[0m
2026-05-05T08:25:43.9975361Z ␛[0;32mok: [testhost] => (item=users_info_tls_x509@host) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host", "name": "users_info_tls_x509", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT", "tls_requires": {"X509": null}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_tls_x509"}␛[0m
2026-05-05T08:25:43.9978327Z ␛[0;32mok: [testhost] => (item=users_info_multi_hosts@host1) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host1", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_multi_hosts"}␛[0m
2026-05-05T08:25:43.9981478Z ␛[0;32mok: [testhost] => (item=users_info_multi_hosts@host2) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "host2", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*CB3326D5279DE7915FE5D743232165EE887883CA", "priv": "users_info_db.*:SELECT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_multi_hosts"}␛[0m
2026-05-05T08:25:43.9984888Z ␛[0;36mskipping: [testhost] => (item=mysql.infoschema@localhost)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "item.name != 'mysql.infoschema'", "item": {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:45.8597363Z ␛[0;36mskipping: [testhost] => (item=mysql.session@localhost)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "item.name != 'mysql.session'", "item": {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:45.8605465Z ␛[0;36mskipping: [testhost] => (item=mysql.sys@localhost)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "item.name != 'mysql.sys'", "item": {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:45.8620630Z ␛[0;36mskipping: [testhost] => (item=root@localhost)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "item.name != 'root'", "item": {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:25:45.8634300Z ␛[0;32mok: [testhost] => (item=users_info_multi_hosts@localhost) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "localhost", "name": "users_info_multi_hosts", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_multi_hosts"}␛[0m
2026-05-05T08:25:45.8648723Z ␛[0;32mok: [testhost] => (item=users_info_adm@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_adm", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_adm"}␛[0m
2026-05-05T08:25:45.8671453Z ␛[0;32mok: [testhost] => (item=users_info_caching_sha2@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_caching_sha2", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_caching_sha2"}␛[0m
2026-05-05T08:25:45.8685469Z ␛[0;32mok: [testhost] => (item=users_info_col@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_col", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.t1:SELECT (id)", "resource_limits": {"MAX_USER_CONNECTIONS": 100}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_col"}␛[0m
2026-05-05T08:25:45.8691957Z ␛[0;32mok: [testhost] => (item=users_info_columns_uppercase@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_columns_uppercase", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.T_UPPER:SELECT,UPDATE (NAME2, Name3, name1)"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_columns_uppercase"}␛[0m
2026-05-05T08:25:45.8698230Z ␛[0;32mok: [testhost] => (item=users_info_multi@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_multi", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "mysql.*:SELECT/users_info_db.*:ALL/users_info_db2.*:ALL/users_info_db3.*:ALL"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_multi"}␛[0m
2026-05-05T08:25:46.9446832Z ␛[0;32mok: [testhost] => (item=users_info_proc@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_proc", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "PROCEDURE users_info_db.get_all_items:EXECUTE", "resource_limits": {"MAX_CONNECTIONS_PER_HOUR": 60, "MAX_USER_CONNECTIONS": 2}}, "msg": "User unchanged", "password_changed": false, "user": "users_info_proc"}␛[0m
2026-05-05T08:25:46.9451924Z ␛[0;32mok: [testhost] => (item=users_info_schema@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_schema", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.*:SELECT,INSERT,UPDATE,DELETE"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_schema"}␛[0m
2026-05-05T08:25:46.9461540Z ␛[0;32mok: [testhost] => (item=users_info_sha256@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_sha256", "plugin": "sha256_password", "plugin_hash_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_sha256"}␛[0m
2026-05-05T08:25:46.9469277Z ␛[0;32mok: [testhost] => (item=users_info_table@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_table", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "users_info_db.t1:SELECT,INSERT,UPDATE"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_table"}␛[0m
2026-05-05T08:25:46.9472298Z ␛[0;32mok: [testhost] => (item=users_info_usage_only@users_info.com) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "failed_when_result": false, "item": {"host": "users_info.com", "name": "users_info_usage_only", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, "msg": "User unchanged", "password_changed": false, "user": "users_info_usage_only"}␛[0m
2026-05-05T08:25:46.9474153Z 
2026-05-05T08:25:46.9474389Z TASK [test_mysql_info : Mysql_info users_info | Cleanup users_info] ************
2026-05-05T08:25:51.4434161Z ␛[0;33mchanged: [testhost] => (item=users_info_adm) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_adm", "msg": "User deleted", "password_changed": false, "user": "users_info_adm"}␛[0m
2026-05-05T08:25:51.4436739Z ␛[0;33mchanged: [testhost] => (item=users_info_schema) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_schema", "msg": "User deleted", "password_changed": false, "user": "users_info_schema"}␛[0m
2026-05-05T08:25:51.4439446Z ␛[0;33mchanged: [testhost] => (item=users_info_table) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_table", "msg": "User deleted", "password_changed": false, "user": "users_info_table"}␛[0m
2026-05-05T08:25:51.4441990Z ␛[0;33mchanged: [testhost] => (item=users_info_col) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_col", "msg": "User deleted", "password_changed": false, "user": "users_info_col"}␛[0m
2026-05-05T08:25:51.4444603Z ␛[0;33mchanged: [testhost] => (item=users_info_proc) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_proc", "msg": "User deleted", "password_changed": false, "user": "users_info_proc"}␛[0m
2026-05-05T08:25:51.4447227Z ␛[0;33mchanged: [testhost] => (item=users_info_multi) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_multi", "msg": "User deleted", "password_changed": false, "user": "users_info_multi"}␛[0m
2026-05-05T08:25:51.4450002Z ␛[0;32mok: [testhost] => (item=users_info_db) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "users_info_db", "msg": "User doesn't exist", "password_changed": false, "user": "users_info_db"}␛[0m
2026-05-05T08:25:51.4452151Z ␛[0;33mchanged: [testhost] => (item=users_info_usage_only) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_usage_only", "msg": "User deleted", "password_changed": false, "user": "users_info_usage_only"}␛[0m
2026-05-05T08:25:51.4454017Z ␛[0;33mchanged: [testhost] => (item=users_info_columns_uppercase) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_columns_uppercase", "msg": "User deleted", "password_changed": false, "user": "users_info_columns_uppercase"}␛[0m
2026-05-05T08:25:51.4455914Z ␛[0;33mchanged: [testhost] => (item=users_info_multi_hosts) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_multi_hosts", "msg": "User deleted", "password_changed": false, "user": "users_info_multi_hosts"}␛[0m
2026-05-05T08:25:51.4457490Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_none) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_none", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_none"}␛[0m
2026-05-05T08:25:51.4459306Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_ssl) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_ssl", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_ssl"}␛[0m
2026-05-05T08:25:51.4460877Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_cipher) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_cipher", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_cipher"}␛[0m
2026-05-05T08:25:51.4462716Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_x509) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_x509", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_x509"}␛[0m
2026-05-05T08:25:51.4464280Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_subject) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_subject", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_subject"}␛[0m
2026-05-05T08:25:51.4465863Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_issuer) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_issuer", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_issuer"}␛[0m
2026-05-05T08:25:51.4467742Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_subject_issuer) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_subject_issuer", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_subject_issuer"}␛[0m
2026-05-05T08:25:51.4469645Z ␛[0;33mchanged: [testhost] => (item=users_info_tls_sub_issu_ciph) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "users_info_tls_sub_issu_ciph", "msg": "User deleted", "password_changed": false, "user": "users_info_tls_sub_issu_ciph"}␛[0m
2026-05-05T08:25:51.4470463Z 
2026-05-05T08:25:51.4470764Z TASK [test_mysql_info : Mysql_info users_info | Cleanup databases] *************
2026-05-05T08:25:51.7615144Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "users_info_db users_info_db2 users_info_db3", "db_list": ["users_info_db", "users_info_db2", "users_info_db3"], "executed_commands": ["DROP DATABASE `users_info_db`", "DROP DATABASE `users_info_db2`", "DROP DATABASE `users_info_db3`"]}␛[0m
2026-05-05T08:25:51.7616515Z 
2026-05-05T08:25:51.7616835Z TASK [test_mysql_info : Mysql_info users_info | Cleanup sql file for the procedure] ***
2026-05-05T08:25:52.0202778Z ␛[0;31m--- before␛[0m
2026-05-05T08:25:52.0203222Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:25:52.0203631Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:25:52.0204013Z ␛[0;36m␛[0m {
2026-05-05T08:25:52.0204297Z      "path": "/root/create_procedure.sql",
2026-05-05T08:25:52.0204720Z ␛[0;31m-    "state": "file"␛[0m
2026-05-05T08:25:52.0205115Z ␛[0;31m␛[0m␛[0;32m+    "state": "absent"␛[0m
2026-05-05T08:25:52.0205494Z ␛[0;32m␛[0m }
2026-05-05T08:25:52.0205635Z 
2026-05-05T08:25:52.0206507Z ␛[0;33mchanged: [testhost] => {"changed": true, "path": "/root/create_procedure.sql", "state": "absent"}␛[0m
2026-05-05T08:25:52.0207286Z 
2026-05-05T08:25:52.0207568Z TASK [test_mysql_info : include_tasks] *****************************************
2026-05-05T08:25:52.1233101Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_info/tasks/issue-682.yml for testhost␛[0m
2026-05-05T08:25:52.1234271Z 
2026-05-05T08:25:52.1234570Z TASK [test_mysql_info : Skip non-affected versions] ****************************
2026-05-05T08:25:52.1235651Z ␛[0;36mskipping: [testhost] => {"msg": "end_play", "skip_reason": "end_play conditional evaluated to False, continuing play"}␛[0m
2026-05-05T08:25:52.1236324Z 
2026-05-05T08:25:52.1236666Z TASK [test_mysql_info : Test mysql_info with slave_status filter on replica database] ***
2026-05-05T08:25:52.4777273Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "slave_status": {}}␛[0m
2026-05-05T08:25:52.4778254Z 
2026-05-05T08:25:52.4778869Z TASK [test_mysql_info : Assert that mysql_info with slave_status returns data] ***
2026-05-05T08:25:52.5833765Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:52.5834274Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:25:52.5834727Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:25:52.5835123Z ␛[0;32m}␛[0m
2026-05-05T08:25:52.5835273Z 
2026-05-05T08:25:52.5835580Z RUNNING HANDLER [setup_remote_tmp_dir : delete temporary directory] ************
2026-05-05T08:25:52.6515200Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_info-ku0n04c3-ÅÑŚÌβŁÈ/tests/integration/targets/setup_remote_tmp_dir/tasks/default-cleanup.yml for testhost␛[0m
2026-05-05T08:25:52.6516417Z 
2026-05-05T08:25:52.6516719Z RUNNING HANDLER [setup_remote_tmp_dir : delete temporary directory] ************
2026-05-05T08:25:52.9753127Z ␛[0;33mchanged: [testhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}␛[0m
2026-05-05T08:25:52.9754044Z 
2026-05-05T08:25:52.9754291Z PLAY RECAP *********************************************************************
2026-05-05T08:25:52.9755520Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=66  ␛[0m ␛[0;33mchanged=25  ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=12  ␛[0m rescued=0    ignored=0   
2026-05-05T08:25:52.9756292Z 
2026-05-05T08:25:53.0398845Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:25:53.0401222Z Running test_mysql_query integration test role
2026-05-05T08:25:53.0441058Z ␛[32mStream command: ansible-playbook test_mysql_query-5f3k18j9.yml -i inventory --diff -v␛[0m
2026-05-05T08:25:53.7969611Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:25:53.7970773Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:25:53.7971140Z 
2026-05-05T08:25:53.7971347Z PLAY [testhost] ****************************************************************
2026-05-05T08:25:53.7971673Z 
2026-05-05T08:25:53.7971871Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:25:54.7235614Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:25:54.7235882Z 
2026-05-05T08:25:54.7236198Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:25:55.0709464Z ␛[0;31m--- before␛[0m
2026-05-05T08:25:55.0709883Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:25:55.0710311Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:25:55.0710696Z ␛[0;36m␛[0m {
2026-05-05T08:25:55.0711832Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:25:55.0713034Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:25:55.0713488Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:25:55.0714434Z ␛[0;32m␛[0m }
2026-05-05T08:25:55.0714598Z 
2026-05-05T08:25:55.0716441Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:25:55.0718164Z 
2026-05-05T08:25:55.0718700Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:25:55.3135605Z ␛[0;31m--- before␛[0m
2026-05-05T08:25:55.3135981Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:25:55.3136304Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:25:55.3136599Z ␛[0;36m␛[0m {
2026-05-05T08:25:55.3136865Z ␛[0;31m-    "atime": 1777969555.2812788,␛[0m
2026-05-05T08:25:55.3137253Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969555.2812788,␛[0m
2026-05-05T08:25:55.3137663Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969555.2826228,␛[0m
2026-05-05T08:25:55.3138119Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969555.2826228,␛[0m
2026-05-05T08:25:55.3139528Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:25:55.3140525Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:25:55.3140852Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:25:55.3141163Z ␛[0;32m␛[0m }
2026-05-05T08:25:55.3141280Z 
2026-05-05T08:25:55.3142660Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:55.3143918Z 
2026-05-05T08:25:55.3144229Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:25:56.4036429Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:25:56.4037097Z 
2026-05-05T08:25:56.4037440Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:25:57.1211066Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:25:57.1211400Z 
2026-05-05T08:25:57.1211691Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:25:57.1976035Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:25:57.1977337Z 
2026-05-05T08:25:57.1977656Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:25:57.2748869Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:25:57.2750572Z 
2026-05-05T08:25:57.2750874Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:25:57.3443952Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:25:57.3444390Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:25:57.3444734Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:25:57.3445165Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:25:57.3445547Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:25:57.3445896Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:25:57.3446266Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:25:57.3446614Z ␛[0;32m    ]␛[0m
2026-05-05T08:25:57.3446849Z ␛[0;32m}␛[0m
2026-05-05T08:25:57.3446971Z 
2026-05-05T08:25:57.3447720Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:25:57.8975630Z ␛[0;32mok: [testhost] => {"changed": false, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/apt/trusted.gpg.d/mysql.asc", "size": 3175, "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:57.8977087Z 
2026-05-05T08:25:57.8977421Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:25:58.8867185Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:25:58.8867837Z 
2026-05-05T08:25:58.8868153Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:25:59.3652332Z ␛[0;32mok: [testhost] => {"changed": false, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:25:59.3654073Z 
2026-05-05T08:25:59.3654356Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:26:35.4368556Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:26:35.4369032Z 
2026-05-05T08:26:35.4369311Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:26:36.3011416Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)\n", "stdout_lines": ["Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:26:36.3015160Z 
2026-05-05T08:26:36.3015445Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:26:36.7549713Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:26:36.7550857Z 
2026-05-05T08:26:36.7551264Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:26:36.8277467Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:36.8278090Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:36.8278872Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:36.8279491Z ␛[0;32m}␛[0m
2026-05-05T08:26:36.8279719Z 
2026-05-05T08:26:36.8280251Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:26:36.8981585Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:36.8982042Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:36.8982366Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:36.8982651Z ␛[0;32m}␛[0m
2026-05-05T08:26:36.8982753Z 
2026-05-05T08:26:36.8982965Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:26:37.2483907Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.014394", "end": "2026-05-05 08:26:37.216723", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:26:37.202329", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:26:37.2485912Z 
2026-05-05T08:26:37.2486233Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:26:37.3224905Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:37.3225647Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:26:37.3226255Z ␛[0;32m}␛[0m
2026-05-05T08:26:37.3226405Z 
2026-05-05T08:26:37.3226740Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:26:37.3990974Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:37.3991460Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:37.3991916Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:37.3992358Z ␛[0;32m}␛[0m
2026-05-05T08:26:37.3992510Z 
2026-05-05T08:26:37.3992787Z TASK [test_mysql_query : Create db testdb] *************************************
2026-05-05T08:26:37.7966415Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE DATABASE testdb"], "execution_time_ms": [1.4425], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:37.7967078Z 
2026-05-05T08:26:37.7967357Z TASK [test_mysql_query : Assert that create db test_db is changed and returns expected query] ***
2026-05-05T08:26:37.8723566Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:37.8723928Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:37.8724267Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:37.8724578Z ␛[0;32m}␛[0m
2026-05-05T08:26:37.8724696Z 
2026-05-05T08:26:37.8724904Z TASK [test_mysql_query : Create test1] *****************************************
2026-05-05T08:26:38.1668063Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE test1 (id int)"], "execution_time_ms": [6.1106], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:38.1669374Z 
2026-05-05T08:26:38.1669760Z TASK [test_mysql_query : Assert that create table test_table1 is changed and returns expected query] ***
2026-05-05T08:26:38.2433135Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:38.2433535Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:38.2433876Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:38.2434180Z ␛[0;32m}␛[0m
2026-05-05T08:26:38.2434299Z 
2026-05-05T08:26:38.5326459Z TASK [test_mysql_query : Insert test data] *************************************
2026-05-05T08:26:38.5328586Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["INSERT INTO test1 VALUES (1), (2)", "INSERT INTO test1 VALUES (3)"], "execution_time_ms": [1.1264, 0.3236], "query_result": [[], []], "rowcount": [2, 1]}␛[0m
2026-05-05T08:26:38.5329742Z 
2026-05-05T08:26:38.5330263Z TASK [test_mysql_query : Assert that inserting test data is changed and returns expected query and results] ***
2026-05-05T08:26:38.6258703Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:38.6259316Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:38.6259898Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:38.6260436Z ␛[0;32m}␛[0m
2026-05-05T08:26:38.6260634Z 
2026-05-05T08:26:38.6261013Z TASK [test_mysql_query : Check data in test1] **********************************
2026-05-05T08:26:38.9225573Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test1"], "execution_time_ms": [0.5486], "query_result": [[{"id": 1}, {"id": 2}, {"id": 3}]], "rowcount": [3]}␛[0m
2026-05-05T08:26:38.9226561Z 
2026-05-05T08:26:38.9227107Z TASK [test_mysql_query : Assert that query data in test_table1 is not changed and returns expected query and results] ***
2026-05-05T08:26:39.0058237Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:39.0058906Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:39.0059398Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:39.0060220Z ␛[0;32m}␛[0m
2026-05-05T08:26:39.0060558Z 
2026-05-05T08:26:39.0060886Z TASK [test_mysql_query : Check data in test1 using positional args] ************
2026-05-05T08:26:39.2924575Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test1 WHERE id = 1"], "execution_time_ms": [0.5525], "query_result": [[{"id": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:39.2925450Z 
2026-05-05T08:26:39.2926033Z TASK [test_mysql_query : Assert that query data in test_table1 using positional args is not changed and returns expected query and results] ***
2026-05-05T08:26:39.3714046Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:39.3714449Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:39.3714806Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:39.3715136Z ␛[0;32m}␛[0m
2026-05-05T08:26:39.3715255Z 
2026-05-05T08:26:39.3715495Z TASK [test_mysql_query : Check data in test1 using named args] *****************
2026-05-05T08:26:39.6664819Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test1 WHERE id = 1"], "execution_time_ms": [0.5702], "query_result": [[{"id": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:39.6665785Z 
2026-05-05T08:26:39.6666376Z TASK [test_mysql_query : Assert that query data in test_table1 using named args is not changed and returns expected query and results] ***
2026-05-05T08:26:39.7773278Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:39.7773705Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:39.7774100Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:39.7774456Z ␛[0;32m}␛[0m
2026-05-05T08:26:39.7774583Z 
2026-05-05T08:26:39.7774849Z TASK [test_mysql_query : Update data in test1] *********************************
2026-05-05T08:26:40.0597782Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["UPDATE test1 SET id = 0 WHERE id = 1"], "execution_time_ms": [1.2539], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:40.0598949Z 
2026-05-05T08:26:40.0599426Z TASK [test_mysql_query : Assert that update data in test_table1 is changed and returns the expected query] ***
2026-05-05T08:26:40.1370673Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:40.1371064Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:40.1371419Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:40.1371740Z ␛[0;32m}␛[0m
2026-05-05T08:26:40.1371863Z 
2026-05-05T08:26:40.1372179Z TASK [test_mysql_query : Check the prev update - row with value 1 does not exist anymore] ***
2026-05-05T08:26:40.4308168Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test1 WHERE id = 1"], "execution_time_ms": [0.5232], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:40.4309341Z 
2026-05-05T08:26:40.4309943Z TASK [test_mysql_query : Assert that query that check the prev update is not changed and returns the expected query with id = 1] ***
2026-05-05T08:26:40.5087465Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:40.5087962Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:40.5088707Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:40.5089134Z ␛[0;32m}␛[0m
2026-05-05T08:26:40.5089298Z 
2026-05-05T08:26:40.5089612Z TASK [test_mysql_query : Check the prev update - row with value - exist] *******
2026-05-05T08:26:40.7994814Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test1 WHERE id = 0"], "execution_time_ms": [0.5163], "query_result": [[{"id": 0}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:40.7995768Z 
2026-05-05T08:26:40.7996356Z TASK [test_mysql_query : Assert that query that check the prev update is not changed and returns the expected query with id = 0] ***
2026-05-05T08:26:40.8764718Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:40.8765130Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:40.8765490Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:40.8765820Z ␛[0;32m}␛[0m
2026-05-05T08:26:40.8765941Z 
2026-05-05T08:26:40.8766182Z TASK [test_mysql_query : Update data in test1 again] ***************************
2026-05-05T08:26:41.1550400Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["UPDATE test1 SET id = 0 WHERE id = 1"], "execution_time_ms": [0.4696], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:41.1551234Z 
2026-05-05T08:26:41.1551685Z TASK [test_mysql_query : Assert that update data in test_table1 again is not changed and returns expected query] ***
2026-05-05T08:26:41.2327450Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:41.2327966Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:41.2328635Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:41.2329115Z ␛[0;32m}␛[0m
2026-05-05T08:26:41.2329275Z 
2026-05-05T08:26:41.2329592Z TASK [test_mysql_query : Delete data from test1] *******************************
2026-05-05T08:26:41.5180589Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["DELETE FROM test1 WHERE id = 0", "SELECT * FROM test1 WHERE id = 0"], "execution_time_ms": [1.4419, 0.3956], "query_result": [[], []], "rowcount": [1, 0]}␛[0m
2026-05-05T08:26:41.5181664Z 
2026-05-05T08:26:41.5182073Z TASK [test_mysql_query : Assert that delete data from test_table1 is changed an returns expected query] ***
2026-05-05T08:26:41.5961893Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:41.5962289Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:41.5962647Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:41.5962967Z ␛[0;32m}␛[0m
2026-05-05T08:26:41.5963081Z 
2026-05-05T08:26:41.5963329Z TASK [test_mysql_query : Delete data from test1 again] *************************
2026-05-05T08:26:41.8800847Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["DELETE FROM test1 WHERE id = 0"], "execution_time_ms": [0.4078], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:41.8801609Z 
2026-05-05T08:26:41.8802036Z TASK [test_mysql_query : Assert that delete data from test_table1 again is not changed and returns expected query] ***
2026-05-05T08:26:41.9612346Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:41.9612836Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:41.9613366Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:41.9613795Z ␛[0;32m}␛[0m
2026-05-05T08:26:41.9613960Z 
2026-05-05T08:26:41.9614270Z TASK [test_mysql_query : Truncate test1] ***************************************
2026-05-05T08:26:42.2587022Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["TRUNCATE test1", "SELECT * FROM test1"], "execution_time_ms": [7.7855, 0.6922], "query_result": [[], []], "rowcount": [0, 0]}␛[0m
2026-05-05T08:26:42.2588139Z 
2026-05-05T08:26:42.2589152Z TASK [test_mysql_query : Assert that truncate test_table1 is changed and returns expected query] ***
2026-05-05T08:26:42.3375359Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:42.3375860Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:42.3376328Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:42.3376735Z ␛[0;32m}␛[0m
2026-05-05T08:26:42.3376879Z 
2026-05-05T08:26:42.3377241Z TASK [test_mysql_query : Rename test1] *****************************************
2026-05-05T08:26:42.6269426Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["RENAME TABLE test1 TO test2"], "execution_time_ms": [4.5661], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:42.6270388Z 
2026-05-05T08:26:42.6270874Z TASK [test_mysql_query : Assert that rename table test_table1 is changed and returns expected query] ***
2026-05-05T08:26:42.7065085Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:42.7065554Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:42.7065979Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:42.7066368Z ␛[0;32m}␛[0m
2026-05-05T08:26:42.7066511Z 
2026-05-05T08:26:42.7066787Z TASK [test_mysql_query : Check the prev rename] ********************************
2026-05-05T08:26:42.9948505Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SELECT * FROM test1' args [None]: (1146, \"Table 'testdb.test1' doesn't exist\")"}␛[0m
2026-05-05T08:26:42.9949270Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:26:42.9949698Z 
2026-05-05T08:26:42.9950060Z TASK [test_mysql_query : Assert that query old table is failed] ****************
2026-05-05T08:26:43.0675728Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:43.0676329Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:43.0676970Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:43.0677482Z ␛[0;32m}␛[0m
2026-05-05T08:26:43.0677854Z 
2026-05-05T08:26:43.0678762Z TASK [test_mysql_query : Check the prev rename] ********************************
2026-05-05T08:26:43.3553988Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT * FROM test2"], "execution_time_ms": [0.8772], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:43.3554856Z 
2026-05-05T08:26:43.3555182Z TASK [test_mysql_query : Assert that query new table succeed and returns 0 row] ***
2026-05-05T08:26:43.4258157Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:43.4258887Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:43.4259510Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:43.4260029Z ␛[0;32m}␛[0m
2026-05-05T08:26:43.4260195Z 
2026-05-05T08:26:43.4260504Z TASK [test_mysql_query : Create test3] *****************************************
2026-05-05T08:26:43.7185303Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE test3 (id int, story text)"], "execution_time_ms": [5.6227], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:43.7186130Z 
2026-05-05T08:26:43.7186371Z TASK [test_mysql_query : Add data to test3] ************************************
2026-05-05T08:26:44.0051145Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["INSERT INTO test3 (id, story) VALUES (1, 'first'), (2, 'second')"], "execution_time_ms": [1.5481], "query_result": [[]], "rowcount": [2]}␛[0m
2026-05-05T08:26:44.0051986Z 
2026-05-05T08:26:44.0052218Z TASK [test_mysql_query : Select from test3] ************************************
2026-05-05T08:26:44.2913040Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT id, story FROM test3"], "execution_time_ms": [0.5585], "query_result": [[{"id": 1, "story": "first"}, {"id": 2, "story": "second"}]], "rowcount": [2]}␛[0m
2026-05-05T08:26:44.2914010Z 
2026-05-05T08:26:44.2914277Z TASK [test_mysql_query : Assert that select from test_table3 returns 2 rows] ***
2026-05-05T08:26:44.3617999Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:44.3618682Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:44.3619046Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:44.3619349Z ␛[0;32m}␛[0m
2026-05-05T08:26:44.3619458Z 
2026-05-05T08:26:44.3619665Z TASK [test_mysql_query : Pass wrong query type] ********************************
2026-05-05T08:26:44.6428629Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "the query option value must be a string or list, passed <class 'dict'>"}␛[0m
2026-05-05T08:26:44.6429556Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:26:44.6429751Z 
2026-05-05T08:26:44.6430069Z TASK [test_mysql_query : Assert that pass wrong query type is failed] **********
2026-05-05T08:26:44.7191705Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:44.7192178Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:44.7192622Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:44.7193017Z ␛[0;32m}␛[0m
2026-05-05T08:26:44.7193155Z 
2026-05-05T08:26:44.7193428Z TASK [test_mysql_query : Pass wrong query element] *****************************
2026-05-05T08:26:44.9983593Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "the elements in query list must be strings, passed '{'this type is': 'wrong'}' <class 'dict'>"}␛[0m
2026-05-05T08:26:44.9984427Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:26:44.9984591Z 
2026-05-05T08:26:44.9984844Z TASK [test_mysql_query : Assert that pass wrong query element is failed] *******
2026-05-05T08:26:45.0756893Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:45.0757412Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:45.0757914Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:45.0758943Z ␛[0;32m}␛[0m
2026-05-05T08:26:45.0759115Z 
2026-05-05T08:26:45.0759636Z TASK [test_mysql_query : Create test4] *****************************************
2026-05-05T08:26:45.3727452Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE test4 (id int primary key, story text)"], "execution_time_ms": [6.3896], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:45.3728725Z 
2026-05-05T08:26:45.3729041Z TASK [test_mysql_query : Insert test data using replace statement] *************
2026-05-05T08:26:45.6609786Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["REPLACE INTO test4 VALUES (1, 'first')"], "execution_time_ms": [0.9918], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:45.6610795Z 
2026-05-05T08:26:45.6611097Z TASK [test_mysql_query : Assert that insert test data using replace statement is changed] ***
2026-05-05T08:26:45.7366780Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:45.7367251Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:45.7367748Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:45.7368030Z ␛[0;32m}␛[0m
2026-05-05T08:26:45.7368129Z 
2026-05-05T08:26:45.7368321Z TASK [test_mysql_query : Replace test data] ************************************
2026-05-05T08:26:46.0292322Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["REPLACE INTO test4 VALUES (1, 'one')"], "execution_time_ms": [0.5198], "query_result": [[]], "rowcount": [2]}␛[0m
2026-05-05T08:26:46.0293731Z 
2026-05-05T08:26:46.1035802Z TASK [test_mysql_query : assert] ***********************************************
2026-05-05T08:26:46.1036720Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:46.1037156Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:46.1037648Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:46.1038113Z ␛[0;32m}␛[0m
2026-05-05T08:26:46.1038294Z 
2026-05-05T08:26:46.1038805Z TASK [test_mysql_query : Create table] *****************************************
2026-05-05T08:26:46.4017546Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE issue268 (id int)"], "execution_time_ms": [5.5703], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:46.4018351Z 
2026-05-05T08:26:46.4018840Z TASK [test_mysql_query : Create table with IF NOT EXISTS] **********************
2026-05-05T08:26:46.7021180Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["CREATE TABLE IF NOT EXISTS issue268 (id int)"], "execution_time_ms": [], "query_result": [], "rowcount": [0]}␛[0m
2026-05-05T08:26:46.7022493Z 
2026-05-05T08:26:46.7022946Z TASK [test_mysql_query : Assert that create table IF NOT EXISTS is not changed with pymysql] ***
2026-05-05T08:26:46.7833974Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:46.7834394Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:46.7834751Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:46.7835080Z ␛[0;32m}␛[0m
2026-05-05T08:26:46.7835201Z 
2026-05-05T08:26:46.7835449Z TASK [test_mysql_query : Assert that create table IF NOT EXISTS is changed] ****
2026-05-05T08:26:46.8563895Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "connector_name == 'pymysql' and connector_version is version('0.10.0', '>')", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:46.8565342Z 
2026-05-05T08:26:46.8565602Z TASK [test_mysql_query : Drop db testdb] ***************************************
2026-05-05T08:26:47.1540805Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["DROP DATABASE testdb"], "execution_time_ms": [8.697], "query_result": [[]], "rowcount": [4]}␛[0m
2026-05-05T08:26:47.1541604Z 
2026-05-05T08:26:47.1541940Z TASK [test_mysql_query : Assert that drop database is changed and returns expected query] ***
2026-05-05T08:26:47.2326780Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:47.2327290Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:47.2327731Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:47.2328144Z ␛[0;32m}␛[0m
2026-05-05T08:26:47.2328298Z 
2026-05-05T08:26:47.2329539Z TASK [test_mysql_query : Clean up test_db] *************************************
2026-05-05T08:26:47.5298016Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["DROP DATABASE IF EXISTS testdb"], "execution_time_ms": [1.5912], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:47.5299287Z 
2026-05-05T08:26:47.5299595Z TASK [test_mysql_query : include_tasks] ****************************************
2026-05-05T08:26:47.6296318Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_query/tasks/issue-28.yml for testhost␛[0m
2026-05-05T08:26:47.6297514Z 
2026-05-05T08:26:47.6297805Z TASK [test_mysql_query : set fact tls_enabled] *********************************
2026-05-05T08:26:47.9097185Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e SHOW VARIABLES LIKE 'have_ssl';"], "delta": "0:00:00.021009", "end": "2026-05-05 08:26:47.875436", "msg": "", "rc": 0, "start": "2026-05-05 08:26:47.854427", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:26:47.9099675Z 
2026-05-05T08:26:47.9099910Z TASK [test_mysql_query : set_fact] *********************************************
2026-05-05T08:26:48.0037675Z ␛[0;32mok: [testhost] => {"ansible_facts": {"tls_enabled": false}, "changed": false}␛[0m
2026-05-05T08:26:48.0038234Z 
2026-05-05T08:26:48.0038715Z TASK [test_mysql_query : get server certificate] *******************************
2026-05-05T08:26:48.0703477Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.0704278Z 
2026-05-05T08:26:48.0704596Z TASK [test_mysql_query : Drop mysql user if exists] ****************************
2026-05-05T08:26:48.1371495Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.1372262Z 
2026-05-05T08:26:48.1372581Z TASK [test_mysql_query : create user with ssl requirement] *********************
2026-05-05T08:26:48.2009693Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.2010439Z 
2026-05-05T08:26:48.2010796Z TASK [test_mysql_query : attempt connection with newly created user (expect failure)] ***
2026-05-05T08:26:48.2683422Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.2684065Z 
2026-05-05T08:26:48.2684284Z TASK [test_mysql_query : assert] ***********************************************
2026-05-05T08:26:48.3317776Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.3318709Z 
2026-05-05T08:26:48.3318930Z TASK [test_mysql_query : assert] ***********************************************
2026-05-05T08:26:48.3952925Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.3953564Z 
2026-05-05T08:26:48.3953871Z TASK [test_mysql_query : attempt connection with newly created user ignoring hostname] ***
2026-05-05T08:26:48.4590072Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.4590679Z 
2026-05-05T08:26:48.4590913Z TASK [test_mysql_query : assert] ***********************************************
2026-05-05T08:26:48.5225633Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.5226647Z 
2026-05-05T08:26:48.5227037Z TASK [test_mysql_query : Drop mysql user] **************************************
2026-05-05T08:26:48.5870408Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:26:48.5870997Z 
2026-05-05T08:26:48.5871230Z TASK [test_mysql_query : include_tasks] ****************************************
2026-05-05T08:26:48.6886485Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_query/tasks/session_vars.yml for testhost␛[0m
2026-05-05T08:26:48.6887907Z 
2026-05-05T08:26:48.6888207Z TASK [test_mysql_query : Select sql_log_bin without session vars] **************
2026-05-05T08:26:48.9834842Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT @@session.sql_log_bin AS sql_log_bin"], "execution_time_ms": [0.3795], "query_result": [[{"sql_log_bin": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:48.9835768Z 
2026-05-05T08:26:48.9836038Z TASK [test_mysql_query : Select sql_log_bin with session vars] *****************
2026-05-05T08:26:49.2753205Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT @@session.sql_log_bin AS sql_log_bin"], "execution_time_ms": [0.3286], "query_result": [[{"sql_log_bin": 0}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:49.2754796Z 
2026-05-05T08:26:49.2755095Z TASK [test_mysql_query : Assert sql_log_bin is set] ****************************
2026-05-05T08:26:49.3468041Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:49.3468763Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:49.3469127Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:49.3469460Z ␛[0;32m}␛[0m
2026-05-05T08:26:49.3469595Z 
2026-05-05T08:26:49.3469836Z TASK [test_mysql_query : include_tasks] ****************************************
2026-05-05T08:26:49.4440615Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_query-ig4lb5r7-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_query/tasks/issue-783.yml for testhost␛[0m
2026-05-05T08:26:49.4441888Z 
2026-05-05T08:26:49.4442191Z TASK [test_mysql_query : issue-783 | Create test database] *********************
2026-05-05T08:26:49.7330681Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE DATABASE issue783"], "execution_time_ms": [1.6839], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:49.7331505Z 
2026-05-05T08:26:49.7331825Z TASK [test_mysql_query : issue-783 | Create table with DECIMAL and DATETIME columns] ***
2026-05-05T08:26:50.0309105Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE t (\n  id INT PRIMARY KEY,\n  price DECIMAL(10,2),\n  created_at DATETIME,\n  active_date DATE\n)\n"], "execution_time_ms": [5.626], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:26:50.0310349Z 
2026-05-05T08:26:50.0310630Z TASK [test_mysql_query : issue-783 | Insert a row] *****************************
2026-05-05T08:26:50.3172190Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["INSERT INTO t VALUES (1, 18.51, '2024-01-15 10:30:00', '2024-01-15')"], "execution_time_ms": [1.6394], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:50.3173165Z 
2026-05-05T08:26:50.3173530Z TASK [test_mysql_query : issue-783 | Query row with DECIMAL and DATETIME columns (must not fail)] ***
2026-05-05T08:26:50.6113363Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT id, price, created_at, active_date FROM t WHERE id = 1"], "execution_time_ms": [0.6279], "query_result": [[{"active_date": "2024-01-15", "created_at": "2024-01-15 10:30:00", "id": 1, "price": "18.51"}]], "rowcount": [1]}␛[0m
2026-05-05T08:26:50.6114801Z 
2026-05-05T08:26:50.6115084Z TASK [test_mysql_query : issue-783 | Assert the query succeeded and returned one row] ***
2026-05-05T08:26:50.7061459Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:50.7061986Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:50.7063043Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:50.7063524Z ␛[0;32m}␛[0m
2026-05-05T08:26:50.7063698Z 
2026-05-05T08:26:50.7064175Z TASK [test_mysql_query : issue-783 | Assert DECIMAL and DATETIME values are returned as strings] ***
2026-05-05T08:26:50.7785763Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:50.7786280Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:26:50.7786683Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:26:50.7787039Z ␛[0;32m}␛[0m
2026-05-05T08:26:50.7787165Z 
2026-05-05T08:26:50.7787420Z TASK [test_mysql_query : issue-783 | Drop test database] ***********************
2026-05-05T08:26:51.0972257Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["DROP DATABASE IF EXISTS issue783"], "execution_time_ms": [4.3654], "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:26:51.0973044Z 
2026-05-05T08:26:51.0973214Z PLAY RECAP *********************************************************************
2026-05-05T08:26:51.0974167Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=85  ␛[0m ␛[0;33mchanged=22  ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=10  ␛[0m rescued=0    ␛[1;35mignored=3   ␛[0m
2026-05-05T08:26:51.0974816Z 
2026-05-05T08:26:51.1537514Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:26:51.1539957Z Running test_mysql_replication integration test role
2026-05-05T08:26:51.1586857Z ␛[32mStream command: ansible-playbook test_mysql_replication-21nycjm7.yml -i inventory --diff -v␛[0m
2026-05-05T08:26:51.8585781Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:26:51.8587162Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:26:51.8588321Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-689.yml,␛[0m
2026-05-05T08:26:51.8592058Z ␛[1;35mline 13, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:26:51.8592823Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:26:51.8593648Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:26:51.8594711Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:26:51.8595789Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-689.yml,␛[0m
2026-05-05T08:26:51.8596890Z ␛[1;35mline 44, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:26:51.8597617Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:26:51.9690600Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:26:51.9691686Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:26:51.9691987Z 
2026-05-05T08:26:51.9692163Z PLAY [testhost] ****************************************************************
2026-05-05T08:26:51.9692460Z 
2026-05-05T08:26:51.9692648Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:26:52.9182473Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:26:52.9182743Z 
2026-05-05T08:26:52.9183076Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:26:53.2860902Z ␛[0;31m--- before␛[0m
2026-05-05T08:26:53.2861311Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:26:53.2861661Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:26:53.2861979Z ␛[0;36m␛[0m {
2026-05-05T08:26:53.2862892Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:26:53.2863979Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:26:53.2864353Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:26:53.2864692Z ␛[0;32m␛[0m }
2026-05-05T08:26:53.2864823Z 
2026-05-05T08:26:53.2866691Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:26:53.2868229Z 
2026-05-05T08:26:53.2868828Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:26:53.5369224Z ␛[0;31m--- before␛[0m
2026-05-05T08:26:53.5370244Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:26:53.5370695Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:26:53.5371099Z ␛[0;36m␛[0m {
2026-05-05T08:26:53.5371435Z ␛[0;31m-    "atime": 1777969613.502518,␛[0m
2026-05-05T08:26:53.5371947Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969613.502518,␛[0m
2026-05-05T08:26:53.5372503Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969613.5029607,␛[0m
2026-05-05T08:26:53.5373047Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969613.5029607,␛[0m
2026-05-05T08:26:53.5374724Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:26:53.5376071Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:26:53.5376510Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:26:53.5376968Z ␛[0;32m␛[0m }
2026-05-05T08:26:53.5377137Z 
2026-05-05T08:26:53.5379299Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:26:53.5381057Z 
2026-05-05T08:26:53.5381503Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:26:54.5744913Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:26:54.5745491Z 
2026-05-05T08:26:54.5745802Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:26:55.2902585Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:26:55.2902872Z 
2026-05-05T08:26:55.2903201Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:26:55.3677708Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:26:55.3679531Z 
2026-05-05T08:26:55.3679909Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:26:55.4461679Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:26:55.4463481Z 
2026-05-05T08:26:55.4463814Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:26:55.5158763Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:26:55.5159307Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:26:55.5159650Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:26:55.5160054Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:26:55.5160402Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:26:55.5160726Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:26:55.5161073Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:26:55.5161394Z ␛[0;32m    ]␛[0m
2026-05-05T08:26:55.5161758Z ␛[0;32m}␛[0m
2026-05-05T08:26:55.5161941Z 
2026-05-05T08:26:55.5162267Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:26:56.0680572Z ␛[0;32mok: [testhost] => {"changed": false, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/apt/trusted.gpg.d/mysql.asc", "size": 3175, "state": "file", "uid": 0}␛[0m
2026-05-05T08:26:56.0682186Z 
2026-05-05T08:26:56.0682515Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:26:57.0618674Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:26:57.0619197Z 
2026-05-05T08:26:57.0619442Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:26:57.5255023Z ␛[0;32mok: [testhost] => {"changed": false, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:26:57.5257240Z 
2026-05-05T08:26:57.5257601Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:27:30.6016178Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:27:30.6017869Z 
2026-05-05T08:27:30.6018813Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:27:31.4562833Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)\n", "stdout_lines": ["Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:27:31.4566520Z 
2026-05-05T08:27:31.4566799Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:27:31.9040983Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:27:31.9042020Z 
2026-05-05T08:27:31.9042416Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:27:31.9758205Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:31.9758935Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:31.9759385Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:31.9759775Z ␛[0;32m}␛[0m
2026-05-05T08:27:31.9759921Z 
2026-05-05T08:27:31.9760313Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:27:32.0467059Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:32.0467515Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:32.0467847Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:32.0468163Z ␛[0;32m}␛[0m
2026-05-05T08:27:32.0468271Z 
2026-05-05T08:27:32.0468680Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:27:32.3959280Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.014470", "end": "2026-05-05 08:27:32.366008", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:27:32.351538", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:27:32.3960721Z 
2026-05-05T08:27:32.3960975Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:27:32.4706645Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:32.4707438Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:27:32.4708108Z ␛[0;32m}␛[0m
2026-05-05T08:27:32.4708301Z 
2026-05-05T08:27:32.4708865Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:27:32.5486673Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:32.5487467Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:32.5488072Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:32.5488694Z ␛[0;32m}␛[0m
2026-05-05T08:27:32.5488825Z 
2026-05-05T08:27:32.5489115Z TASK [test_mysql_replication : Create user for mysql replication] **************
2026-05-05T08:27:32.8115063Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "echo \"CREATE USER IF NOT EXISTS 'replication_user'@'172.18.0.1' IDENTIFIED WITH mysql_native_password BY 'replication_pass'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'172.18.0.1';\" | mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "delta": "0:00:00.020541", "end": "2026-05-05 08:27:32.776099", "msg": "", "rc": 0, "start": "2026-05-05 08:27:32.755558", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:32.8118961Z 
2026-05-05T08:27:32.8119318Z TASK [test_mysql_replication : Create user for mariadb replication] ************
2026-05-05T08:27:32.8784960Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:32.8786460Z 
2026-05-05T08:27:32.8787311Z TASK [test_mysql_replication : Create test database] ***************************
2026-05-05T08:27:33.2916333Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "test_db", "db_list": ["test_db"], "executed_commands": ["CREATE DATABASE `test_db`"]}␛[0m
2026-05-05T08:27:33.2917077Z 
2026-05-05T08:27:33.8679565Z TASK [test_mysql_replication : Dump all databases from the primary] ************
2026-05-05T08:27:33.8684484Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysqldump -uroot -pmsandbox -h172.18.0.1 -P3307 --protocol=tcp --all-databases --ignore-table=mysql.innodb_index_stats --ignore-table=mysql.innodb_table_stats --master-data=2 > /tmp/dump.sql", "delta": "0:00:00.330775", "end": "2026-05-05 08:27:33.835690", "msg": "", "rc": 0, "start": "2026-05-05 08:27:33.504915", "stderr": "mysqldump: [Warning] Using a password on the command line interface can be insecure.\nWARNING: --master-data is deprecated and will be removed in a future version. Use --source-data instead.", "stderr_lines": ["mysqldump: [Warning] Using a password on the command line interface can be insecure.", "WARNING: --master-data is deprecated and will be removed in a future version. Use --source-data instead."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:33.8688139Z 
2026-05-05T08:27:33.8688593Z TASK [test_mysql_replication : Restore the dump to replica1] *******************
2026-05-05T08:27:35.5332602Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3308 < /tmp/dump.sql", "delta": "0:00:01.419504", "end": "2026-05-05 08:27:35.499899", "msg": "", "rc": 0, "start": "2026-05-05 08:27:34.080395", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:35.5334583Z 
2026-05-05T08:27:35.5334845Z TASK [test_mysql_replication : Restore the dump to replica2] *******************
2026-05-05T08:27:37.2124743Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3309 < /tmp/dump.sql", "delta": "0:00:01.436306", "end": "2026-05-05 08:27:37.180868", "msg": "", "rc": 0, "start": "2026-05-05 08:27:35.744562", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:37.2127153Z 
2026-05-05T08:27:37.2127503Z TASK [test_mysql_replication : Get primary status] *****************************
2026-05-05T08:27:37.6260136Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Is_Primary": true, "Position": 28963, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:37.6260924Z 
2026-05-05T08:27:37.6261183Z TASK [test_mysql_replication : Assert that primary is in expected state] *******
2026-05-05T08:27:37.7409454Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:37.7409913Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:37.7410343Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:37.7410730Z ␛[0;32m}␛[0m
2026-05-05T08:27:37.7410875Z 
2026-05-05T08:27:37.7411386Z TASK [test_mysql_replication : Start replica and fail because primary is not specified; failing on error as requested] ***
2026-05-05T08:27:38.0480265Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "START REPLICA failed: (1200, 'The server is not configured as replica; fix in config file or with CHANGE REPLICATION SOURCE TO')"}␛[0m
2026-05-05T08:27:38.0481663Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:27:38.0481837Z 
2026-05-05T08:27:38.0482119Z TASK [test_mysql_replication : Assert that startreplica is failed] *************
2026-05-05T08:27:38.1257902Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:38.1258268Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:38.1258881Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:38.1259249Z ␛[0;32m}␛[0m
2026-05-05T08:27:38.1259370Z 
2026-05-05T08:27:38.1259783Z TASK [test_mysql_replication : Start replica and fail without propagating it to ansible as we were asked not to] ***
2026-05-05T08:27:38.4133795Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Replica already started (Or cannot be started)", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:38.4134371Z 
2026-05-05T08:27:38.4134614Z TASK [test_mysql_replication : Assert that startreplica succeeded] *************
2026-05-05T08:27:38.4861775Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:38.4862132Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:38.4862476Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:38.4862776Z ␛[0;32m}␛[0m
2026-05-05T08:27:38.4862889Z 
2026-05-05T08:27:38.4863380Z TASK [test_mysql_replication : Start replica and fail without propagating it to ansible as previous versions did not fail on error] ***
2026-05-05T08:27:38.7795090Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Replica already started (Or cannot be started)", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:38.7795945Z 
2026-05-05T08:27:38.7796317Z TASK [test_mysql_replication : Assert that start replica succeeded again] ******
2026-05-05T08:27:38.8566534Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:38.8567098Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:38.8567607Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:38.8568073Z ␛[0;32m}␛[0m
2026-05-05T08:27:38.8568239Z 
2026-05-05T08:27:38.8568831Z TASK [test_mysql_replication : Test changeprimary mode with empty primary_ssl_ca] ***
2026-05-05T08:27:39.1615626Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.18.0.1',SOURCE_USER='replication_user',SOURCE_PASSWORD='********',SOURCE_PORT=3307,SOURCE_LOG_FILE='primary-bin.000001',SOURCE_LOG_POS=28963,SOURCE_SSL=0,SOURCE_SSL_CA=''"], "warning": "(1759, 'Sending passwords in plain text without SSL/TLS is extremely insecure.')"}␛[0m
2026-05-05T08:27:39.1617706Z 
2026-05-05T08:27:39.1618169Z TASK [test_mysql_replication : Assert that changeprimmary is changed and return expected query for MariaDB and MySQL < 8.0.23] ***
2026-05-05T08:27:39.2342814Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.23', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:39.2343944Z 
2026-05-05T08:27:39.2344410Z TASK [test_mysql_replication : Assert that changeprimmary is changed and return expected query for MySQL > 8.0.23] ***
2026-05-05T08:27:39.3134086Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:39.3134579Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:39.3135040Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:39.3135457Z ␛[0;32m}␛[0m
2026-05-05T08:27:39.3135623Z 
2026-05-05T08:27:39.3135932Z TASK [test_mysql_replication : Start replica] **********************************
2026-05-05T08:27:39.6245151Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica started ", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:39.6245675Z 
2026-05-05T08:27:39.6245992Z TASK [test_mysql_replication : Assert that startreplica is changed and returns expected query] ***
2026-05-05T08:27:39.7002909Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:39.7003443Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:39.7003939Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:39.7004396Z ␛[0;32m}␛[0m
2026-05-05T08:27:39.7004563Z 
2026-05-05T08:27:39.7004904Z TASK [test_mysql_replication : Get replica status] *****************************
2026-05-05T08:27:39.9980228Z ␛[0;32mok: [testhost] => {"Auto_Position": 0, "Channel_Name": "", "Connect_Retry": 60, "Exec_Source_Log_Pos": 28963, "Executed_Gtid_Set": "", "Get_Source_public_key": 0, "Is_Replica": true, "Last_Errno": 0, "Last_Error": "", "Last_IO_Errno": 0, "Last_IO_Error": "", "Last_IO_Error_Timestamp": "", "Last_SQL_Errno": 0, "Last_SQL_Error": "", "Last_SQL_Error_Timestamp": "", "Network_Namespace": "", "Read_Source_Log_Pos": 28963, "Relay_Log_File": "e9bc685957ba-relay-bin.000002", "Relay_Log_Pos": 330, "Relay_Log_Space": 548, "Relay_Source_Log_File": "primary-bin.000001", "Replica_IO_Running": "Yes", "Replica_IO_State": "Waiting for source to send event", "Replica_SQL_Running": "Yes", "Replica_SQL_Running_State": "Replica has read all relay log; waiting for more updates", "Replicate_Do_DB": "", "Replicate_Do_Table": "", "Replicate_Ignore_DB": "", "Replicate_Ignore_Server_Ids": "", "Replicate_Ignore_Table": "", "Replicate_Rewrite_DB": "", "Replicate_Wild_Do_Table": "", "Replicate_Wild_Ignore_Table": "", "Retrieved_Gtid_Set": "", "SQL_Delay": 0, "SQL_Remaining_Delay": null, "Seconds_Behind_Source": 0, "Skip_Counter": 0, "Source_Bind": "", "Source_Host": "172.18.0.1", "Source_Info_File": "mysql.slave_master_info", "Source_Log_File": "primary-bin.000001", "Source_Port": 3307, "Source_Retry_Count": 10, "Source_SSL_Allowed": "No", "Source_SSL_CA_File": "", "Source_SSL_CA_Path": "", "Source_SSL_Cert": "", "Source_SSL_Cipher": "", "Source_SSL_Crl": "", "Source_SSL_Crlpath": "", "Source_SSL_Key": "", "Source_SSL_Verify_Server_Cert": "No", "Source_Server_Id": 1, "Source_TLS_Version": "", "Source_UUID": "25bcc386-485b-11f1-93ba-aa1a9528f026", "Source_User": "replication_user", "Source_public_key_path": "", "Until_Condition": "None", "Until_Log_File": "", "Until_Log_Pos": 0, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:39.9987871Z 
2026-05-05T08:27:39.9988251Z TASK [test_mysql_replication : Assert that getreplica returns expected values for MySQL older than 8.0.22 and Mariadb] ***
2026-05-05T08:27:40.0675862Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.22', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:40.0676690Z 
2026-05-05T08:27:40.0677057Z TASK [test_mysql_replication : Assert that getreplica returns expected values for MySQL newer than 8.0.22] ***
2026-05-05T08:27:40.1509825Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:40.1510278Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:40.1510611Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:40.1510908Z ␛[0;32m}␛[0m
2026-05-05T08:27:40.1511021Z 
2026-05-05T08:27:40.1511237Z TASK [test_mysql_replication : Create test table] ******************************
2026-05-05T08:27:40.4145855Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "echo \"CREATE TABLE test_table (id int);\" | mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3307 test_db", "delta": "0:00:00.024245", "end": "2026-05-05 08:27:40.382221", "msg": "", "rc": 0, "start": "2026-05-05 08:27:40.357976", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:40.4148101Z 
2026-05-05T08:27:40.4148591Z TASK [test_mysql_replication : Insert data] ************************************
2026-05-05T08:27:40.6785820Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "echo \"INSERT INTO test_table (id) VALUES (1), (2), (3); FLUSH LOGS;\" | mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3307 test_db", "delta": "0:00:00.024574", "end": "2026-05-05 08:27:40.646489", "msg": "", "rc": 0, "start": "2026-05-05 08:27:40.621915", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:40.6787922Z 
2026-05-05T08:27:40.6788693Z TASK [test_mysql_replication : Small pause to be sure the bin log, which was flushed previously, reached the replica] ***
2026-05-05T08:27:43.0047007Z ␛[0;32mok: [testhost] => {"changed": false, "elapsed": 2, "match_groupdict": {}, "match_groups": [], "path": null, "port": null, "search_regex": null, "state": "started"}␛[0m
2026-05-05T08:27:43.0047791Z 
2026-05-05T08:27:43.0048060Z TASK [test_mysql_replication : Get replica status] *****************************
2026-05-05T08:27:43.3114416Z ␛[0;32mok: [testhost] => {"Auto_Position": 0, "Channel_Name": "", "Connect_Retry": 60, "Exec_Source_Log_Pos": 158, "Executed_Gtid_Set": "", "Get_Source_public_key": 0, "Is_Replica": true, "Last_Errno": 0, "Last_Error": "", "Last_IO_Errno": 0, "Last_IO_Error": "", "Last_IO_Error_Timestamp": "", "Last_SQL_Errno": 0, "Last_SQL_Error": "", "Last_SQL_Error_Timestamp": "", "Network_Namespace": "", "Read_Source_Log_Pos": 158, "Relay_Log_File": "e9bc685957ba-relay-bin.000004", "Relay_Log_Pos": 379, "Relay_Log_Space": 646, "Relay_Source_Log_File": "primary-bin.000002", "Replica_IO_Running": "Yes", "Replica_IO_State": "Waiting for source to send event", "Replica_SQL_Running": "Yes", "Replica_SQL_Running_State": "Replica has read all relay log; waiting for more updates", "Replicate_Do_DB": "", "Replicate_Do_Table": "", "Replicate_Ignore_DB": "", "Replicate_Ignore_Server_Ids": "", "Replicate_Ignore_Table": "", "Replicate_Rewrite_DB": "", "Replicate_Wild_Do_Table": "", "Replicate_Wild_Ignore_Table": "", "Retrieved_Gtid_Set": "", "SQL_Delay": 0, "SQL_Remaining_Delay": null, "Seconds_Behind_Source": 0, "Skip_Counter": 0, "Source_Bind": "", "Source_Host": "172.18.0.1", "Source_Info_File": "mysql.slave_master_info", "Source_Log_File": "primary-bin.000002", "Source_Port": 3307, "Source_Retry_Count": 10, "Source_SSL_Allowed": "No", "Source_SSL_CA_File": "", "Source_SSL_CA_Path": "", "Source_SSL_Cert": "", "Source_SSL_Cipher": "", "Source_SSL_Crl": "", "Source_SSL_Crlpath": "", "Source_SSL_Key": "", "Source_SSL_Verify_Server_Cert": "No", "Source_Server_Id": 1, "Source_TLS_Version": "", "Source_UUID": "25bcc386-485b-11f1-93ba-aa1a9528f026", "Source_User": "replication_user", "Source_public_key_path": "", "Until_Condition": "None", "Until_Log_File": "", "Until_Log_Pos": 0, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:43.3122384Z 
2026-05-05T08:27:43.3123020Z TASK [test_mysql_replication : Assert that getreplica Log_Pos is different for MySQL older than 8.0.22 and MariaDB] ***
2026-05-05T08:27:43.3860395Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.22', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:43.3861479Z 
2026-05-05T08:27:43.3861937Z TASK [test_mysql_replication : Assert that getreplica Log_Pos is different for MySQL newer than 8.0.22] ***
2026-05-05T08:27:43.4637871Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:43.4638265Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:43.4638747Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:43.4639079Z ␛[0;32m}␛[0m
2026-05-05T08:27:43.4639210Z 
2026-05-05T08:27:43.4639470Z TASK [test_mysql_replication : Start replica that is already running] **********
2026-05-05T08:27:43.7634431Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Replica already started (Or cannot be started)", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:43.7635124Z 
2026-05-05T08:27:43.7635414Z TASK [test_mysql_replication : Assert that startreplica is not changed] ********
2026-05-05T08:27:43.8402689Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:43.8403066Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:43.8403427Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:43.8403757Z ␛[0;32m}␛[0m
2026-05-05T08:27:43.8403889Z 
2026-05-05T08:27:43.8404147Z TASK [test_mysql_replication : Stop replica] ***********************************
2026-05-05T08:27:44.1367403Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica stopped", "queries": ["STOP REPLICA"]}␛[0m
2026-05-05T08:27:44.1368027Z 
2026-05-05T08:27:44.1368663Z TASK [test_mysql_replication : Assert that stopreplica is changed and returns expected query] ***
2026-05-05T08:27:44.2167773Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:44.2168250Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:44.2169038Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:44.2169472Z ␛[0;32m}␛[0m
2026-05-05T08:27:44.2169636Z 
2026-05-05T08:27:44.2169986Z TASK [test_mysql_replication : Pause for 2 seconds to let the replication stop] ***
2026-05-05T08:27:46.4599440Z ␛[0;32mok: [testhost] => {"changed": false, "elapsed": 2, "match_groupdict": {}, "match_groups": [], "path": null, "port": null, "search_regex": null, "state": "started"}␛[0m
2026-05-05T08:27:46.4600175Z 
2026-05-05T08:27:46.4600441Z TASK [test_mysql_replication : Stop replica that is no longer running] *********
2026-05-05T08:27:46.7589332Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Replica already stopped", "queries": ["STOP REPLICA"]}␛[0m
2026-05-05T08:27:46.7589941Z 
2026-05-05T08:27:46.7590256Z TASK [test_mysql_replication : Assert that stopreplica is not changed] *********
2026-05-05T08:27:46.8370835Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:46.8371260Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:46.8371692Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:46.8372054Z ␛[0;32m}␛[0m
2026-05-05T08:27:46.8372179Z 
2026-05-05T08:27:46.8372472Z TASK [test_mysql_replication : Test invoking the module with unsupported choice] ***
2026-05-05T08:27:47.1344978Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "value of mode must be one of: getprimary, getreplica, changeprimary, stopreplica, startreplica, resetprimary, resetreplica, resetreplicaall, changereplication, got: stopslave"}␛[0m
2026-05-05T08:27:47.1346316Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:27:47.1346483Z 
2026-05-05T08:27:47.1346800Z TASK [test_mysql_replication : Assert that stopslave returns expected error message] ***
2026-05-05T08:27:47.2091541Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:47.2099660Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:47.2100179Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:47.2100536Z ␛[0;32m}␛[0m
2026-05-05T08:27:47.2100669Z 
2026-05-05T08:27:47.2101235Z TASK [test_mysql_replication : include_tasks] **********************************
2026-05-05T08:27:47.2742020Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:27:47.2743181Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:27:47.2744324Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-265.yml,␛[0m
2026-05-05T08:27:47.2745479Z ␛[1;35mline 15, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:27:47.2746250Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:27:47.2747148Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:27:47.2748217Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:27:47.2749493Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-265.yml,␛[0m
2026-05-05T08:27:47.2750595Z ␛[1;35mline 84, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:27:47.2751385Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:27:47.2752137Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:27:47.2753187Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:27:47.2754280Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-265.yml,␛[0m
2026-05-05T08:27:47.2755373Z ␛[1;35mline 104, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:27:47.2756264Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:27:47.2757021Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:27:47.2758071Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-␛[0m
2026-05-05T08:27:47.2759321Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-265.yml,␛[0m
2026-05-05T08:27:47.2760400Z ␛[1;35mline 151, column 9, found a duplicate dict key (login_port). Using last defined␛[0m
2026-05-05T08:27:47.2761167Z ␛[1;35mvalue only.␛[0m
2026-05-05T08:27:47.3323703Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-265.yml for testhost␛[0m
2026-05-05T08:27:47.3324925Z 
2026-05-05T08:27:47.3325229Z TASK [test_mysql_replication : Start replica] **********************************
2026-05-05T08:27:47.6524747Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica started ", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:47.6525422Z 
2026-05-05T08:27:47.6525744Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:47.7303818Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:47.7304341Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:47.7304819Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:47.7305254Z ␛[0;32m}␛[0m
2026-05-05T08:27:47.7305445Z 
2026-05-05T08:27:47.7305775Z TASK [test_mysql_replication : Drop db_user1 if exists] ************************
2026-05-05T08:27:48.1842621Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:27:48.1843491Z 
2026-05-05T08:27:48.1843853Z TASK [test_mysql_replication : create user with force_context] *****************
2026-05-05T08:27:48.4915368Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:27:48.4915962Z 
2026-05-05T08:27:48.4916326Z TASK [test_mysql_replication : attempt connection on replica1 with newly created user (expect success)] ***
2026-05-05T08:27:48.7879052Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "replica1-bin.000001", "Is_Primary": true, "Position": 3404067, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:48.7880131Z 
2026-05-05T08:27:48.8619852Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:48.8620584Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:48.8620882Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:48.8621207Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:48.8621506Z ␛[0;32m}␛[0m
2026-05-05T08:27:48.8621621Z 
2026-05-05T08:27:48.8621848Z TASK [test_mysql_replication : Drop user] **************************************
2026-05-05T08:27:49.1799211Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:27:49.1799915Z 
2026-05-05T08:27:49.1800357Z TASK [test_mysql_replication : attempt connection on replica with freshly removed user (expect failure)] ***
2026-05-05T08:27:49.4707162Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to find /root/.my.cnf. Exception message: (1045, \"Access denied for user 'db_user1'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:27:49.4708739Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:27:49.4708935Z 
2026-05-05T08:27:49.4709150Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:49.5447857Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:49.5448569Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:49.5449097Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:49.5449554Z ␛[0;32m}␛[0m
2026-05-05T08:27:49.5449733Z 
2026-05-05T08:27:49.5450077Z TASK [test_mysql_replication : Stop replica] ***********************************
2026-05-05T08:27:49.8395642Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica stopped", "queries": ["STOP REPLICA"]}␛[0m
2026-05-05T08:27:49.8396318Z 
2026-05-05T08:27:49.8396651Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:49.9165168Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:49.9165645Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:49.9166011Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:49.9166324Z ␛[0;32m}␛[0m
2026-05-05T08:27:49.9166431Z 
2026-05-05T08:27:49.9166657Z TASK [test_mysql_replication : Create replication filter MySQL] ****************
2026-05-05T08:27:50.1778243Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (mysql);\" | mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3308", "delta": "0:00:00.017952", "end": "2026-05-05 08:27:50.146091", "msg": "", "rc": 0, "start": "2026-05-05 08:27:50.128139", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:50.1780414Z 
2026-05-05T08:27:50.1780659Z TASK [test_mysql_replication : Create replication filter MariaDB] **************
2026-05-05T08:27:50.2463164Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:50.2463884Z 
2026-05-05T08:27:50.2464164Z TASK [test_mysql_replication : Start replica] **********************************
2026-05-05T08:27:50.5490447Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica started ", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:50.5490982Z 
2026-05-05T08:27:50.5491210Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:50.6249716Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:50.6250066Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:50.6250380Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:50.6250680Z ␛[0;32m}␛[0m
2026-05-05T08:27:50.6250782Z 
2026-05-05T08:27:50.6250995Z TASK [test_mysql_replication : create user with force_context] *****************
2026-05-05T08:27:50.9274686Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:27:50.9276156Z 
2026-05-05T08:27:50.9276695Z TASK [test_mysql_replication : attempt connection on replica with newly created user (expect failure)] ***
2026-05-05T08:27:51.2223833Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to find /root/.my.cnf. Exception message: (1045, \"Access denied for user 'db_user1'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:27:51.2225259Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:27:51.2225418Z 
2026-05-05T08:27:51.2225660Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:51.2965706Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:51.2966222Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:51.2966734Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:51.2967197Z ␛[0;32m}␛[0m
2026-05-05T08:27:51.2967374Z 
2026-05-05T08:27:51.2967705Z TASK [test_mysql_replication : Drop user] **************************************
2026-05-05T08:27:51.5949011Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:27:51.5949961Z 
2026-05-05T08:27:51.5950340Z TASK [test_mysql_replication : Stop replica] ***********************************
2026-05-05T08:27:51.8983976Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica stopped", "queries": ["STOP REPLICA"]}␛[0m
2026-05-05T08:27:51.8984580Z 
2026-05-05T08:27:51.8984874Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:51.9754145Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:51.9754664Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:51.9755170Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:51.9755631Z ␛[0;32m}␛[0m
2026-05-05T08:27:51.9755803Z 
2026-05-05T08:27:51.9756163Z TASK [test_mysql_replication : Remove replication filter MySQL] ****************
2026-05-05T08:27:52.2382093Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = ();\" | mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp -P3308", "delta": "0:00:00.018458", "end": "2026-05-05 08:27:52.205003", "msg": "", "rc": 0, "start": "2026-05-05 08:27:52.186545", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:52.2384871Z 
2026-05-05T08:27:52.2385289Z TASK [test_mysql_replication : Remove replication filter MariaDB] **************
2026-05-05T08:27:52.3056962Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:52.3057737Z 
2026-05-05T08:27:52.3058039Z TASK [test_mysql_replication : Disable ssl verification] ***********************
2026-05-05T08:27:52.6067307Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_SSL_VERIFY_SERVER_CERT=0"]}␛[0m
2026-05-05T08:27:52.6068059Z 
2026-05-05T08:27:52.6068865Z TASK [test_mysql_replication : Assert that changeprimmary is changed and return expected query for MariaDB and MySQL < 8.0.23] ***
2026-05-05T08:27:52.6818325Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.23', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:52.6819831Z 
2026-05-05T08:27:52.6820416Z TASK [test_mysql_replication : Assert that changeprimmary is changed and return expected query for MySQL > 8.0.23] ***
2026-05-05T08:27:52.7595625Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:52.7596150Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:52.7596598Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:52.7597019Z ␛[0;32m}␛[0m
2026-05-05T08:27:52.7597169Z 
2026-05-05T08:27:52.7597495Z TASK [test_mysql_replication : Disable ssl verification for MySQL 8.0.23+] *****
2026-05-05T08:27:53.0645558Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_SSL_VERIFY_SERVER_CERT=0"]}␛[0m
2026-05-05T08:27:53.0646332Z 
2026-05-05T08:27:53.0646760Z TASK [test_mysql_replication : Assert that changereplication is changed and return expected query for MySQL > 8.0.23] ***
2026-05-05T08:27:53.1417076Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:53.1417611Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:53.1418111Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:53.1418795Z ␛[0;32m}␛[0m
2026-05-05T08:27:53.1418966Z 
2026-05-05T08:27:53.1419315Z TASK [test_mysql_replication : Run replication] ********************************
2026-05-05T08:27:53.4425789Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_DELAY=60"]}␛[0m
2026-05-05T08:27:53.4426337Z 
2026-05-05T08:27:53.4426864Z TASK [test_mysql_replication : Assert that run replication is changed and query match expectation for MariaDB and MySQL < 8.0.23] ***
2026-05-05T08:27:53.5115352Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.23', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:53.5116112Z 
2026-05-05T08:27:53.5116480Z TASK [test_mysql_replication : Assert that run replication is changed and query match expectation for MySQL >= 8.0.23] ***
2026-05-05T08:27:53.5872925Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:53.5873303Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:53.5873624Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:53.5873936Z ␛[0;32m}␛[0m
2026-05-05T08:27:53.5874046Z 
2026-05-05T08:27:53.5874276Z TASK [test_mysql_replication : Start replica] **********************************
2026-05-05T08:27:53.8865860Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica started ", "queries": ["START REPLICA"]}␛[0m
2026-05-05T08:27:53.8866484Z 
2026-05-05T08:27:53.8866852Z TASK [test_mysql_replication : Get standby status] *****************************
2026-05-05T08:27:54.1764017Z ␛[0;32mok: [testhost] => {"Auto_Position": 0, "Channel_Name": "", "Connect_Retry": 60, "Exec_Source_Log_Pos": 1666, "Executed_Gtid_Set": "", "Get_Source_public_key": 0, "Is_Replica": true, "Last_Errno": 0, "Last_Error": "", "Last_IO_Errno": 0, "Last_IO_Error": "", "Last_IO_Error_Timestamp": "", "Last_SQL_Errno": 0, "Last_SQL_Error": "", "Last_SQL_Error_Timestamp": "", "Network_Namespace": "", "Read_Source_Log_Pos": 1666, "Relay_Log_File": "e9bc685957ba-relay-bin.000002", "Relay_Log_Pos": 330, "Relay_Log_Space": 548, "Relay_Source_Log_File": "primary-bin.000002", "Replica_IO_Running": "Yes", "Replica_IO_State": "Waiting for source to send event", "Replica_SQL_Running": "Yes", "Replica_SQL_Running_State": "Replica has read all relay log; waiting for more updates", "Replicate_Do_DB": "", "Replicate_Do_Table": "", "Replicate_Ignore_DB": "", "Replicate_Ignore_Server_Ids": "", "Replicate_Ignore_Table": "", "Replicate_Rewrite_DB": "", "Replicate_Wild_Do_Table": "", "Replicate_Wild_Ignore_Table": "", "Retrieved_Gtid_Set": "", "SQL_Delay": 60, "SQL_Remaining_Delay": null, "Seconds_Behind_Source": 0, "Skip_Counter": 0, "Source_Bind": "", "Source_Host": "172.18.0.1", "Source_Info_File": "mysql.slave_master_info", "Source_Log_File": "primary-bin.000002", "Source_Port": 3307, "Source_Retry_Count": 10, "Source_SSL_Allowed": "No", "Source_SSL_CA_File": "", "Source_SSL_CA_Path": "", "Source_SSL_Cert": "", "Source_SSL_Cipher": "", "Source_SSL_Crl": "", "Source_SSL_Crlpath": "", "Source_SSL_Key": "", "Source_SSL_Verify_Server_Cert": "No", "Source_Server_Id": 1, "Source_TLS_Version": "", "Source_UUID": "25bcc386-485b-11f1-93ba-aa1a9528f026", "Source_User": "replication_user", "Source_public_key_path": "", "Until_Condition": "None", "Until_Log_File": "", "Until_Log_Pos": 0, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:54.1770649Z 
2026-05-05T08:27:54.1771123Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:54.2512042Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:54.2512471Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:54.2512821Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:54.2513136Z ␛[0;32m}␛[0m
2026-05-05T08:27:54.2513256Z 
2026-05-05T08:27:54.2513496Z TASK [test_mysql_replication : Get primary status] *****************************
2026-05-05T08:27:54.5461085Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000002", "Is_Primary": true, "Position": 1666, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:54.5461954Z 
2026-05-05T08:27:54.5462213Z TASK [test_mysql_replication : Run replication with channel] *******************
2026-05-05T08:27:54.8514922Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.18.0.1',SOURCE_USER='replication_user',SOURCE_PASSWORD='********',SOURCE_PORT=3307,SOURCE_LOG_FILE='primary-bin.000002',SOURCE_LOG_POS=1666 FOR CHANNEL 'test_channel-1'"], "warning": "(1759, 'Sending passwords in plain text without SSL/TLS is extremely insecure.')"}␛[0m
2026-05-05T08:27:54.8516723Z 
2026-05-05T08:27:54.8517275Z TASK [test_mysql_replication : Assert that run replication with channel is changed and query matches for MariaDB and MySQL < 8.0.23] ***
2026-05-05T08:27:54.9277149Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.23', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:54.9277993Z 
2026-05-05T08:27:54.9278536Z TASK [test_mysql_replication : Assert that run replication with channel is changed and query matches for MySQL >= 8.0.23] ***
2026-05-05T08:27:55.0072409Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:55.0072902Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:55.0073357Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:55.0073808Z ␛[0;32m}␛[0m
2026-05-05T08:27:55.0073974Z 
2026-05-05T08:27:55.0074275Z TASK [test_mysql_replication : Start replica with channel] *********************
2026-05-05T08:27:55.3175562Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica started ", "queries": ["START REPLICA FOR CHANNEL 'test_channel-1'"]}␛[0m
2026-05-05T08:27:55.3176363Z 
2026-05-05T08:27:55.3176690Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:55.3959434Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:55.3959950Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:55.3960446Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:55.3960890Z ␛[0;32m}␛[0m
2026-05-05T08:27:55.3961053Z 
2026-05-05T08:27:55.3961376Z TASK [test_mysql_replication : Get standby status with channel] ****************
2026-05-05T08:27:55.6934177Z ␛[0;32mok: [testhost] => {"Auto_Position": 0, "Channel_Name": "test_channel-1", "Connect_Retry": 60, "Exec_Source_Log_Pos": 1666, "Executed_Gtid_Set": "", "Get_Source_public_key": 0, "Is_Replica": true, "Last_Errno": 0, "Last_Error": "", "Last_IO_Errno": 0, "Last_IO_Error": "", "Last_IO_Error_Timestamp": "", "Last_SQL_Errno": 0, "Last_SQL_Error": "", "Last_SQL_Error_Timestamp": "", "Network_Namespace": "", "Read_Source_Log_Pos": 1666, "Relay_Log_File": "e1917765a9fc-relay-bin-test_channel@002d1.000002", "Relay_Log_Pos": 330, "Relay_Log_Space": 567, "Relay_Source_Log_File": "primary-bin.000002", "Replica_IO_Running": "Yes", "Replica_IO_State": "Waiting for source to send event", "Replica_SQL_Running": "Yes", "Replica_SQL_Running_State": "Replica has read all relay log; waiting for more updates", "Replicate_Do_DB": "", "Replicate_Do_Table": "", "Replicate_Ignore_DB": "", "Replicate_Ignore_Server_Ids": "", "Replicate_Ignore_Table": "", "Replicate_Rewrite_DB": "", "Replicate_Wild_Do_Table": "", "Replicate_Wild_Ignore_Table": "", "Retrieved_Gtid_Set": "", "SQL_Delay": 0, "SQL_Remaining_Delay": null, "Seconds_Behind_Source": 0, "Skip_Counter": 0, "Source_Bind": "", "Source_Host": "172.18.0.1", "Source_Info_File": "mysql.slave_master_info", "Source_Log_File": "primary-bin.000002", "Source_Port": 3307, "Source_Retry_Count": 10, "Source_SSL_Allowed": "No", "Source_SSL_CA_File": "", "Source_SSL_CA_Path": "", "Source_SSL_Cert": "", "Source_SSL_Cipher": "", "Source_SSL_Crl": "", "Source_SSL_Crlpath": "", "Source_SSL_Key": "", "Source_SSL_Verify_Server_Cert": "No", "Source_Server_Id": 1, "Source_TLS_Version": "", "Source_UUID": "25bcc386-485b-11f1-93ba-aa1a9528f026", "Source_User": "replication_user", "Source_public_key_path": "", "Until_Condition": "None", "Until_Log_File": "", "Until_Log_Pos": 0, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:55.6940892Z 
2026-05-05T08:27:55.6941101Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:55.7657504Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.0.22', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:55.7658930Z 
2026-05-05T08:27:55.7659266Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:55.8536481Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:55.8536982Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:55.8537441Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:55.8537904Z ␛[0;32m}␛[0m
2026-05-05T08:27:55.8538062Z 
2026-05-05T08:27:55.8538635Z TASK [test_mysql_replication : Stop replica with channel] **********************
2026-05-05T08:27:56.1445195Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica stopped", "queries": ["STOP REPLICA FOR CHANNEL 'test_channel-1'"]}␛[0m
2026-05-05T08:27:56.1445731Z 
2026-05-05T08:27:56.1445958Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:56.2220111Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:56.2220483Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:56.2220859Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:56.2221180Z ␛[0;32m}␛[0m
2026-05-05T08:27:56.2221292Z 
2026-05-05T08:27:56.2221531Z TASK [test_mysql_replication : Reset replica with channel] *********************
2026-05-05T08:27:56.5209987Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica reset", "queries": ["RESET REPLICA FOR CHANNEL 'test_channel-1'"]}␛[0m
2026-05-05T08:27:56.5210527Z 
2026-05-05T08:27:56.5210751Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:56.5990951Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:56.5991321Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:56.5991656Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:56.5991967Z ␛[0;32m}␛[0m
2026-05-05T08:27:56.5992077Z 
2026-05-05T08:27:56.5992314Z TASK [test_mysql_replication : Reset replica all with channel] *****************
2026-05-05T08:27:56.9045452Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica reset", "queries": ["RESET REPLICA ALL FOR CHANNEL 'test_channel-1'"]}␛[0m
2026-05-05T08:27:56.9046079Z 
2026-05-05T08:27:56.9046308Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:56.9963535Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:56.9965733Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:56.9966698Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:56.9967942Z ␛[0;32m}␛[0m
2026-05-05T08:27:56.9968647Z 
2026-05-05T08:27:56.9969314Z TASK [test_mysql_replication : Stop replica] ***********************************
2026-05-05T08:27:57.2979838Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica stopped", "queries": ["STOP REPLICA"]}␛[0m
2026-05-05T08:27:57.2980360Z 
2026-05-05T08:27:57.2980618Z TASK [test_mysql_replication : Reset replica all] ******************************
2026-05-05T08:27:57.5959916Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Replica reset", "queries": ["RESET REPLICA ALL"]}␛[0m
2026-05-05T08:27:57.5960688Z 
2026-05-05T08:27:57.5961068Z TASK [test_mysql_replication : Get primary status] *****************************
2026-05-05T08:27:57.8937011Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000002", "Is_Primary": true, "Position": 1666, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:57.8937725Z 
2026-05-05T08:27:57.8937950Z TASK [test_mysql_replication : Reset primary] **********************************
2026-05-05T08:27:58.1960137Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Primary reset", "queries": ["RESET BINARY LOGS AND GTIDS"]}␛[0m
2026-05-05T08:27:58.1960823Z 
2026-05-05T08:27:58.1961359Z TASK [test_mysql_replication : Assert that reset primary is changed and query matches for MariaDB and MySQL < 8.4] ***
2026-05-05T08:27:58.2670057Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb' or (db_engine == 'mysql' and db_version is version('8.4.0', '<'))\n", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:58.2670914Z 
2026-05-05T08:27:58.2671264Z TASK [test_mysql_replication : Assert that reset primary is changed and query matches for MySQL > 8.4] ***
2026-05-05T08:27:58.3451512Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:58.3451853Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:58.3452160Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:58.3452443Z ␛[0;32m}␛[0m
2026-05-05T08:27:58.3452542Z 
2026-05-05T08:27:58.3452750Z TASK [test_mysql_replication : Get primary status] *****************************
2026-05-05T08:27:58.6354559Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Is_Primary": true, "Position": 158, "changed": false, "queries": []}␛[0m
2026-05-05T08:27:58.6355642Z 
2026-05-05T08:27:58.6355956Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:58.7038841Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:27:58.7039381Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:27:58.7039889Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:27:58.7040321Z ␛[0;32m}␛[0m
2026-05-05T08:27:58.7040477Z 
2026-05-05T08:27:58.7040795Z TASK [test_mysql_replication : include_tasks] **********************************
2026-05-05T08:27:58.8165408Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_replication-r42jc_xd-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_replication/tasks/issue-28.yml for testhost␛[0m
2026-05-05T08:27:58.8166598Z 
2026-05-05T08:27:58.8166898Z TASK [test_mysql_replication : set fact tls_enabled] ***************************
2026-05-05T08:27:59.0838616Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e SHOW VARIABLES LIKE 'have_ssl';"], "delta": "0:00:00.018651", "end": "2026-05-05 08:27:59.050349", "msg": "", "rc": 0, "start": "2026-05-05 08:27:59.031698", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:27:59.0841024Z 
2026-05-05T08:27:59.0841290Z TASK [test_mysql_replication : set_fact] ***************************************
2026-05-05T08:27:59.1730367Z ␛[0;32mok: [testhost] => {"ansible_facts": {"tls_enabled": false}, "changed": false}␛[0m
2026-05-05T08:27:59.1730754Z 
2026-05-05T08:27:59.1730981Z TASK [test_mysql_replication : get server certificate] *************************
2026-05-05T08:27:59.2386646Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.2387529Z 
2026-05-05T08:27:59.2387874Z TASK [test_mysql_replication : Drop mysql user if exists] **********************
2026-05-05T08:27:59.3022765Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.3023818Z 
2026-05-05T08:27:59.3024157Z TASK [test_mysql_replication : create user with ssl requirement] ***************
2026-05-05T08:27:59.3657802Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.3658811Z 
2026-05-05T08:27:59.3659250Z TASK [test_mysql_replication : attempt connection with newly created user (expect failure)] ***
2026-05-05T08:27:59.4291041Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.4291855Z 
2026-05-05T08:27:59.4292175Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:59.4951750Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.4952442Z 
2026-05-05T08:27:59.4952734Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:59.5582064Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.5582875Z 
2026-05-05T08:27:59.5583329Z TASK [test_mysql_replication : attempt connection with newly created user ignoring hostname] ***
2026-05-05T08:27:59.6207965Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.6208982Z 
2026-05-05T08:27:59.6209304Z TASK [test_mysql_replication : assert] *****************************************
2026-05-05T08:27:59.6830127Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.6830726Z 
2026-05-05T08:27:59.6830950Z TASK [test_mysql_replication : Drop mysql user] ********************************
2026-05-05T08:27:59.7475520Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:27:59.7476328Z 
2026-05-05T08:27:59.7476664Z TASK [test_mysql_replication : Get primary status] *****************************
2026-05-05T08:28:00.0544101Z ␛[0;32mok: [testhost] => {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Is_Primary": true, "Position": 158, "changed": false, "queries": []}␛[0m
2026-05-05T08:28:00.0545339Z 
2026-05-05T08:28:00.0545665Z TASK [test_mysql_replication : Run replication] ********************************
2026-05-05T08:28:00.3820573Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.18.0.1',SOURCE_USER='replication_user',SOURCE_PASSWORD='********',SOURCE_PORT=3307,SOURCE_LOG_FILE='primary-bin.000001',SOURCE_LOG_POS=158,SOURCE_SSL=0,SOURCE_SSL_CA=''"], "warning": "(1759, 'Sending passwords in plain text without SSL/TLS is extremely insecure.')"}␛[0m
2026-05-05T08:28:00.3822547Z 
2026-05-05T08:28:00.3822993Z TASK [test_mysql_replication : Assert that changereplication is changed and return expected query] ***
2026-05-05T08:28:00.4640686Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:00.4641029Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:00.4641437Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:00.4641781Z ␛[0;32m}␛[0m
2026-05-05T08:28:00.4641893Z 
2026-05-05T08:28:00.4642105Z TASK [test_mysql_replication : Run replication] ********************************
2026-05-05T08:28:00.7749816Z ␛[0;33mchanged: [testhost] => {"changed": true, "queries": ["CHANGE REPLICATION SOURCE TO SOURCE_USER='replication_user',SOURCE_PASSWORD='********' FOR CHANNEL 'test_channel-1'"], "warning": "(1759, 'Sending passwords in plain text without SSL/TLS is extremely insecure.')"}␛[0m
2026-05-05T08:28:00.7751425Z 
2026-05-05T08:28:00.7752323Z TASK [test_mysql_replication : Assert that changereplication is changed and is called correctly with channel] ***
2026-05-05T08:28:00.8961367Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:00.8962030Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:00.8962666Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:00.8963080Z ␛[0;32m}␛[0m
2026-05-05T08:28:00.8963232Z 
2026-05-05T08:28:00.8963438Z PLAY RECAP *********************************************************************
2026-05-05T08:28:00.8964689Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=111 ␛[0m ␛[0;33mchanged=37  ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=20  ␛[0m rescued=0    ␛[1;35mignored=4   ␛[0m
2026-05-05T08:28:00.8965579Z 
2026-05-05T08:28:00.9522233Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:28:00.9524248Z Running test_mysql_role integration test role
2026-05-05T08:28:00.9564463Z ␛[32mStream command: ansible-playbook test_mysql_role-4sq6tz2r.yml -i inventory --diff -v␛[0m
2026-05-05T08:28:01.6145006Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:28:01.6146283Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-␛[0m
2026-05-05T08:28:01.6147394Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_column_case_sensit␛[0m
2026-05-05T08:28:01.6149074Z ␛[1;35mive.yml, line 67, column 9, found a duplicate dict key (login_user). Using last␛[0m
2026-05-05T08:28:01.6149977Z ␛[1;35mdefined value only.␛[0m
2026-05-05T08:28:01.6150575Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:28:01.6151314Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-␛[0m
2026-05-05T08:28:01.6152077Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_column_case_sensit␛[0m
2026-05-05T08:28:01.6152877Z ␛[1;35mive.yml, line 79, column 9, found a duplicate dict key (login_user). Using last␛[0m
2026-05-05T08:28:01.6153427Z ␛[1;35mdefined value only.␛[0m
2026-05-05T08:28:01.6154003Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:28:01.6154748Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-␛[0m
2026-05-05T08:28:01.6155484Z ␛[1;35mÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_column_case_sensit␛[0m
2026-05-05T08:28:01.6156253Z ␛[1;35mive.yml, line 123, column 9, found a duplicate dict key (login_user). Using␛[0m
2026-05-05T08:28:01.6156792Z ␛[1;35mlast defined value only.␛[0m
2026-05-05T08:28:01.6633580Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:28:01.6634843Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:28:01.6635202Z 
2026-05-05T08:28:01.6635417Z PLAY [testhost] ****************************************************************
2026-05-05T08:28:01.6635777Z 
2026-05-05T08:28:01.6635996Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:28:02.5937809Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:28:02.5938081Z 
2026-05-05T08:28:02.5938574Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:28:02.9575012Z ␛[0;31m--- before␛[0m
2026-05-05T08:28:02.9575525Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:28:02.9575907Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:28:02.9576260Z ␛[0;36m␛[0m {
2026-05-05T08:28:02.9577224Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:28:02.9578339Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:28:02.9578969Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:28:02.9579360Z ␛[0;32m␛[0m }
2026-05-05T08:28:02.9579502Z 
2026-05-05T08:28:02.9581470Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:28:02.9583109Z 
2026-05-05T08:28:02.9583441Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:28:03.2111041Z ␛[0;31m--- before␛[0m
2026-05-05T08:28:03.2111484Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:28:03.2111901Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:28:03.2112292Z ␛[0;36m␛[0m {
2026-05-05T08:28:03.2112645Z ␛[0;31m-    "atime": 1777969683.1758294,␛[0m
2026-05-05T08:28:03.2113165Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969683.1758294,␛[0m
2026-05-05T08:28:03.2113697Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969683.176647,␛[0m
2026-05-05T08:28:03.2114218Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969683.176647,␛[0m
2026-05-05T08:28:03.2115700Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:28:03.2117075Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:28:03.2117498Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:28:03.2117897Z ␛[0;32m␛[0m }
2026-05-05T08:28:03.2118050Z 
2026-05-05T08:28:03.2119954Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:28:03.2121417Z 
2026-05-05T08:28:03.2121780Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:28:04.3270765Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:28:04.3271670Z 
2026-05-05T08:28:04.3272137Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:28:05.0327774Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:28:05.0328070Z 
2026-05-05T08:28:05.0328636Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:28:05.1085638Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:28:05.1086694Z 
2026-05-05T08:28:05.1086955Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:28:05.1820408Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:28:05.1821748Z 
2026-05-05T08:28:05.1822002Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:28:05.2497412Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:05.2497845Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:28:05.2498154Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:28:05.2498754Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:28:05.2499094Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:28:05.2499394Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:28:05.2499706Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:28:05.2500002Z ␛[0;32m    ]␛[0m
2026-05-05T08:28:05.2500200Z ␛[0;32m}␛[0m
2026-05-05T08:28:05.2500310Z 
2026-05-05T08:28:05.2500540Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:28:05.7862760Z ␛[0;32mok: [testhost] => {"changed": false, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/apt/trusted.gpg.d/mysql.asc", "size": 3175, "state": "file", "uid": 0}␛[0m
2026-05-05T08:28:05.7864337Z 
2026-05-05T08:28:05.7864615Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:28:06.7112815Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:28:06.7113488Z 
2026-05-05T08:28:06.7113824Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:28:07.1767103Z ␛[0;32mok: [testhost] => {"changed": false, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:28:07.1769023Z 
2026-05-05T08:28:07.1769308Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:28:32.3010435Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:28:32.3011207Z 
2026-05-05T08:28:32.3011689Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:28:33.1528194Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)\n", "stdout_lines": ["Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:28:33.1533668Z 
2026-05-05T08:28:33.1534114Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:28:33.5911159Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:28:33.5912048Z 
2026-05-05T08:28:33.5912394Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:28:33.6621217Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:33.6621679Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:33.6622088Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:33.6622416Z ␛[0;32m}␛[0m
2026-05-05T08:28:33.6622547Z 
2026-05-05T08:28:33.6622879Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:28:33.7336004Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:33.7336383Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:33.7336722Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:33.7337026Z ␛[0;32m}␛[0m
2026-05-05T08:28:33.7337161Z 
2026-05-05T08:28:33.7337391Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:28:34.0853254Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.014525", "end": "2026-05-05 08:28:34.055119", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:28:34.040594", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:28:34.0855073Z 
2026-05-05T08:28:34.0855349Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:28:34.1607329Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:34.1607897Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:28:34.1608298Z ␛[0;32m}␛[0m
2026-05-05T08:28:34.1608583Z 
2026-05-05T08:28:34.1608840Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:28:34.2362486Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:34.2363022Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:34.2363539Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:34.2364124Z ␛[0;32m}␛[0m
2026-05-05T08:28:34.2364308Z 
2026-05-05T08:28:34.2364639Z TASK [test_mysql_role : include_tasks] *****************************************
2026-05-05T08:28:34.5541436Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/mysql_role_initial.yml for testhost␛[0m
2026-05-05T08:28:34.5543206Z 
2026-05-05T08:28:34.5543489Z TASK [test_mysql_role : Get server version] ************************************
2026-05-05T08:28:34.9934967Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8404992, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}, "test_db": {"size": 16384, "tables": 1}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 3, "Aborted_connects": 0, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 117, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 3, "Bytes_received": 133890, "Bytes_sent": 4571910, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 57, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 0, "Com_alter_user_default_role": 0, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 37, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 5, "Com_create_db": 11, "Com_create_event": 0, "Com_create_function": 0, "Com_create_index": 0, "Com_create_procedure": 1, "Com_create_resource_group": 0, "Com_create_role": 0, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 47, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 25, "Com_create_view": 1, "Com_dealloc_sql": 0, "Com_delete": 2, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 10, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 1, "Com_drop_resource_group": 0, "Com_drop_role": 0, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 0, "Com_drop_trigger": 0, "Com_drop_user": 22, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 4, "Com_get_diagnostics": 0, "Com_grant": 28, "Com_grant_roles": 0, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 5, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 1, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 2, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 1, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 0, "Com_revoke_all": 0, "Com_revoke_roles": 0, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 739, "Com_set_option": 302, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 0, "Com_show_binary_log_status": 10, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 2, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 36, "Com_show_create_trigger": 0, "Com_show_create_user": 69, "Com_show_databases": 3, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 72, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 91, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 4, "Com_show_replicas": 4, "Com_show_status": 5, "Com_show_storage_engines": 4, "Com_show_table_status": 36, "Com_show_tables": 2, "Com_show_triggers": 34, "Com_show_variables": 15, "Com_show_warnings": 13, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 1, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 2, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 184, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 144, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1640, "Error_log_buffered_events": 11, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969652772067, "Flush_commands": 6, "Global_connection_memory": 0, "Handler_commit": 5413, "Handler_delete": 330, "Handler_discover": 0, "Handler_external_lock": 29957, "Handler_mrr_init": 0, "Handler_prepare": 456, "Handler_read_first": 432, "Handler_read_key": 19562, "Handler_read_last": 0, "Handler_read_next": 17135, "Handler_read_prev": 0, "Handler_read_rnd": 582, "Handler_read_rnd_next": 155868, "Handler_rollback": 12, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 4409, "Handler_write": 9330, "Innodb_buffer_pool_bytes_data": 26492928, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1617, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 1323, "Innodb_buffer_pool_pages_free": 6575, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 187, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 75510, "Innodb_buffer_pool_reads": 1155, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 9991, "Innodb_data_fsyncs": 773, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 22104576, "Innodb_data_reads": 1365, "Innodb_data_writes": 2215, "Innodb_data_written": 23292416, "Innodb_dblwr_pages_written": 1182, "Innodb_dblwr_writes": 41, "Innodb_log_waits": 0, "Innodb_log_write_requests": 6318, "Innodb_log_writes": 768, "Innodb_num_open_files": 16, "Innodb_os_log_fsyncs": 595, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 1175552, "Innodb_page_size": 16384, "Innodb_pages_created": 289, "Innodb_pages_read": 1344, "Innodb_pages_written": 1323, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 33165950, "Innodb_redo_log_current_lsn": 33165950, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 33165950, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 6553600, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 1, "Innodb_rows_inserted": 10, "Innodb_rows_read": 32, "Innodb_rows_updated": 2, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 329, "Innodb_system_rows_inserted": 449, "Innodb_system_rows_read": 155400, "Innodb_system_rows_updated": 491, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 3, "Max_used_connections_time": "2026-05-05 08:27:56", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 6, "Open_streams": 0, "Open_table_definitions": 137, "Open_tables": 142, "Opened_files": 6, "Opened_table_definitions": 434, "Opened_tables": 1878, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 179, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 1846, "Questions": 1793, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 49, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 337, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 677, "Sort_scan": 149, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 8, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 8, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 20, "Table_locks_waited": 0, "Table_open_cache_hits": 14177, "Table_open_cache_misses": 1878, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 2, "Threads_connected": 1, "Threads_created": 3, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 524, "Uptime_since_flush_status": 524}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 158}, "server_engine": "MySQL", "settings": {"activate_all_roles_on_login": "OFF", "admin_address": "", "admin_port": 33062, "admin_ssl_ca": "", "admin_ssl_capath": "", "admin_ssl_cert": "", "admin_ssl_cipher": "", "admin_ssl_crl": "", "admin_ssl_crlpath": "", "admin_ssl_key": "", "admin_tls_ciphersuites": "", "admin_tls_version": "TLSv1.2,TLSv1.3", "authentication_policy": "*,,", "auto_generate_certs": "ON", "auto_increment_increment": 1, "auto_increment_offset": 1, "autocommit": "ON", "automatic_sp_privileges": "ON", "back_log": 151, "basedir": "/usr/", "big_tables": "OFF", "bind_address": "*", "binlog_cache_size": 32768, "binlog_checksum": "CRC32", "binlog_direct_non_transactional_updates": "OFF", "binlog_encryption": "OFF", "binlog_error_action": "ABORT_SERVER", "binlog_expire_logs_auto_purge": "ON", "binlog_expire_logs_seconds": 2592000, "binlog_format": "ROW", "binlog_group_commit_sync_delay": 0, "binlog_group_commit_sync_no_delay_count": 0, "binlog_gtid_simple_recovery": "ON", "binlog_max_flush_queue_time": 0, "binlog_order_commits": "ON", "binlog_rotate_encryption_master_key_at_startup": "OFF", "binlog_row_event_max_size": 8192, "binlog_row_image": "FULL", "binlog_row_metadata": "MINIMAL", "binlog_row_value_options": "", "binlog_rows_query_log_events": "OFF", "binlog_stmt_cache_size": 32768, "binlog_transaction_compression": "OFF", "binlog_transaction_compression_level_zstd": 3, "binlog_transaction_dependency_history_size": 25000, "block_encryption_mode": "aes-128-ecb", "build_id": "e1f916ae1a4eb90541cc38cf2dbf277be6107b2c", "bulk_insert_buffer_size": 8388608, "caching_sha2_password_auto_generate_rsa_keys": "ON", "caching_sha2_password_digest_rounds": 5000, "caching_sha2_password_private_key_path": "private_key.pem", "caching_sha2_password_public_key_path": "public_key.pem", "character_set_client": "utf8mb4", "character_set_connection": "utf8mb4", "character_set_database": "utf8mb4", "character_set_filesystem": "binary", "character_set_results": "utf8mb4", "character_set_server": "utf8mb4", "character_set_system": "utf8mb3", "character_sets_dir": "/usr/share/mysql-8.4/charsets/", "check_proxy_users": "OFF", "collation_connection": "utf8mb4_0900_ai_ci", "collation_database": "utf8mb4_0900_ai_ci", "collation_server": "utf8mb4_0900_ai_ci", "completion_type": "NO_CHAIN", "concurrent_insert": "AUTO", "connect_timeout": 10, "connection_memory_chunk_size": 8192, "connection_memory_limit": 18446744073709551615, "core_file": "OFF", "create_admin_listener_thread": "OFF", "cte_max_recursion_depth": 1000, "datadir": "/var/lib/mysql/", "default_collation_for_utf8mb4": "utf8mb4_0900_ai_ci", "default_password_lifetime": 0, "default_storage_engine": "InnoDB", "default_table_encryption": "OFF", "default_tmp_storage_engine": "InnoDB", "default_week_format": 0, "delay_key_write": "ON", "delayed_insert_limit": 100, "delayed_insert_timeout": 300, "delayed_queue_size": 1000, "disabled_storage_engines": "", "disconnect_on_expired_password": "ON", "div_precision_increment": 4, "end_markers_in_json": "OFF", "enforce_gtid_consistency": "OFF", "eq_range_index_dive_limit": 200, "event_scheduler": "ON", "explain_format": "TRADITIONAL", "explain_json_format_version": 1, "explicit_defaults_for_timestamp": "ON", "flush": "OFF", "flush_time": 0, "foreign_key_checks": "ON", "ft_boolean_syntax": "+ -><()~*:\"\"&|", "ft_max_word_len": 84, "ft_min_word_len": 4, "ft_query_expansion_limit": 20, "ft_stopword_file": "(built-in)", "general_log": "OFF", "general_log_file": "/var/lib/mysql/7fb66b4ace44.log", "generated_random_password_length": 20, "global_connection_memory_limit": 18446744073709551615, "global_connection_memory_tracking": "OFF", "group_concat_max_len": 1024, "group_replication_consistency": "BEFORE_ON_PRIMARY_FAILOVER", "gtid_executed": "", "gtid_executed_compression_period": 0, "gtid_mode": "OFF", "gtid_owned": "", "gtid_purged": "", "have_compress": "YES", "have_dynamic_loading": "YES", "have_geometry": "YES", "have_profiling": "YES", "have_query_cache": "NO", "have_rtree_keys": "YES", "have_statement_timeout": "YES", "have_symlink": "DISABLED", "histogram_generation_max_mem_size": 20000000, "host_cache_size": 0, "hostname": "7fb66b4ace44", "information_schema_stats_expiry": 86400, "init_connect": "", "init_file": "", "init_replica": "", "init_slave": "", "innodb_adaptive_flushing": "ON", "innodb_adaptive_flushing_lwm": 10, "innodb_adaptive_hash_index": "OFF", "innodb_adaptive_hash_index_parts": 8, "innodb_adaptive_max_sleep_delay": 150000, "innodb_api_bk_commit_interval": 5, "innodb_api_disable_rowlock": "OFF", "innodb_api_enable_binlog": "OFF", "innodb_api_enable_mdl": "OFF", "innodb_api_trx_level": 0, "innodb_autoextend_increment": 64, "innodb_autoinc_lock_mode": 2, "innodb_buffer_pool_chunk_size": 134217728, "innodb_buffer_pool_dump_at_shutdown": "ON", "innodb_buffer_pool_dump_now": "OFF", "innodb_buffer_pool_dump_pct": 25, "innodb_buffer_pool_filename": "ib_buffer_pool", "innodb_buffer_pool_in_core_file": "OFF", "innodb_buffer_pool_instances": 1, "innodb_buffer_pool_load_abort": "OFF", "innodb_buffer_pool_load_at_startup": "ON", "innodb_buffer_pool_load_now": "OFF", "innodb_buffer_pool_size": 134217728, "innodb_change_buffer_max_size": 25, "innodb_change_buffering": "none", "innodb_checksum_algorithm": "crc32", "innodb_cmp_per_index_enabled": "OFF", "innodb_commit_concurrency": 0, "innodb_compression_failure_threshold_pct": 5, "innodb_compression_level": 6, "innodb_compression_pad_pct_max": 50, "innodb_concurrency_tickets": 5000, "innodb_data_file_path": "ibdata1:12M:autoextend", "innodb_data_home_dir": "", "innodb_ddl_buffer_size": 1048576, "innodb_ddl_threads": 4, "innodb_deadlock_detect": "ON", "innodb_dedicated_server": "OFF", "innodb_default_row_format": "dynamic", "innodb_directories": "", "innodb_disable_sort_file_cache": "OFF", "innodb_doublewrite": "ON", "innodb_doublewrite_batch_size": 0, "innodb_doublewrite_dir": "", "innodb_doublewrite_files": 2, "innodb_doublewrite_pages": 128, "innodb_extend_and_initialize": "ON", "innodb_fast_shutdown": 1, "innodb_file_per_table": "ON", "innodb_fill_factor": 100, "innodb_flush_log_at_timeout": 1, "innodb_flush_log_at_trx_commit": 1, "innodb_flush_method": "O_DIRECT", "innodb_flush_neighbors": 0, "innodb_flush_sync": "ON", "innodb_flushing_avg_loops": 30, "innodb_force_load_corrupted": "OFF", "innodb_force_recovery": 0, "innodb_fsync_threshold": 0, "innodb_ft_aux_table": "", "innodb_ft_cache_size": 8000000, "innodb_ft_enable_diag_print": "OFF", "innodb_ft_enable_stopword": "ON", "innodb_ft_max_token_size": 84, "innodb_ft_min_token_size": 3, "innodb_ft_num_word_optimize": 2000, "innodb_ft_result_cache_limit": 2000000000, "innodb_ft_server_stopword_table": "", "innodb_ft_sort_pll_degree": 2, "innodb_ft_total_cache_size": 640000000, "innodb_ft_user_stopword_table": "", "innodb_idle_flush_pct": 100, "innodb_io_capacity": 10000, "innodb_io_capacity_max": 20000, "innodb_lock_wait_timeout": 50, "innodb_log_buffer_size": 67108864, "innodb_log_checksums": "ON", "innodb_log_compressed_pages": "ON", "innodb_log_file_size": 50331648, "innodb_log_files_in_group": 2, "innodb_log_group_home_dir": "./", "innodb_log_spin_cpu_abs_lwm": 80, "innodb_log_spin_cpu_pct_hwm": 50, "innodb_log_wait_for_flush_spin_hwm": 400, "innodb_log_write_ahead_size": 8192, "innodb_log_writer_threads": "ON", "innodb_lru_scan_depth": 1024, "innodb_max_dirty_pages_pct": "90.000000", "innodb_max_dirty_pages_pct_lwm": "10.000000", "innodb_max_purge_lag": 0, "innodb_max_purge_lag_delay": 0, "innodb_max_undo_log_size": 1073741824, "innodb_monitor_disable": "", "innodb_monitor_enable": "", "innodb_monitor_reset": "", "innodb_monitor_reset_all": "", "innodb_old_blocks_pct": 37, "innodb_old_blocks_time": 1000, "innodb_online_alter_log_max_size": 134217728, "innodb_open_files": 4000, "innodb_optimize_fulltext_only": "OFF", "innodb_page_cleaners": 1, "innodb_page_size": 16384, "innodb_parallel_read_threads": 4, "innodb_print_all_deadlocks": "OFF", "innodb_print_ddl_logs": "OFF", "innodb_purge_batch_size": 300, "innodb_purge_rseg_truncate_frequency": 128, "innodb_purge_threads": 1, "innodb_random_read_ahead": "OFF", "innodb_read_ahead_threshold": 56, "innodb_read_io_threads": 4, "innodb_read_only": "OFF", "innodb_redo_log_archive_dirs": "", "innodb_redo_log_capacity": 104857600, "innodb_redo_log_encrypt": "OFF", "innodb_replication_delay": 0, "innodb_rollback_on_timeout": "OFF", "innodb_rollback_segments": 128, "innodb_segment_reserve_factor": "12.500000", "innodb_sort_buffer_size": 1048576, "innodb_spin_wait_delay": 6, "innodb_spin_wait_pause_multiplier": 50, "innodb_stats_auto_recalc": "ON", "innodb_stats_include_delete_marked": "OFF", "innodb_stats_method": "nulls_equal", "innodb_stats_on_metadata": "OFF", "innodb_stats_persistent": "ON", "innodb_stats_persistent_sample_pages": 20, "innodb_stats_transient_sample_pages": 8, "innodb_status_output": "OFF", "innodb_status_output_locks": "OFF", "innodb_strict_mode": "ON", "innodb_sync_array_size": 1, "innodb_sync_spin_loops": 30, "innodb_table_locks": "ON", "innodb_temp_data_file_path": "ibtmp1:12M:autoextend", "innodb_temp_tablespaces_dir": "./#innodb_temp/", "innodb_thread_concurrency": 0, "innodb_thread_sleep_delay": 10000, "innodb_tmpdir": "", "innodb_undo_directory": "./", "innodb_undo_log_encrypt": "OFF", "innodb_undo_log_truncate": "ON", "innodb_undo_tablespaces": 2, "innodb_use_fdatasync": "ON", "innodb_use_native_aio": "ON", "innodb_validate_tablespace_paths": "ON", "innodb_version": "8.4.1", "innodb_write_io_threads": 4, "interactive_timeout": 28800, "internal_tmp_mem_storage_engine": "TempTable", "join_buffer_size": 262144, "keep_files_on_create": "OFF", "key_buffer_size": 8388608, "key_cache_age_threshold": 300, "key_cache_block_size": 1024, "key_cache_division_limit": 100, "keyring_operations": "ON", "large_files_support": "ON", "large_page_size": 0, "large_pages": "OFF", "lc_messages": "en_US", "lc_messages_dir": "/usr/share/mysql-8.4/", "lc_time_names": "en_US", "license": "GPL", "local_infile": "OFF", "lock_wait_timeout": 31536000, "locked_in_memory": "OFF", "log_bin": "ON", "log_bin_basename": "/var/lib/mysql/primary-bin", "log_bin_index": "/var/lib/mysql/primary-bin.index", "log_bin_trust_function_creators": "OFF", "log_error": "stderr", "log_error_services": "log_filter_internal; log_sink_internal", "log_error_suppression_list": "", "log_error_verbosity": 2, "log_output": "FILE", "log_queries_not_using_indexes": "OFF", "log_raw": "OFF", "log_replica_updates": "ON", "log_slave_updates": "ON", "log_slow_admin_statements": "OFF", "log_slow_extra": "OFF", "log_slow_replica_statements": "OFF", "log_slow_slave_statements": "OFF", "log_statements_unsafe_for_binlog": "ON", "log_throttle_queries_not_using_indexes": 0, "log_timestamps": "UTC", "long_query_time": "10.000000", "low_priority_updates": "OFF", "lower_case_file_system": "OFF", "lower_case_table_names": 0, "mandatory_roles": "", "master_verify_checksum": "OFF", "max_allowed_packet": 67108864, "max_binlog_cache_size": 18446744073709547520, "max_binlog_size": 1073741824, "max_binlog_stmt_cache_size": 18446744073709547520, "max_connect_errors": 100, "max_connections": 151, "max_delayed_threads": 20, "max_digest_length": 1024, "max_error_count": 1024, "max_execution_time": 0, "max_heap_table_size": 16777216, "max_insert_delayed_threads": 20, "max_join_size": 18446744073709551615, "max_length_for_sort_data": 4096, "max_points_in_geometry": 65536, "max_prepared_stmt_count": 16382, "max_relay_log_size": 0, "max_seeks_for_key": 18446744073709551615, "max_sort_length": 1024, "max_sp_recursion_depth": 0, "max_user_connections": 0, "max_write_lock_count": 18446744073709551615, "min_examined_row_limit": 0, "myisam_data_pointer_size": 6, "myisam_max_sort_file_size": 9223372036853727232, "myisam_mmap_size": 18446744073709551615, "myisam_recover_options": "OFF", "myisam_sort_buffer_size": 8388608, "myisam_stats_method": "nulls_unequal", "myisam_use_mmap": "OFF", "mysql_native_password_proxy_users": "OFF", "mysqlx_bind_address": "*", "mysqlx_compression_algorithms": "DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM", "mysqlx_connect_timeout": 30, "mysqlx_deflate_default_compression_level": 3, "mysqlx_deflate_max_client_compression_level": 5, "mysqlx_document_id_unique_prefix": 0, "mysqlx_enable_hello_notice": "ON", "mysqlx_idle_worker_thread_timeout": 60, "mysqlx_interactive_timeout": 28800, "mysqlx_lz4_default_compression_level": 2, "mysqlx_lz4_max_client_compression_level": 8, "mysqlx_max_allowed_packet": 67108864, "mysqlx_max_connections": 100, "mysqlx_min_worker_threads": 2, "mysqlx_port": 33060, "mysqlx_port_open_timeout": 0, "mysqlx_read_timeout": 30, "mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "mysqlx_ssl_ca": "", "mysqlx_ssl_capath": "", "mysqlx_ssl_cert": "", "mysqlx_ssl_cipher": "", "mysqlx_ssl_crl": "", "mysqlx_ssl_crlpath": "", "mysqlx_ssl_key": "", "mysqlx_wait_timeout": 28800, "mysqlx_write_timeout": 60, "mysqlx_zstd_default_compression_level": 3, "mysqlx_zstd_max_client_compression_level": 11, "net_buffer_length": 16384, "net_read_timeout": 30, "net_retry_count": 10, "net_write_timeout": 60, "ngram_token_size": 2, "offline_mode": "OFF", "old_alter_table": "OFF", "open_files_limit": 65536, "optimizer_max_subgraph_pairs": 100000, "optimizer_prune_level": 1, "optimizer_search_depth": 62, "optimizer_switch": "index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on", "optimizer_trace": "enabled=off,one_line=off", "optimizer_trace_features": "greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on", "optimizer_trace_limit": 1, "optimizer_trace_max_mem_size": 1048576, "optimizer_trace_offset": -1, "parser_max_mem_size": 18446744073709551615, "partial_revokes": "OFF", "password_history": 0, "password_require_current": "OFF", "password_reuse_interval": 0, "performance_schema": "ON", "performance_schema_accounts_size": -1, "performance_schema_digests_size": 10000, "performance_schema_error_size": 5538, "performance_schema_events_stages_history_long_size": 10000, "performance_schema_events_stages_history_size": 10, "performance_schema_events_statements_history_long_size": 10000, "performance_schema_events_statements_history_size": 10, "performance_schema_events_transactions_history_long_size": 10000, "performance_schema_events_transactions_history_size": 10, "performance_schema_events_waits_history_long_size": 10000, "performance_schema_events_waits_history_size": 10, "performance_schema_hosts_size": -1, "performance_schema_max_cond_classes": 150, "performance_schema_max_cond_instances": -1, "performance_schema_max_digest_length": 1024, "performance_schema_max_digest_sample_age": 60, "performance_schema_max_file_classes": 80, "performance_schema_max_file_handles": 32768, "performance_schema_max_file_instances": -1, "performance_schema_max_index_stat": -1, "performance_schema_max_memory_classes": 470, "performance_schema_max_metadata_locks": -1, "performance_schema_max_meter_classes": 30, "performance_schema_max_metric_classes": 600, "performance_schema_max_mutex_classes": 350, "performance_schema_max_mutex_instances": -1, "performance_schema_max_prepared_statements_instances": -1, "performance_schema_max_program_instances": -1, "performance_schema_max_rwlock_classes": 100, "performance_schema_max_rwlock_instances": -1, "performance_schema_max_socket_classes": 10, "performance_schema_max_socket_instances": -1, "performance_schema_max_sql_text_length": 1024, "performance_schema_max_stage_classes": 175, "performance_schema_max_statement_classes": 220, "performance_schema_max_statement_stack": 10, "performance_schema_max_table_handles": -1, "performance_schema_max_table_instances": -1, "performance_schema_max_table_lock_stat": -1, "performance_schema_max_thread_classes": 100, "performance_schema_max_thread_instances": -1, "performance_schema_session_connect_attrs_size": 512, "performance_schema_setup_actors_size": -1, "performance_schema_setup_objects_size": -1, "performance_schema_show_processlist": "OFF", "performance_schema_users_size": -1, "persist_only_admin_x509_subject": "", "persist_sensitive_variables_in_plaintext": "ON", "persisted_globals_load": "ON", "pid_file": "/var/run/mysqld/mysqld.pid", "plugin_dir": "/usr/lib64/mysql/plugin/", "port": 3306, "preload_buffer_size": 32768, "print_identified_with_as_hex": "OFF", "profiling": "OFF", "profiling_history_size": 15, "protocol_compression_algorithms": "zlib,zstd,uncompressed", "protocol_version": 10, "query_alloc_block_size": 8192, "query_prealloc_size": 8192, "range_alloc_block_size": 4096, "range_optimizer_max_mem_size": 8388608, "rbr_exec_mode": "STRICT", "read_buffer_size": 131072, "read_only": "OFF", "read_rnd_buffer_size": 262144, "regexp_stack_limit": 8000000, "regexp_time_limit": 32, "relay_log": "7fb66b4ace44-relay-bin", "relay_log_basename": "/var/lib/mysql/7fb66b4ace44-relay-bin", "relay_log_index": "/var/lib/mysql/7fb66b4ace44-relay-bin.index", "relay_log_purge": "ON", "relay_log_recovery": "OFF", "relay_log_space_limit": 0, "replica_allow_batching": "ON", "replica_checkpoint_group": 512, "replica_checkpoint_period": 300, "replica_compressed_protocol": "OFF", "replica_exec_mode": "STRICT", "replica_load_tmpdir": "/tmp", "replica_max_allowed_packet": 1073741824, "replica_net_timeout": 60, "replica_parallel_type": "LOGICAL_CLOCK", "replica_parallel_workers": 4, "replica_pending_jobs_size_max": 134217728, "replica_preserve_commit_order": "ON", "replica_skip_errors": "OFF", "replica_sql_verify_checksum": "ON", "replica_transaction_retries": 10, "replica_type_conversions": "", "replication_optimize_for_static_plugin_config": "OFF", "replication_sender_observe_commit_only": "OFF", "report_host": "", "report_password": "", "report_port": 3306, "report_user": "", "require_secure_transport": "OFF", "restrict_fk_on_non_standard_key": "ON", "rpl_read_size": 8192, "rpl_stop_replica_timeout": 31536000, "rpl_stop_slave_timeout": 31536000, "schema_definition_cache": 256, "secondary_engine_cost_threshold": "100000.000000", "secure_file_priv": "/var/lib/mysql-files/", "select_into_buffer_size": 131072, "select_into_disk_sync": "OFF", "select_into_disk_sync_delay": 0, "server_id": 1, "server_id_bits": 32, "server_uuid": "25bcc386-485b-11f1-93ba-aa1a9528f026", "session_track_gtids": "OFF", "session_track_schema": "ON", "session_track_state_change": "OFF", "session_track_system_variables": "time_zone,autocommit,character_set_client,character_set_results,character_set_connection", "session_track_transaction_info": "OFF", "set_operations_buffer_size": 262144, "sha256_password_auto_generate_rsa_keys": "ON", "sha256_password_private_key_path": "private_key.pem", "sha256_password_proxy_users": "OFF", "sha256_password_public_key_path": "public_key.pem", "show_create_table_verbosity": "OFF", "show_gipk_in_create_table_and_information_schema": "ON", "skip_external_locking": "ON", "skip_name_resolve": "ON", "skip_networking": "OFF", "skip_replica_start": "OFF", "skip_show_database": "OFF", "skip_slave_start": "OFF", "slave_allow_batching": "ON", "slave_checkpoint_group": 512, "slave_checkpoint_period": 300, "slave_compressed_protocol": "OFF", "slave_exec_mode": "STRICT", "slave_load_tmpdir": "/tmp", "slave_max_allowed_packet": 1073741824, "slave_net_timeout": 60, "slave_parallel_type": "LOGICAL_CLOCK", "slave_parallel_workers": 4, "slave_pending_jobs_size_max": 134217728, "slave_preserve_commit_order": "ON", "slave_skip_errors": "OFF", "slave_sql_verify_checksum": "ON", "slave_transaction_retries": 10, "slave_type_conversions": "", "slow_launch_time": 2, "slow_query_log": "OFF", "slow_query_log_file": "/var/lib/mysql/7fb66b4ace44-slow.log", "socket": "/var/run/mysqld/mysqld.sock", "sort_buffer_size": 262144, "source_verify_checksum": "OFF", "sql_auto_is_null": "OFF", "sql_big_selects": "ON", "sql_buffer_result": "OFF", "sql_generate_invisible_primary_key": "OFF", "sql_log_off": "OFF", "sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "sql_notes": "ON", "sql_quote_show_create": "ON", "sql_replica_skip_counter": 0, "sql_require_primary_key": "OFF", "sql_safe_updates": "OFF", "sql_select_limit": 18446744073709551615, "sql_slave_skip_counter": 0, "sql_warnings": "OFF", "ssl_ca": "ca.pem", "ssl_capath": "", "ssl_cert": "server-cert.pem", "ssl_cipher": "", "ssl_crl": "", "ssl_crlpath": "", "ssl_fips_mode": "OFF", "ssl_key": "server-key.pem", "ssl_session_cache_mode": "ON", "ssl_session_cache_timeout": 300, "stored_program_cache": 256, "stored_program_definition_cache": 256, "super_read_only": "OFF", "sync_binlog": 1, "sync_master_info": 10000, "sync_relay_log": 10000, "sync_relay_log_info": 10000, "sync_source_info": 10000, "system_time_zone": "UTC", "table_definition_cache": 2000, "table_encryption_privilege_check": "OFF", "table_open_cache": 4000, "table_open_cache_instances": 16, "tablespace_definition_cache": 256, "temptable_max_mmap": 0, "temptable_max_ram": 1073741824, "temptable_use_mmap": "OFF", "terminology_use_previous": "NONE", "thread_cache_size": 9, "thread_handling": "one-thread-per-connection", "thread_stack": 1048576, "time_zone": "SYSTEM", "tls_certificates_enforced_validation": "OFF", "tls_ciphersuites": "", "tls_version": "TLSv1.2,TLSv1.3", "tmp_table_size": 16777216, "tmpdir": "/tmp", "transaction_alloc_block_size": 8192, "transaction_isolation": "REPEATABLE-READ", "transaction_prealloc_size": 4096, "transaction_read_only": "OFF", "unique_checks": "ON", "updatable_views_with_limit": "YES", "version": "8.4.1", "version_comment": "MySQL Community Server - GPL", "version_compile_machine": "x86_64", "version_compile_os": "Linux", "version_compile_zlib": "1.2.13", "wait_timeout": 28800, "windowing_use_high_precision": "ON", "xa_detach_on_prepare": "ON"}, "slave_hosts": {}, "slave_status": {}, "users": {"%": {"root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}, "users_info": [{"host": "%", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "172.18.0.1", "name": "replication_user", "plugin": "mysql_native_password", "plugin_hash_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "priv": "*.*:REPLICATION SLAVE"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "users_info.com", "name": "users_info_caching_sha2", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "users_info.com", "name": "users_info_sha256", "plugin": "sha256_password", "plugin_hash_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:28:35.0113036Z 
2026-05-05T08:28:35.0113286Z TASK [test_mysql_role : When run with unsupported server versions, must fail] ***
2026-05-05T08:28:35.3934587Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:35.3934960Z 
2026-05-05T08:28:35.3935277Z TASK [test_mysql_role : Must fail when meet unsupported version] ***************
2026-05-05T08:28:35.4747693Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "srv['version']['major'] < 8", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:35.4748765Z 
2026-05-05T08:28:35.4749093Z TASK [test_mysql_role : Skip unsupported versions] *****************************
2026-05-05T08:28:35.4750273Z ␛[0;36mskipping: [testhost] => {"msg": "end_play", "skip_reason": "end_play conditional evaluated to False, continuing play"}␛[0m
2026-05-05T08:28:35.4750967Z 
2026-05-05T08:28:35.4751249Z TASK [test_mysql_role : Create db test_db] *************************************
2026-05-05T08:28:35.8522421Z ␛[0;32mok: [testhost] => {"changed": false, "db": "test_db", "db_list": ["test_db"], "executed_commands": []}␛[0m
2026-05-05T08:28:35.8522862Z 
2026-05-05T08:28:35.8523072Z TASK [test_mysql_role : Create table test_table] *******************************
2026-05-05T08:28:36.2199640Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["DROP TABLE IF EXISTS test_table"], "execution_time_ms": [4.7616], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:28:36.2200687Z 
2026-05-05T08:28:36.2201026Z TASK [test_mysql_role : Create table test_table] *******************************
2026-05-05T08:28:36.5042164Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE IF NOT EXISTS test_table (id int)"], "execution_time_ms": [6.6942], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:28:36.5042863Z 
2026-05-05T08:28:36.5043057Z TASK [test_mysql_role : Create users] ******************************************
2026-05-05T08:28:37.4078727Z ␛[0;33mchanged: [testhost] => (item=user0) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "user0", "msg": "User added", "password_changed": true, "user": "user0"}␛[0m
2026-05-05T08:28:37.4080887Z ␛[0;33mchanged: [testhost] => (item=user1) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "user1", "msg": "User added", "password_changed": true, "user": "user1"}␛[0m
2026-05-05T08:28:37.4082980Z ␛[0;33mchanged: [testhost] => (item=user2) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "user2", "msg": "User added", "password_changed": true, "user": "user2"}␛[0m
2026-05-05T08:28:37.4084029Z 
2026-05-05T08:28:37.4084347Z TASK [test_mysql_role : Create role0 in check_mode] ****************************
2026-05-05T08:28:37.7070732Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:37.7071108Z 
2026-05-05T08:28:37.7071412Z TASK [test_mysql_role : Assert that create role0 is changed] *******************
2026-05-05T08:28:37.7851916Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:37.7852447Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:37.7852940Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:37.7853364Z ␛[0;32m}␛[0m
2026-05-05T08:28:37.7853514Z 
2026-05-05T08:28:37.7853783Z TASK [test_mysql_role : Check in DB] *******************************************
2026-05-05T08:28:38.0607659Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.5593], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:28:38.0609087Z 
2026-05-05T08:28:38.0609408Z TASK [test_mysql_role : Assert that user is not in mysql.user] *****************
2026-05-05T08:28:38.1286952Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:38.1287456Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:38.1287940Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:38.1288603Z ␛[0;32m}␛[0m
2026-05-05T08:28:38.1288767Z 
2026-05-05T08:28:38.1289154Z TASK [test_mysql_role : Check in DB, if not granted, the query will fail (expect failure)] ***
2026-05-05T08:28:38.4237902Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user0@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user0`@`%`')"}␛[0m
2026-05-05T08:28:38.4239194Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:38.4239402Z 
2026-05-05T08:28:38.4239627Z TASK [test_mysql_role : Assert that show grants is failed] *********************
2026-05-05T08:28:38.4978113Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:38.4979347Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:38.4979844Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:38.4980300Z ␛[0;32m}␛[0m
2026-05-05T08:28:38.4980461Z 
2026-05-05T08:28:38.4980759Z TASK [test_mysql_role : Check in DB (mariadb)] *********************************
2026-05-05T08:28:38.5618760Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:38.5619668Z 
2026-05-05T08:28:38.5620058Z TASK [test_mysql_role : Assert that user is not in mysql.roles_mapping (mariadb)] ***
2026-05-05T08:28:38.6237360Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:38.6238233Z 
2026-05-05T08:28:38.6238794Z TASK [test_mysql_role : Check that the user have no active roles] **************
2026-05-05T08:28:38.8977037Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT COALESCE(current_role(), \"NONE\") as \"current_role()\""], "execution_time_ms": [0.367], "query_result": [[{"current_role()": "NONE"}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:38.8977867Z 
2026-05-05T08:28:38.8978082Z TASK [test_mysql_role : Assert that the user have no active roles] *************
2026-05-05T08:28:38.9653743Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:38.9654114Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:38.9654459Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:38.9654772Z ␛[0;32m}␛[0m
2026-05-05T08:28:38.9654886Z 
2026-05-05T08:28:38.9655099Z TASK [test_mysql_role : Create role role0] *************************************
2026-05-05T08:28:39.2788670Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:39.2789074Z 
2026-05-05T08:28:39.2789394Z TASK [test_mysql_role : Assert that create role is changed] ********************
2026-05-05T08:28:39.3537358Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:39.3537871Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:39.3538346Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:39.3539045Z ␛[0;32m}␛[0m
2026-05-05T08:28:39.3539222Z 
2026-05-05T08:28:39.3539524Z TASK [test_mysql_role : Check in DB] *******************************************
2026-05-05T08:28:39.6374322Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.5493], "query_result": [[{"1": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:39.6375412Z 
2026-05-05T08:28:39.6375738Z TASK [test_mysql_role : Assert that role0 is in mysql.user] ********************
2026-05-05T08:28:39.7073835Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:39.7074318Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:39.7074757Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:39.7075162Z ␛[0;32m}␛[0m
2026-05-05T08:28:39.7075312Z 
2026-05-05T08:28:39.7075982Z TASK [test_mysql_role : Query role0, if not granted, the query will fail] ******
2026-05-05T08:28:39.9905172Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.3621], "query_result": [[{"Grants for user0@%": "GRANT USAGE ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:28:39.9906708Z 
2026-05-05T08:28:39.9907048Z TASK [test_mysql_role : Assert that show grants is succeeded (mysql)] **********
2026-05-05T08:28:40.0658183Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:40.0658980Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:40.0659445Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:40.0659898Z ␛[0;32m}␛[0m
2026-05-05T08:28:40.0660054Z 
2026-05-05T08:28:40.0660371Z TASK [test_mysql_role : Check in DB (mariadb)] *********************************
2026-05-05T08:28:40.1289703Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:40.1290329Z 
2026-05-05T08:28:40.1290575Z TASK [test_mysql_role : Assert that role is in mysql.roles_mapping (mariadb)] ***
2026-05-05T08:28:40.1919824Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:40.1920431Z 
2026-05-05T08:28:40.1920649Z TASK [test_mysql_role : Check that the role is active] *************************
2026-05-05T08:28:40.4697763Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT current_role()"], "execution_time_ms": [0.3675], "query_result": [[{"current_role()": "`role0`@`%`"}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:40.4698770Z 
2026-05-05T08:28:40.4699008Z TASK [test_mysql_role : Assert that current_role() returns role0] **************
2026-05-05T08:28:40.5404155Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:40.5404489Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:40.5404851Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:40.5405134Z ␛[0;32m}␛[0m
2026-05-05T08:28:40.5405242Z 
2026-05-05T08:28:40.5405450Z TASK [test_mysql_role : Check that the role is active (mariadb)] ***************
2026-05-05T08:28:40.6048916Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:40.6049762Z 
2026-05-05T08:28:40.6050095Z TASK [test_mysql_role : Assert that role is active (mariadb)] ******************
2026-05-05T08:28:40.6679428Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:40.6680292Z 
2026-05-05T08:28:40.6680739Z TASK [test_mysql_role : Create role role0 again in check_mode] *****************
2026-05-05T08:28:40.9675432Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:40.9675784Z 
2026-05-05T08:28:40.9676139Z TASK [test_mysql_role : Assert that create role role0 again is not changed] ****
2026-05-05T08:28:41.0439445Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:41.0439947Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:41.0440400Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:41.0440830Z ␛[0;32m}␛[0m
2026-05-05T08:28:41.0440977Z 
2026-05-05T08:28:41.0441258Z TASK [test_mysql_role : Check in DB] *******************************************
2026-05-05T08:28:41.3241924Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.5716], "query_result": [[{"1": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:41.3242669Z 
2026-05-05T08:28:41.3242899Z TASK [test_mysql_role : Assert that role role0 is present in the database] *****
2026-05-05T08:28:41.3942285Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:41.3942670Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:41.3943014Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:41.3943652Z ␛[0;32m}␛[0m
2026-05-05T08:28:41.3943925Z 
2026-05-05T08:28:41.3944165Z TASK [test_mysql_role : Query role0, if not granted, the query will fail (2)] ***
2026-05-05T08:28:41.6701793Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.3608], "query_result": [[{"Grants for user0@%": "GRANT USAGE ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:28:41.6703348Z 
2026-05-05T08:28:41.6703697Z TASK [test_mysql_role : Assert that query for the role0 is succeeded for mysql (2)] ***
2026-05-05T08:28:41.7440651Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:41.7441137Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:41.7441603Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:41.7442030Z ␛[0;32m}␛[0m
2026-05-05T08:28:41.7442195Z 
2026-05-05T08:28:41.7442501Z TASK [test_mysql_role : Check in DB (mariadb)] *********************************
2026-05-05T08:28:41.8077362Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:41.8078237Z 
2026-05-05T08:28:41.8078796Z TASK [test_mysql_role : Assert that query for the role0 is succeeded for mariadb] ***
2026-05-05T08:28:41.8732055Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:41.8732904Z 
2026-05-05T08:28:41.8733212Z TASK [test_mysql_role : Create role0 again] ************************************
2026-05-05T08:28:42.1949097Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:42.1949501Z 
2026-05-05T08:28:42.1949838Z TASK [test_mysql_role : Assert that create role0 again is not changed] *********
2026-05-05T08:28:42.2683217Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:42.2683690Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:42.2684142Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:42.2684592Z ␛[0;32m}␛[0m
2026-05-05T08:28:42.2684746Z 
2026-05-05T08:28:42.2685025Z TASK [test_mysql_role : Query role0] *******************************************
2026-05-05T08:28:42.5579384Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.5008], "query_result": [[{"1": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:42.5580412Z 
2026-05-05T08:28:42.5580711Z TASK [test_mysql_role : Assert that role0 is in DB] ****************************
2026-05-05T08:28:42.6314849Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:42.6315293Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:42.6315711Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:42.6316102Z ␛[0;32m}␛[0m
2026-05-05T08:28:42.6316241Z 
2026-05-05T08:28:42.6316524Z TASK [test_mysql_role : Drop role0 in check_mode] ******************************
2026-05-05T08:28:42.9391970Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:42.9392340Z 
2026-05-05T08:28:42.9392633Z TASK [test_mysql_role : Assert that drop role0 in check_mode is changed] *******
2026-05-05T08:28:43.0136246Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:43.0136735Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:43.0137196Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:43.0137611Z ␛[0;32m}␛[0m
2026-05-05T08:28:43.0137773Z 
2026-05-05T08:28:43.0138072Z TASK [test_mysql_role : Query role0] *******************************************
2026-05-05T08:28:43.3000046Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.6015], "query_result": [[{"1": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:43.3001562Z 
2026-05-05T08:28:43.3001861Z TASK [test_mysql_role : Assert that role0 is in DB] ****************************
2026-05-05T08:28:43.3757541Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:43.3758134Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:43.3759212Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:43.3759609Z ␛[0;32m}␛[0m
2026-05-05T08:28:43.3759750Z 
2026-05-05T08:28:43.3760053Z TASK [test_mysql_role : Query role0, if not granted, the query will fail (3)] ***
2026-05-05T08:28:43.6593704Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.367], "query_result": [[{"Grants for user0@%": "GRANT USAGE ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:28:43.6595199Z 
2026-05-05T08:28:43.6595586Z TASK [test_mysql_role : Assert that role0 is still in mysql after drop in check_mode (3)] ***
2026-05-05T08:28:43.7382393Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:43.7383127Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:43.7383871Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:43.7384564Z ␛[0;32m}␛[0m
2026-05-05T08:28:43.7384812Z 
2026-05-05T08:28:43.7385389Z TASK [test_mysql_role : Query count for user0 and role0 (mariadb)] *************
2026-05-05T08:28:43.8033465Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:43.8034299Z 
2026-05-05T08:28:43.8034678Z TASK [test_mysql_role : Assert that role0 is still in mariadb after drop in check_mode] ***
2026-05-05T08:28:43.8697881Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:43.8699272Z 
2026-05-05T08:28:43.8699517Z TASK [test_mysql_role : Drop role0] ********************************************
2026-05-05T08:28:44.1937156Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:44.1937553Z 
2026-05-05T08:28:44.1937863Z TASK [test_mysql_role : Assert that drop role0 is changed] *********************
2026-05-05T08:28:44.2689368Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:44.2689825Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:44.2690249Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:44.2690733Z ␛[0;32m}␛[0m
2026-05-05T08:28:44.2690912Z 
2026-05-05T08:28:44.2691201Z TASK [test_mysql_role : Query role0] *******************************************
2026-05-05T08:28:44.5565834Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.4967], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:28:44.5566812Z 
2026-05-05T08:28:44.5567142Z TASK [test_mysql_role : Assert that role0 is absent from db] *******************
2026-05-05T08:28:44.6284638Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:44.6285093Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:44.6285555Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:44.6285992Z ␛[0;32m}␛[0m
2026-05-05T08:28:44.6286143Z 
2026-05-05T08:28:44.6286517Z TASK [test_mysql_role : Query grants for role0, if not granted, the query will fail] ***
2026-05-05T08:28:44.9139892Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user0@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user0`@`%`')"}␛[0m
2026-05-05T08:28:44.9140941Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:44.9141117Z 
2026-05-05T08:28:44.9141380Z TASK [test_mysql_role : Assert that query for role0 in mysql is failed] ********
2026-05-05T08:28:44.9895385Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:44.9895858Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:44.9896243Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:44.9896600Z ␛[0;32m}␛[0m
2026-05-05T08:28:44.9896727Z 
2026-05-05T08:28:44.9896985Z TASK [test_mysql_role : Query count for user0 and role0 in mariadb] ************
2026-05-05T08:28:45.0546003Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:45.0547090Z 
2026-05-05T08:28:45.0547738Z TASK [test_mysql_role : Assert that query count for user0 and role0 in mariadb returns 0 rows] ***
2026-05-05T08:28:45.1217624Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:45.1218657Z 
2026-05-05T08:28:45.1218976Z TASK [test_mysql_role : Drop role0 again in check_mode] ************************
2026-05-05T08:28:45.4333674Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:45.4334080Z 
2026-05-05T08:28:45.4334448Z TASK [test_mysql_role : Assert that drop role0 again in check_mode is not changed] ***
2026-05-05T08:28:45.5077669Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:45.5078187Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:45.5079025Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:45.5079379Z ␛[0;32m}␛[0m
2026-05-05T08:28:45.5079508Z 
2026-05-05T08:28:45.5079748Z TASK [test_mysql_role : Drop role0 again] **************************************
2026-05-05T08:28:45.8163386Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:45.8163729Z 
2026-05-05T08:28:45.8164053Z TASK [test_mysql_role : Assert that drop role0 again is not changed] ***********
2026-05-05T08:28:45.8928868Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:45.8929381Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:45.8929849Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:45.8930277Z ␛[0;32m}␛[0m
2026-05-05T08:28:45.8930432Z 
2026-05-05T08:28:45.8930751Z TASK [test_mysql_role : Create role0 in check_mode] ****************************
2026-05-05T08:28:46.2065631Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:46.2065992Z 
2026-05-05T08:28:46.2066295Z TASK [test_mysql_role : Assert that create role0 in check_mode is changed] *****
2026-05-05T08:28:46.2807834Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:46.2808263Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:46.2808948Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:46.2809360Z ␛[0;32m}␛[0m
2026-05-05T08:28:46.2809486Z 
2026-05-05T08:28:46.2809721Z TASK [test_mysql_role : Query role0] *******************************************
2026-05-05T08:28:46.5680071Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.6011], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:28:46.5681047Z 
2026-05-05T08:28:46.5681401Z TASK [test_mysql_role : Assert that role0 created in check_mode is not in the database] ***
2026-05-05T08:28:46.6372342Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:46.6372800Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:46.6373259Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:46.6373666Z ␛[0;32m}␛[0m
2026-05-05T08:28:46.6373823Z 
2026-05-05T08:28:46.6374091Z TASK [test_mysql_role : Create role0] ******************************************
2026-05-05T08:28:46.9517044Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:46.9517429Z 
2026-05-05T08:28:46.9517712Z TASK [test_mysql_role : Assert that create role0 is changed] *******************
2026-05-05T08:28:47.0239128Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:47.0239663Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:47.0240056Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:47.0240356Z ␛[0;32m}␛[0m
2026-05-05T08:28:47.0240464Z 
2026-05-05T08:28:47.0240651Z TASK [test_mysql_role : Query role0] *******************************************
2026-05-05T08:28:47.3088807Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT 1 FROM mysql.user WHERE User = 'role0'"], "execution_time_ms": [0.5254], "query_result": [[{"1": 1}]], "rowcount": [1]}␛[0m
2026-05-05T08:28:47.3089845Z 
2026-05-05T08:28:47.3090149Z TASK [test_mysql_role : Assert that role0 is in the database] ******************
2026-05-05T08:28:47.3784143Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:47.3784677Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:47.3785500Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:47.3785834Z ␛[0;32m}␛[0m
2026-05-05T08:28:47.3785952Z 
2026-05-05T08:28:47.3786190Z TASK [test_mysql_role : Create role0 in check_mode again] **********************
2026-05-05T08:28:47.6806925Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:47.6807240Z 
2026-05-05T08:28:47.6807712Z TASK [test_mysql_role : Assert that create role0 in check_mode again is not changed] ***
2026-05-05T08:28:47.7548239Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:47.7548875Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:47.7549206Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:47.7549508Z ␛[0;32m}␛[0m
2026-05-05T08:28:47.7549619Z 
2026-05-05T08:28:47.7549823Z TASK [test_mysql_role : Create role0 again (2)] ********************************
2026-05-05T08:28:48.0584316Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:48.0584619Z 
2026-05-05T08:28:48.0584878Z TASK [test_mysql_role : Assert that create role0 again is not changed (2)] *****
2026-05-05T08:28:48.1344512Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:48.1345016Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:48.1345364Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:48.1345677Z ␛[0;32m}␛[0m
2026-05-05T08:28:48.1345793Z 
2026-05-05T08:28:48.1346008Z TASK [test_mysql_role : Create role1] ******************************************
2026-05-05T08:28:48.4464044Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:48.4464343Z 
2026-05-05T08:28:48.4464571Z TASK [test_mysql_role : Rewrite members in check_mode] *************************
2026-05-05T08:28:48.7502311Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:48.7502669Z 
2026-05-05T08:28:48.7502952Z TASK [test_mysql_role : Assert that rewrite members in check_mode is changed] ***
2026-05-05T08:28:48.8233804Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:48.8234219Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:48.8234537Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:48.8234854Z ␛[0;32m}␛[0m
2026-05-05T08:28:48.8234962Z 
2026-05-05T08:28:48.8235182Z TASK [test_mysql_role : Query user0, if not granted, the query will fail] ******
2026-05-05T08:28:49.1053530Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.4114], "query_result": [[{"Grants for user0@%": "GRANT SELECT, INSERT ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT UPDATE ON `mysql`.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:49.1055405Z 
2026-05-05T08:28:49.1055764Z TASK [test_mysql_role : Assert that show grants for user0 in mysql is succeeded] ***
2026-05-05T08:28:49.1849058Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:49.1850019Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:49.1850971Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:49.1851458Z ␛[0;32m}␛[0m
2026-05-05T08:28:49.1851741Z 
2026-05-05T08:28:49.1852047Z TASK [test_mysql_role : Query user0 (mariadb)] *********************************
2026-05-05T08:28:49.2565622Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:49.2566357Z 
2026-05-05T08:28:49.2566668Z TASK [test_mysql_role : Assert that show grants for user0 in mariadb returns 1 row] ***
2026-05-05T08:28:49.3193012Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:49.3193873Z 
2026-05-05T08:28:49.3194279Z TASK [test_mysql_role : Query user1, if not granted, the query will fail (expect failue)] ***
2026-05-05T08:28:49.5958695Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user1@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user1`@`%`')"}␛[0m
2026-05-05T08:28:49.5960042Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:49.5960343Z 
2026-05-05T08:28:49.5960673Z TASK [test_mysql_role : Assert that query for user1 in mysql is failed due to check_mode] ***
2026-05-05T08:28:49.6734988Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:49.6735590Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:49.6736115Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:49.6736493Z ␛[0;32m}␛[0m
2026-05-05T08:28:49.6736886Z 
2026-05-05T08:28:49.6737223Z TASK [test_mysql_role : Query user1 (mariadb)] *********************************
2026-05-05T08:28:49.7382846Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:49.7383467Z 
2026-05-05T08:28:49.7383758Z TASK [test_mysql_role : Assert that query for user1 in mariadb is failed due to check_mode] ***
2026-05-05T08:28:49.8018810Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:49.8019783Z 
2026-05-05T08:28:49.8020145Z TASK [test_mysql_role : Query user2, if not granted, the query will fail] ******
2026-05-05T08:28:50.0862159Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user2@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user2`@`%`')"}␛[0m
2026-05-05T08:28:50.0863037Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:50.0863183Z 
2026-05-05T08:28:50.0863416Z TASK [test_mysql_role : Assert that query for user2 in mysql is failed] ********
2026-05-05T08:28:50.1617620Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:50.1618002Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:50.1618328Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:50.1618935Z ␛[0;32m}␛[0m
2026-05-05T08:28:50.1619047Z 
2026-05-05T08:28:50.1619262Z TASK [test_mysql_role : Query user2 (mariadb)] *********************************
2026-05-05T08:28:50.2260027Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:50.2260677Z 
2026-05-05T08:28:50.2260922Z TASK [test_mysql_role : Assert that query user2 in mariadb returns 0 row] ******
2026-05-05T08:28:50.2898551Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:50.2899151Z 
2026-05-05T08:28:50.2899384Z TASK [test_mysql_role : Query role1, if not granted, the query will fail] ******
2026-05-05T08:28:50.5752677Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR role1 USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `role1`@`%`')"}␛[0m
2026-05-05T08:28:50.5754458Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:50.5754669Z 
2026-05-05T08:28:50.5754996Z TASK [test_mysql_role : Assert that query role1 in mysql is failed] ************
2026-05-05T08:28:50.6490912Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:50.6491450Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:50.6491938Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:50.6492397Z ␛[0;32m}␛[0m
2026-05-05T08:28:50.6492556Z 
2026-05-05T08:28:50.6492863Z TASK [test_mysql_role : Query role1 (mariadb)] *********************************
2026-05-05T08:28:50.7128291Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:50.7129671Z 
2026-05-05T08:28:50.7130110Z TASK [test_mysql_role : Assert that query role0 in mariadb returns 0 row] ******
2026-05-05T08:28:50.7759182Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:50.7759823Z 
2026-05-05T08:28:50.7760041Z TASK [test_mysql_role : Rewrite members] ***************************************
2026-05-05T08:28:51.0948308Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:51.0949385Z 
2026-05-05T08:28:51.0949666Z TASK [test_mysql_role : Assert that rewrite members is changed] ****************
2026-05-05T08:28:51.1691561Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:51.1691927Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:51.1692240Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:51.1692539Z ␛[0;32m}␛[0m
2026-05-05T08:28:51.1692649Z 
2026-05-05T08:28:51.1692878Z TASK [test_mysql_role : Query user0, if not granted, the query will fail] ******
2026-05-05T08:28:51.4512771Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user0@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user0`@`%`')"}␛[0m
2026-05-05T08:28:51.4514097Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:51.4514321Z 
2026-05-05T08:28:51.4514558Z TASK [test_mysql_role : Assert that query user0 in mysql is failed] ************
2026-05-05T08:28:51.5278272Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:51.5279118Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:51.5279674Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:51.5280169Z ␛[0;32m}␛[0m
2026-05-05T08:28:51.5280363Z 
2026-05-05T08:28:51.5280703Z TASK [test_mysql_role : Query user0 (mariadb)] *********************************
2026-05-05T08:28:51.5940034Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:51.5940767Z 
2026-05-05T08:28:51.5941081Z TASK [test_mysql_role : Assert that query user0 in mariadb doesn't returns role0] ***
2026-05-05T08:28:51.6592067Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:51.6592725Z 
2026-05-05T08:28:51.6593029Z TASK [test_mysql_role : Query user1, if not granted, the query will fail (expect success)] ***
2026-05-05T08:28:51.9482786Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user1@'%' USING 'role0'"], "execution_time_ms": [0.3741], "query_result": [[{"Grants for user1@%": "GRANT SELECT, INSERT ON *.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT UPDATE ON `mysql`.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT `role0`@`%` TO `user1`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:51.9484270Z 
2026-05-05T08:28:51.9484521Z TASK [test_mysql_role : Assert that query user1 in mysql is succeeded] *********
2026-05-05T08:28:52.0220103Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:52.0220526Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:52.0220878Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:52.0221210Z ␛[0;32m}␛[0m
2026-05-05T08:28:52.0221334Z 
2026-05-05T08:28:52.0221573Z TASK [test_mysql_role : Query user1 (mariadb)] *********************************
2026-05-05T08:28:52.0855371Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:52.0856067Z 
2026-05-05T08:28:52.0856315Z TASK [test_mysql_role : Assert that query user1 in mariadb returns 1 row] ******
2026-05-05T08:28:52.1491986Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:52.1492731Z 
2026-05-05T08:28:52.1493011Z TASK [test_mysql_role : Query user2, if not granted, the query will fail] ******
2026-05-05T08:28:52.4321700Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user2@'%' USING 'role0'"], "execution_time_ms": [0.4055], "query_result": [[{"Grants for user2@%": "GRANT SELECT, INSERT ON *.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT UPDATE ON `mysql`.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT `role0`@`%` TO `user2`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:52.4323547Z 
2026-05-05T08:28:52.4323892Z TASK [test_mysql_role : Assert that query user2 in mysql is succeeded] *********
2026-05-05T08:28:52.5066611Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:52.5067121Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:52.5067582Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:52.5068017Z ␛[0;32m}␛[0m
2026-05-05T08:28:52.5068174Z 
2026-05-05T08:28:52.5068694Z TASK [test_mysql_role : Query user2 (mariadb)] *********************************
2026-05-05T08:28:52.5726046Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:52.5726913Z 
2026-05-05T08:28:52.5727245Z TASK [test_mysql_role : Assert that query user2 in mariadb returns 1 row] ******
2026-05-05T08:28:52.6601858Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:52.6602755Z 
2026-05-05T08:28:52.6603127Z TASK [test_mysql_role : Query role0, if not granted, the query will fail] ******
2026-05-05T08:28:52.9418256Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role1 USING 'role0'"], "execution_time_ms": [0.3572], "query_result": [[{"Grants for role1@%": "GRANT SELECT, INSERT ON *.* TO `role1`@`%`"}, {"Grants for role1@%": "GRANT UPDATE ON `mysql`.* TO `role1`@`%`"}, {"Grants for role1@%": "GRANT `role0`@`%` TO `role1`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:52.9419987Z 
2026-05-05T08:28:52.9420261Z TASK [test_mysql_role : Assert that query role0 in mysql is succeeded] *********
2026-05-05T08:28:53.0155776Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:53.0156184Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:53.0156574Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:53.0156922Z ␛[0;32m}␛[0m
2026-05-05T08:28:53.0157048Z 
2026-05-05T08:28:53.0157544Z TASK [test_mysql_role : Query count user is role1 and role is role0 (mariadb)] ***
2026-05-05T08:28:53.0805285Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:53.0806618Z 
2026-05-05T08:28:53.0807146Z TASK [test_mysql_role : Assert that query count user is role1 and role is role0 returns 1 row] ***
2026-05-05T08:28:53.1460982Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:53.1461808Z 
2026-05-05T08:28:53.1462161Z TASK [test_mysql_role : Rewrite members again in check_mode] *******************
2026-05-05T08:28:53.4613698Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:53.4614272Z 
2026-05-05T08:28:53.4614909Z TASK [test_mysql_role : Assert that rewrite members again in check_mode is not changed] ***
2026-05-05T08:28:53.5359711Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:53.5360119Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:53.5360491Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:53.5360832Z ␛[0;32m}␛[0m
2026-05-05T08:28:53.5360997Z 
2026-05-05T08:28:53.5361295Z TASK [test_mysql_role : Rewrite members again] *********************************
2026-05-05T08:28:53.8445948Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:53.8446464Z 
2026-05-05T08:28:53.8446824Z TASK [test_mysql_role : Assert that rewrite members again is not changed] ******
2026-05-05T08:28:53.9193901Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:53.9194316Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:53.9194695Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:53.9195049Z ␛[0;32m}␛[0m
2026-05-05T08:28:53.9195177Z 
2026-05-05T08:28:53.9195447Z TASK [test_mysql_role : Append a member in check_mode] *************************
2026-05-05T08:28:54.2286971Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:54.2287372Z 
2026-05-05T08:28:54.2287703Z TASK [test_mysql_role : Assert that append a member in check_mode is changed] ***
2026-05-05T08:28:54.3041959Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:54.3042774Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:54.3043356Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:54.3043757Z ␛[0;32m}␛[0m
2026-05-05T08:28:54.3043907Z 
2026-05-05T08:28:54.3044272Z TASK [test_mysql_role : Query user0, if not granted, the query will fail (expect failure)] ***
2026-05-05T08:28:54.5995380Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user0@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user0`@`%`')"}␛[0m
2026-05-05T08:28:54.5996741Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:28:54.5996956Z 
2026-05-05T08:28:54.5997274Z TASK [test_mysql_role : Assert that query user0 is failed] *********************
2026-05-05T08:28:54.6807592Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:54.6808116Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:54.6808801Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:54.6809243Z ␛[0;32m}␛[0m
2026-05-05T08:28:54.6809398Z 
2026-05-05T08:28:54.6809769Z TASK [test_mysql_role : Query count for user0 and role0 (mariadb)] *************
2026-05-05T08:28:54.7451426Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:54.7452294Z 
2026-05-05T08:28:54.7452736Z TASK [test_mysql_role : Assert that query count for user0 and role0 in mariadb resturns 0 row] ***
2026-05-05T08:28:54.8080978Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:54.8081868Z 
2026-05-05T08:28:54.8082186Z TASK [test_mysql_role : Append a member] ***************************************
2026-05-05T08:28:55.1194898Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:55.1195249Z 
2026-05-05T08:28:55.1195522Z TASK [test_mysql_role : Assert that append a member is changed] ****************
2026-05-05T08:28:55.1949443Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:55.1949974Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:55.1950370Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:55.1950723Z ␛[0;32m}␛[0m
2026-05-05T08:28:55.1950857Z 
2026-05-05T08:28:55.1951124Z TASK [test_mysql_role : Query user0, if not granted, the query will fail] ******
2026-05-05T08:28:55.4792966Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.3655], "query_result": [[{"Grants for user0@%": "GRANT SELECT, INSERT ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT UPDATE ON `mysql`.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:55.4794700Z 
2026-05-05T08:28:55.4794998Z TASK [test_mysql_role : Assert that query user0 in mysql is succeeded] *********
2026-05-05T08:28:55.5560658Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:55.5561148Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:55.5561649Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:55.5562148Z ␛[0;32m}␛[0m
2026-05-05T08:28:55.5562304Z 
2026-05-05T08:28:55.5562621Z TASK [test_mysql_role : Query count for user0 and role0 (mariadb)] *************
2026-05-05T08:28:55.6205086Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:55.6205918Z 
2026-05-05T08:28:55.6206333Z TASK [test_mysql_role : Assert that query count for user0 and role0 in mariadb resturns 1 row] ***
2026-05-05T08:28:55.6846740Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:55.6847582Z 
2026-05-05T08:28:55.6847911Z TASK [test_mysql_role : Query user1 using role0 (expect success)] **************
2026-05-05T08:28:55.9677076Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user1@'%' USING 'role0'"], "execution_time_ms": [0.383], "query_result": [[{"Grants for user1@%": "GRANT SELECT, INSERT ON *.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT UPDATE ON `mysql`.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT `role0`@`%` TO `user1`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:55.9679159Z 
2026-05-05T08:28:55.9679463Z TASK [test_mysql_role : Assert that query for user1 in mysql is succeeded] *****
2026-05-05T08:28:56.0421488Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:56.0422076Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:56.0422665Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:56.0423207Z ␛[0;32m}␛[0m
2026-05-05T08:28:56.0423401Z 
2026-05-05T08:28:56.0423806Z TASK [test_mysql_role : Query count for user1 and role0 (mariadb)] *************
2026-05-05T08:28:56.1062916Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:56.1063710Z 
2026-05-05T08:28:56.1064115Z TASK [test_mysql_role : Assert that query count for user1 and role0 in mariadb returns 1 row] ***
2026-05-05T08:28:56.1718224Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:56.1719254Z 
2026-05-05T08:28:56.1719570Z TASK [test_mysql_role : Query user2, if not granted, the query will fail] ******
2026-05-05T08:28:56.4536059Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user2@'%' USING 'role0'"], "execution_time_ms": [0.3656], "query_result": [[{"Grants for user2@%": "GRANT SELECT, INSERT ON *.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT UPDATE ON `mysql`.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT `role0`@`%` TO `user2`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:56.4538017Z 
2026-05-05T08:28:56.4538566Z TASK [test_mysql_role : Assert that query user2 in mysql is succeeded] *********
2026-05-05T08:28:56.5280210Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:56.5280742Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:56.5281228Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:56.5281661Z ␛[0;32m}␛[0m
2026-05-05T08:28:56.5281819Z 
2026-05-05T08:28:56.5282138Z TASK [test_mysql_role : Query count for user2 and role0 (mariadb)] *************
2026-05-05T08:28:56.5923209Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:56.5924531Z 
2026-05-05T08:28:56.5925065Z TASK [test_mysql_role : Assert that query count for user2 and role0 in mariadb returns 1 row] ***
2026-05-05T08:28:56.6563152Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:56.6563931Z 
2026-05-05T08:28:56.6564237Z TASK [test_mysql_role : Append a member again in check_mode] *******************
2026-05-05T08:28:56.9663644Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:56.9664084Z 
2026-05-05T08:28:56.9664494Z TASK [test_mysql_role : Assert that append a member again in check_mode is not changed] ***
2026-05-05T08:28:57.0420330Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:57.0420976Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:57.0421625Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:57.0422241Z ␛[0;32m}␛[0m
2026-05-05T08:28:57.0422457Z 
2026-05-05T08:28:57.0422908Z TASK [test_mysql_role : Append a member again] *********************************
2026-05-05T08:28:57.3547297Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:28:57.3547679Z 
2026-05-05T08:28:57.3548014Z TASK [test_mysql_role : Assert that append a member again is not changed] ******
2026-05-05T08:28:57.4285061Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:57.4285472Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:57.4285843Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:57.4286174Z ␛[0;32m}␛[0m
2026-05-05T08:28:57.4286293Z 
2026-05-05T08:28:57.4286979Z TASK [test_mysql_role : Detach users in check_mode] ****************************
2026-05-05T08:28:57.7362748Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:57.7363100Z 
2026-05-05T08:28:57.7363424Z TASK [test_mysql_role : Assert that detach users in check_mode is changed] *****
2026-05-05T08:28:57.8106261Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:57.8106660Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:57.8107053Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:57.8107413Z ␛[0;32m}␛[0m
2026-05-05T08:28:57.8107543Z 
2026-05-05T08:28:57.8107813Z TASK [test_mysql_role : Query user0, if not granted, the query will fail] ******
2026-05-05T08:28:58.0977403Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.3674], "query_result": [[{"Grants for user0@%": "GRANT SELECT, INSERT ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT UPDATE ON `mysql`.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:58.0979662Z 
2026-05-05T08:28:58.0980002Z TASK [test_mysql_role : Assert that query user0 is succeeded] ******************
2026-05-05T08:28:58.1791036Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:58.1791578Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:58.1792048Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:58.1792499Z ␛[0;32m}␛[0m
2026-05-05T08:28:58.1792658Z 
2026-05-05T08:28:58.1792992Z TASK [test_mysql_role : Query count for user0 and role0 (mariadb)] *************
2026-05-05T08:28:58.2432423Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:58.2433190Z 
2026-05-05T08:28:58.2433580Z TASK [test_mysql_role : Assert that query count for user0 and role0 in mariadb resturns 1 row] ***
2026-05-05T08:28:58.3070826Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:58.3071585Z 
2026-05-05T08:28:58.3071871Z TASK [test_mysql_role : Query user1 using role0 (expect success)] **************
2026-05-05T08:28:58.5949620Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user1@'%' USING 'role0'"], "execution_time_ms": [0.405], "query_result": [[{"Grants for user1@%": "GRANT SELECT, INSERT ON *.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT UPDATE ON `mysql`.* TO `user1`@`%`"}, {"Grants for user1@%": "GRANT `role0`@`%` TO `user1`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:58.5951454Z 
2026-05-05T08:28:58.5951798Z TASK [test_mysql_role : Assert that query user1 in mysql is succeeded] *********
2026-05-05T08:28:58.6722025Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:58.6722501Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:58.6722965Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:58.6723400Z ␛[0;32m}␛[0m
2026-05-05T08:28:58.6723603Z 
2026-05-05T08:28:58.6723927Z TASK [test_mysql_role : Query count for user1 and role0 (mariadb)] *************
2026-05-05T08:28:58.7399635Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:58.7400435Z 
2026-05-05T08:28:58.7400825Z TASK [test_mysql_role : Assert that query count for user1 and role0 in mariadb returns 1 row] ***
2026-05-05T08:28:58.8063235Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:58.8063966Z 
2026-05-05T08:28:58.8064259Z TASK [test_mysql_role : Query user2, if not granted, the query will fail] ******
2026-05-05T08:28:59.0902606Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user2@'%' USING 'role0'"], "execution_time_ms": [0.4147], "query_result": [[{"Grants for user2@%": "GRANT SELECT, INSERT ON *.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT UPDATE ON `mysql`.* TO `user2`@`%`"}, {"Grants for user2@%": "GRANT `role0`@`%` TO `user2`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:59.0904486Z 
2026-05-05T08:28:59.0904803Z TASK [test_mysql_role : Assert that query user2 in mysql is succeeded] *********
2026-05-05T08:28:59.1664208Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:59.1664722Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:59.1665183Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:59.1665606Z ␛[0;32m}␛[0m
2026-05-05T08:28:59.1665764Z 
2026-05-05T08:28:59.1666090Z TASK [test_mysql_role : Query count user2 and role0 (mariadb)] *****************
2026-05-05T08:28:59.2368142Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:59.2369792Z 
2026-05-05T08:28:59.2370440Z TASK [test_mysql_role : Assert that query count user2 and role0 in mariadb returns 1 row] ***
2026-05-05T08:28:59.3062501Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:28:59.3063390Z 
2026-05-05T08:28:59.3063690Z TASK [test_mysql_role : Detach users] ******************************************
2026-05-05T08:28:59.6226452Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:28:59.6226812Z 
2026-05-05T08:28:59.6227084Z TASK [test_mysql_role : Assert that detach users is changed] *******************
2026-05-05T08:28:59.7059772Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:28:59.7060292Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:28:59.7060753Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:28:59.7061158Z ␛[0;32m}␛[0m
2026-05-05T08:28:59.7061306Z 
2026-05-05T08:28:59.7061625Z TASK [test_mysql_role : Query user0, if not granted, the query will fail] ******
2026-05-05T08:28:59.9944102Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user0@'%' USING 'role0'"], "execution_time_ms": [0.4209], "query_result": [[{"Grants for user0@%": "GRANT SELECT, INSERT ON *.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT UPDATE ON `mysql`.* TO `user0`@`%`"}, {"Grants for user0@%": "GRANT `role0`@`%` TO `user0`@`%`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:28:59.9945698Z 
2026-05-05T08:28:59.9945974Z TASK [test_mysql_role : Assert that query user0 in mysql is succeeded] *********
2026-05-05T08:29:00.0717157Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:00.0717604Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:00.0718028Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:00.0718552Z ␛[0;32m}␛[0m
2026-05-05T08:29:00.0718694Z 
2026-05-05T08:29:00.0718992Z TASK [test_mysql_role : Query count for user0 and role0 (mariadb)] *************
2026-05-05T08:29:00.1384538Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:00.1385340Z 
2026-05-05T08:29:00.1385703Z TASK [test_mysql_role : Assert that query count for user0 and role0 returns 1 row] ***
2026-05-05T08:29:00.2056156Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:00.2056831Z 
2026-05-05T08:29:00.2057150Z TASK [test_mysql_role : Query user1, if not granted, the query will fail (expect failure)] ***
2026-05-05T08:29:00.5022975Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user1@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user1`@`%`')"}␛[0m
2026-05-05T08:29:00.5024025Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:00.5024212Z 
2026-05-05T08:29:00.5024489Z TASK [test_mysql_role : Assert that query user1 in mysql is failed] ************
2026-05-05T08:29:00.5790241Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:00.5790884Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:00.5791480Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:00.5792653Z ␛[0;32m}␛[0m
2026-05-05T08:29:00.5792850Z 
2026-05-05T08:29:00.5793177Z TASK [test_mysql_role : Query count for user1 and role0 (mariadb)] *************
2026-05-05T08:29:00.6451513Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:00.6452780Z 
2026-05-05T08:29:00.6453383Z TASK [test_mysql_role : Assert that query count for user1 and role0 in mariadb returns 0 row] ***
2026-05-05T08:29:00.7134927Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:00.7136335Z 
2026-05-05T08:29:00.7136836Z TASK [test_mysql_role : Query user2, if not granted, the query will fail] ******
2026-05-05T08:29:00.9995656Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Cannot execute SQL 'SHOW GRANTS FOR user2@'%' USING 'role0'' args [None]: (3530, '`role0`@`%` is not granted to `user2`@`%`')"}␛[0m
2026-05-05T08:29:00.9997392Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:00.9997583Z 
2026-05-05T08:29:00.9997876Z TASK [test_mysql_role : Assert that query user2 in mysql is failed] ************
2026-05-05T08:29:01.0753590Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:01.0754106Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:01.0754564Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:01.0755101Z ␛[0;32m}␛[0m
2026-05-05T08:29:01.0755228Z 
2026-05-05T08:29:01.0755487Z TASK [test_mysql_role : Query count for user2 and role0 (mariadb)] *************
2026-05-05T08:29:01.1408492Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:01.1409298Z 
2026-05-05T08:29:01.1409626Z TASK [test_mysql_role : Assert that query count for user2 and role0 returns 0 row] ***
2026-05-05T08:29:01.2078668Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:01.2079486Z 
2026-05-05T08:29:01.2079784Z TASK [test_mysql_role : Detach users in check_mode again] **********************
2026-05-05T08:29:01.5171698Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:01.5172096Z 
2026-05-05T08:29:01.5172474Z TASK [test_mysql_role : Assert that detach users in check_mode again is not changed] ***
2026-05-05T08:29:01.5939158Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:01.5939640Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:01.5940107Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:01.5940526Z ␛[0;32m}␛[0m
2026-05-05T08:29:01.5940683Z 
2026-05-05T08:29:01.5940981Z TASK [test_mysql_role : Detach users again] ************************************
2026-05-05T08:29:01.9016492Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:01.9016821Z 
2026-05-05T08:29:01.9017091Z TASK [test_mysql_role : Assert that detach users again is not changed] *********
2026-05-05T08:29:01.9770098Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:01.9770553Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:01.9770975Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:01.9771356Z ␛[0;32m}␛[0m
2026-05-05T08:29:01.9771494Z 
2026-05-05T08:29:01.9771779Z TASK [test_mysql_role : "detach" users when creating a new role] ***************
2026-05-05T08:29:02.2871475Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:02.2871851Z 
2026-05-05T08:29:02.2872185Z TASK [test_mysql_role : Assert that creating a role while detach users is changed] ***
2026-05-05T08:29:02.3629961Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:02.3630419Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:02.3630820Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:02.3631178Z ␛[0;32m}␛[0m
2026-05-05T08:29:02.3631309Z 
2026-05-05T08:29:02.3631578Z TASK [test_mysql_role : Query grants for user1] ********************************
2026-05-05T08:29:02.6482477Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR user1@'%'"], "execution_time_ms": [0.3592], "query_result": [[{"Grants for user1@%": "GRANT USAGE ON *.* TO `user1`@`%`"}]], "rowcount": [1]}␛[0m
2026-05-05T08:29:02.6483963Z 
2026-05-05T08:29:02.6484242Z TASK [test_mysql_role : Assert detach_members did not add a user to the role] ***
2026-05-05T08:29:02.7219665Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:02.7220302Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:02.7220746Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:02.7221161Z ␛[0;32m}␛[0m
2026-05-05T08:29:02.7221308Z 
2026-05-05T08:29:02.7221611Z TASK [test_mysql_role : Try failing on not-existing user in check-mode] ********
2026-05-05T08:29:03.0322742Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "User / role `not_existent` with host `%` does not exist"}␛[0m
2026-05-05T08:29:03.0323553Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:03.0323749Z 
2026-05-05T08:29:03.0324095Z TASK [test_mysql_role : Assert nonexistent user in check-mode is failed] *******
2026-05-05T08:29:03.1077390Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:03.1077832Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:03.1078248Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:03.1078893Z ␛[0;32m}␛[0m
2026-05-05T08:29:03.1079043Z 
2026-05-05T08:29:03.1079333Z TASK [test_mysql_role : Try failing on not-existing user in check-mode] ********
2026-05-05T08:29:03.4218231Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:03.4218855Z 
2026-05-05T08:29:03.4219151Z TASK [test_mysql_role : Check for lack of change] ******************************
2026-05-05T08:29:03.5043084Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:03.5043602Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:03.5044071Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:03.5044503Z ␛[0;32m}␛[0m
2026-05-05T08:29:03.5044661Z 
2026-05-05T08:29:03.5044977Z TASK [test_mysql_role : Try failing on not-existing user] **********************
2026-05-05T08:29:03.8044131Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "User / role `not_existent` with host `%` does not exist"}␛[0m
2026-05-05T08:29:03.8044860Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:03.8045026Z 
2026-05-05T08:29:03.8045330Z TASK [test_mysql_role : Assert nonexistent user with members_must_exist is failed] ***
2026-05-05T08:29:03.8775349Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:03.8775836Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:03.8776318Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:03.8776744Z ␛[0;32m}␛[0m
2026-05-05T08:29:03.8776904Z 
2026-05-05T08:29:03.8777221Z TASK [test_mysql_role : Try failing on not-existing user] **********************
2026-05-05T08:29:04.1802429Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:04.1802842Z 
2026-05-05T08:29:04.1803178Z TASK [test_mysql_role : Assert nonexistent user with members_must_exist=no is not changed] ***
2026-05-05T08:29:04.2544224Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:04.2544878Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:04.2545326Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:04.2545723Z ␛[0;32m}␛[0m
2026-05-05T08:29:04.2545866Z 
2026-05-05T08:29:04.2546139Z TASK [test_mysql_role : Create test DBs] ***************************************
2026-05-05T08:29:04.7626699Z ␛[0;33mchanged: [testhost] => (item=test_db1) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["CREATE DATABASE test_db1"], "execution_time_ms": [1.5952], "item": "test_db1", "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:29:04.7629083Z ␛[0;33mchanged: [testhost] => (item=test_db2) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["CREATE DATABASE test_db2"], "execution_time_ms": [1.4322], "item": "test_db2", "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:29:04.7630012Z 
2026-05-05T08:29:04.7630240Z TASK [test_mysql_role : Create table test_table] *******************************
2026-05-05T08:29:05.2813567Z ␛[0;33mchanged: [testhost] => (item=test_db1) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["CREATE TABLE test_table (id int)"], "execution_time_ms": [5.5998], "item": "test_db1", "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:29:05.2816271Z ␛[0;33mchanged: [testhost] => (item=test_db2) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["CREATE TABLE test_table (id int)"], "execution_time_ms": [6.4105], "item": "test_db2", "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:29:05.2817546Z 
2026-05-05T08:29:05.2817863Z TASK [test_mysql_role : Query grants for role0] ********************************
2026-05-05T08:29:05.5655743Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role0"], "execution_time_ms": [0.3566], "query_result": [[{"Grants for role0@%": "GRANT SELECT, INSERT ON *.* TO `role0`@`%`"}, {"Grants for role0@%": "GRANT UPDATE ON `mysql`.* TO `role0`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:29:05.5657371Z 
2026-05-05T08:29:05.5657728Z TASK [test_mysql_role : Assert grants for role0 in mysql] **********************
2026-05-05T08:29:05.6396611Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:05.6396987Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:05.6397358Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:05.6397682Z ␛[0;32m}␛[0m
2026-05-05T08:29:05.6397804Z 
2026-05-05T08:29:05.6398046Z TASK [test_mysql_role : Assert grants for role0 in mariadb] ********************
2026-05-05T08:29:05.7050684Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:05.7051444Z 
2026-05-05T08:29:05.7051713Z TASK [test_mysql_role : Append privs in check_mode] ****************************
2026-05-05T08:29:06.0156729Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:06.0157091Z 
2026-05-05T08:29:06.0157380Z TASK [test_mysql_role : Assert append privs in check_mode is changed] **********
2026-05-05T08:29:06.0903679Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:06.0904215Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:06.0904603Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:06.0904966Z ␛[0;32m}␛[0m
2026-05-05T08:29:06.0905092Z 
2026-05-05T08:29:06.0905342Z TASK [test_mysql_role : Query grants for role0] ********************************
2026-05-05T08:29:06.3747542Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role0"], "execution_time_ms": [0.3548], "query_result": [[{"Grants for role0@%": "GRANT SELECT, INSERT ON *.* TO `role0`@`%`"}, {"Grants for role0@%": "GRANT UPDATE ON `mysql`.* TO `role0`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:29:06.3749449Z 
2026-05-05T08:29:06.3749756Z TASK [test_mysql_role : Assert grants for role0 in mysql] **********************
2026-05-05T08:29:06.4500544Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:06.4501032Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:06.4501474Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:06.4501839Z ␛[0;32m}␛[0m
2026-05-05T08:29:06.4501967Z 
2026-05-05T08:29:06.4502226Z TASK [test_mysql_role : Assert grants for role0 in mariadb] ********************
2026-05-05T08:29:06.5192403Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:06.5193228Z 
2026-05-05T08:29:06.5193511Z TASK [test_mysql_role : Append privs] ******************************************
2026-05-05T08:29:06.8349407Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:06.8349941Z 
2026-05-05T08:29:06.8350412Z TASK [test_mysql_role : Assert that append privs is changed] *******************
2026-05-05T08:29:06.9099723Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:06.9100443Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:06.9101098Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:06.9101709Z ␛[0;32m}␛[0m
2026-05-05T08:29:06.9102338Z 
2026-05-05T08:29:06.9102910Z TASK [test_mysql_role : Query grants for role0] ********************************
2026-05-05T08:29:07.1947070Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role0"], "execution_time_ms": [0.4049], "query_result": [[{"Grants for role0@%": "GRANT SELECT, INSERT ON *.* TO `role0`@`%`"}, {"Grants for role0@%": "GRANT UPDATE ON `mysql`.* TO `role0`@`%`"}, {"Grants for role0@%": "GRANT SELECT, INSERT ON `test_db1`.`test_table` TO `role0`@`%`"}, {"Grants for role0@%": "GRANT DELETE ON `test_db2`.`test_table` TO `role0`@`%`"}]], "rowcount": [4]}␛[0m
2026-05-05T08:29:07.1949623Z 
2026-05-05T08:29:07.1949946Z TASK [test_mysql_role : Assert grants for role0 in mysql] **********************
2026-05-05T08:29:07.2725239Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:07.2725749Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:07.2726213Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:07.2726649Z ␛[0;32m}␛[0m
2026-05-05T08:29:07.2726844Z 
2026-05-05T08:29:07.2727174Z TASK [test_mysql_role : Assert grants for role0 in mariadb] ********************
2026-05-05T08:29:07.3469964Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:07.3470810Z 
2026-05-05T08:29:07.3471142Z TASK [test_mysql_role : Append privs again in check_mode] **********************
2026-05-05T08:29:07.6532023Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:07.6532380Z 
2026-05-05T08:29:07.6532703Z TASK [test_mysql_role : Assert that append privs again in check_mode is changed] ***
2026-05-05T08:29:07.7270862Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:07.7271370Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:07.7271806Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:07.7272197Z ␛[0;32m}␛[0m
2026-05-05T08:29:07.7272334Z 
2026-05-05T08:29:07.7272624Z TASK [test_mysql_role : Append privs again] ************************************
2026-05-05T08:29:08.0382787Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:08.0383273Z 
2026-05-05T08:29:08.0383850Z TASK [test_mysql_role : Assert that append privs again is not changed] *********
2026-05-05T08:29:08.1141601Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:08.1142044Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:08.1142429Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:08.1142792Z ␛[0;32m}␛[0m
2026-05-05T08:29:08.1142921Z 
2026-05-05T08:29:08.1143175Z TASK [test_mysql_role : Rewrite privs] *****************************************
2026-05-05T08:29:08.4485484Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:08.4485877Z 
2026-05-05T08:29:08.4486221Z TASK [test_mysql_role : Assert that rewrite privs is changed] ******************
2026-05-05T08:29:08.5232608Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:08.5233013Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:08.5233370Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:08.5233751Z ␛[0;32m}␛[0m
2026-05-05T08:29:08.5233872Z 
2026-05-05T08:29:08.5234102Z TASK [test_mysql_role : Query grants for role0] ********************************
2026-05-05T08:29:08.8510360Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role0"], "execution_time_ms": [0.3787], "query_result": [[{"Grants for role0@%": "GRANT SELECT ON *.* TO `role0`@`%`"}]], "rowcount": [1]}␛[0m
2026-05-05T08:29:08.8511620Z 
2026-05-05T08:29:08.8511941Z TASK [test_mysql_role : Assert grants for role0 in mysql] **********************
2026-05-05T08:29:08.9251953Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:08.9252469Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:08.9252920Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:08.9253334Z ␛[0;32m}␛[0m
2026-05-05T08:29:08.9253484Z 
2026-05-05T08:29:08.9253789Z TASK [test_mysql_role : Assert grants for role0 in mariadb] ********************
2026-05-05T08:29:08.9928580Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:08.9929600Z 
2026-05-05T08:29:08.9929892Z TASK [test_mysql_role : Drop role0] ********************************************
2026-05-05T08:29:09.3028635Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:09.3029394Z 
2026-05-05T08:29:09.3029972Z TASK [test_mysql_role : Create role0 with admin] *******************************
2026-05-05T08:29:09.6076082Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "The \"admin\" option can be used only with MariaDB."}␛[0m
2026-05-05T08:29:09.6076856Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:09.6077035Z 
2026-05-05T08:29:09.6077325Z TASK [test_mysql_role : Assert expected error message for mysql] ***************
2026-05-05T08:29:09.6837925Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:09.6838664Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:09.6839161Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:09.6839582Z ␛[0;32m}␛[0m
2026-05-05T08:29:09.6839747Z 
2026-05-05T08:29:09.6840042Z TASK [test_mysql_role : Assert create role0 in mariadb is changed] *************
2026-05-05T08:29:09.7477795Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:09.7478749Z 
2026-05-05T08:29:09.7479043Z TASK [test_mysql_role : Query role0 in mariadb] ********************************
2026-05-05T08:29:09.8121293Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:09.8122087Z 
2026-05-05T08:29:09.8122392Z TASK [test_mysql_role : Assert that query role0 in mariadb returns 1 row] ******
2026-05-05T08:29:09.8780041Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:09.8780772Z 
2026-05-05T08:29:09.8781071Z TASK [test_mysql_role : Create role0 with admin again] *************************
2026-05-05T08:29:10.1815371Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "The \"admin\" option can be used only with MariaDB."}␛[0m
2026-05-05T08:29:10.1816173Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:10.1816353Z 
2026-05-05T08:29:10.1816658Z TASK [test_mysql_role : Assert expected error message in mysql again] **********
2026-05-05T08:29:10.2652399Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:10.2652906Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:10.2653375Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:10.2653802Z ␛[0;32m}␛[0m
2026-05-05T08:29:10.2653966Z 
2026-05-05T08:29:10.2654293Z TASK [test_mysql_role : Assert create role0 in mariadb is not changed] *********
2026-05-05T08:29:10.3297981Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:10.3298923Z 
2026-05-05T08:29:10.3299204Z TASK [test_mysql_role : Create role0 with admin again] *************************
2026-05-05T08:29:10.6426855Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "User / role `nonexistent` with host `%` does not exist"}␛[0m
2026-05-05T08:29:10.6427777Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:10.6427988Z 
2026-05-05T08:29:10.6428318Z TASK [test_mysql_role : Assert that create role0 with admin again is failed] ***
2026-05-05T08:29:10.7207605Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:10.7208131Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:10.7208820Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:10.7209255Z ␛[0;32m}␛[0m
2026-05-05T08:29:10.7209416Z 
2026-05-05T08:29:10.7209715Z TASK [test_mysql_role : Clean up DBs] ******************************************
2026-05-05T08:29:11.4521905Z ␛[0;33mchanged: [testhost] => (item=test_db) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["DROP DATABASE IF EXISTS test_db"], "execution_time_ms": [4.1578], "item": "test_db", "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:29:11.4524266Z ␛[0;33mchanged: [testhost] => (item=test_db1) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["DROP DATABASE IF EXISTS test_db1"], "execution_time_ms": [4.0487], "item": "test_db1", "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:29:11.4526430Z ␛[0;33mchanged: [testhost] => (item=test_db2) => {"ansible_loop_var": "item", "changed": true, "executed_queries": ["DROP DATABASE IF EXISTS test_db2"], "execution_time_ms": [3.964], "item": "test_db2", "query_result": [[]], "rowcount": [1]}␛[0m
2026-05-05T08:29:11.4527485Z 
2026-05-05T08:29:11.4527739Z TASK [test_mysql_role : Clean up users] ****************************************
2026-05-05T08:29:12.2105388Z ␛[0;32mok: [testhost] => (item=user0) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "user0", "msg": "User doesn't exist", "password_changed": false, "user": "user0"}␛[0m
2026-05-05T08:29:12.2107744Z ␛[0;32mok: [testhost] => (item=user1) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "user1", "msg": "User doesn't exist", "password_changed": false, "user": "user1"}␛[0m
2026-05-05T08:29:12.2110077Z ␛[0;32mok: [testhost] => (item=user2) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "user2", "msg": "User doesn't exist", "password_changed": false, "user": "user2"}␛[0m
2026-05-05T08:29:12.2111158Z 
2026-05-05T08:29:12.2111478Z TASK [test_mysql_role : Clean up roles] ****************************************
2026-05-05T08:29:13.0006994Z ␛[0;32mok: [testhost] => (item=role0) => {"ansible_loop_var": "item", "changed": false, "item": "role0"}␛[0m
2026-05-05T08:29:13.0008641Z ␛[0;33mchanged: [testhost] => (item=test) => {"ansible_loop_var": "item", "changed": true, "item": "test"}␛[0m
2026-05-05T08:29:13.0009779Z ␛[0;33mchanged: [testhost] => (item=role3) => {"ansible_loop_var": "item", "changed": true, "item": "role3"}␛[0m
2026-05-05T08:29:13.0010325Z 
2026-05-05T08:29:13.0010599Z TASK [test_mysql_role : include_tasks] *****************************************
2026-05-05T08:29:13.1693164Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_priv_subtract.yml for testhost␛[0m
2026-05-05T08:29:13.1695106Z 
2026-05-05T08:29:13.1695397Z TASK [test_mysql_role : Create test databases] *********************************
2026-05-05T08:29:13.4648816Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data1", "db_list": ["data1"], "executed_commands": ["CREATE DATABASE `data1`"]}␛[0m
2026-05-05T08:29:13.4649477Z 
2026-05-05T08:29:13.4649758Z TASK [test_mysql_role : Create a role with an initial set of privileges] *******
2026-05-05T08:29:13.7773571Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:13.7773959Z 
2026-05-05T08:29:13.7774405Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:14.0387849Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.018323", "end": "2026-05-05 08:29:14.003669", "msg": "", "rc": 0, "start": "2026-05-05 08:29:13.985346", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:14.0391432Z 
2026-05-05T08:29:14.0391772Z TASK [test_mysql_role : Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:29:14.1101923Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:14.1102993Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:14.1103863Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:14.1104503Z ␛[0;32m}␛[0m
2026-05-05T08:29:14.1104734Z 
2026-05-05T08:29:14.1105264Z TASK [test_mysql_role : Subtract privileges that are not in the current privileges, which should be a no-op] ***
2026-05-05T08:29:14.4203732Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:14.4204052Z 
2026-05-05T08:29:14.4204343Z TASK [test_mysql_role : Assert that there wasn't a change in permissions] ******
2026-05-05T08:29:14.4958322Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:14.4958987Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:14.4959434Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:14.4959840Z ␛[0;32m}␛[0m
2026-05-05T08:29:14.4959992Z 
2026-05-05T08:29:14.4960389Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:14.7580609Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.017443", "end": "2026-05-05 08:29:14.724379", "msg": "", "rc": 0, "start": "2026-05-05 08:29:14.706936", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:14.7584398Z 
2026-05-05T08:29:14.7584845Z TASK [test_mysql_role : Assert that the permissions still match what was originally granted] ***
2026-05-05T08:29:14.8309751Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:14.8310313Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:14.8310745Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:14.8311179Z ␛[0;32m}␛[0m
2026-05-05T08:29:14.8311318Z 
2026-05-05T08:29:14.8311659Z TASK [test_mysql_role : Subtract existing and not-existing privileges, but not all] ***
2026-05-05T08:29:15.1474842Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:15.1475173Z 
2026-05-05T08:29:15.1475599Z TASK [test_mysql_role : Assert that there was a change because permissions were/would be revoked on data1.*] ***
2026-05-05T08:29:15.2753870Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:15.2754293Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:15.2754715Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:15.2755101Z ␛[0;32m}␛[0m
2026-05-05T08:29:15.2755250Z 
2026-05-05T08:29:15.2755640Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:15.5384308Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.019840", "end": "2026-05-05 08:29:15.502989", "msg": "", "rc": 0, "start": "2026-05-05 08:29:15.483149", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:15.5388172Z 
2026-05-05T08:29:15.5388788Z TASK [test_mysql_role : Assert that the permissions were not changed if check_mode is set to 'yes'] ***
2026-05-05T08:29:15.6061376Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:15.6062143Z 
2026-05-05T08:29:15.6062488Z TASK [test_mysql_role : Assert that only DELETE was revoked if check_mode is set to 'no'] ***
2026-05-05T08:29:15.6722949Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:15.6724193Z 
2026-05-05T08:29:15.6724639Z TASK [test_mysql_role : Try to subtract invalid privileges] ********************
2026-05-05T08:29:15.9823088Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:15.9823374Z 
2026-05-05T08:29:15.9823703Z TASK [test_mysql_role : Assert that there was no change because invalid permissions are ignored] ***
2026-05-05T08:29:16.0572522Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:16.0572934Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:16.0573315Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:16.0573672Z ␛[0;32m}␛[0m
2026-05-05T08:29:16.0573800Z 
2026-05-05T08:29:16.0574160Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:16.3145801Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.017407", "end": "2026-05-05 08:29:16.280642", "msg": "", "rc": 0, "start": "2026-05-05 08:29:16.263235", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:16.3149359Z 
2026-05-05T08:29:16.3149743Z TASK [test_mysql_role : Assert that the permissions were not changed with check_mode=='yes'] ***
2026-05-05T08:29:16.3822774Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:16.3823616Z 
2026-05-05T08:29:16.3823996Z TASK [test_mysql_role : Assert that the permissions were not changed with check_mode=='no'] ***
2026-05-05T08:29:16.4467434Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:16.4468320Z 
2026-05-05T08:29:16.4469006Z TASK [test_mysql_role : trigger failure by trying to subtract and append privileges at the same time] ***
2026-05-05T08:29:16.7360586Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "parameters are mutually exclusive: append_privs|subtract_privs"}␛[0m
2026-05-05T08:29:16.7361601Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:16.7361817Z 
2026-05-05T08:29:16.7362170Z TASK [test_mysql_role : Assert the previous execution failed] ******************
2026-05-05T08:29:16.8127218Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:16.8127727Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:16.8128240Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:16.8128856Z ␛[0;32m}␛[0m
2026-05-05T08:29:16.8129011Z 
2026-05-05T08:29:16.8129470Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:17.0676005Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.017261", "end": "2026-05-05 08:29:17.037130", "msg": "", "rc": 0, "start": "2026-05-05 08:29:17.019869", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:17.0680107Z 
2026-05-05T08:29:17.0680724Z TASK [test_mysql_role : Assert that the permissions stayed the same, with check_mode=='yes'] ***
2026-05-05T08:29:17.1361054Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:17.1361857Z 
2026-05-05T08:29:17.1362238Z TASK [test_mysql_role : Assert that the permissions stayed the same, with check_mode=='no'] ***
2026-05-05T08:29:17.1999805Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:17.2000903Z 
2026-05-05T08:29:17.2001298Z TASK [test_mysql_role : Drop test databases] ***********************************
2026-05-05T08:29:17.4971107Z ␛[0;32mok: [testhost] => {"changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": []}␛[0m
2026-05-05T08:29:17.4971732Z 
2026-05-05T08:29:17.4972012Z TASK [test_mysql_role : Drop test role] ****************************************
2026-05-05T08:29:17.8016664Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:17.8016994Z 
2026-05-05T08:29:17.8017228Z TASK [test_mysql_role : include_tasks] *****************************************
2026-05-05T08:29:17.9732492Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_priv_subtract.yml for testhost␛[0m
2026-05-05T08:29:17.9733795Z 
2026-05-05T08:29:17.9734097Z TASK [test_mysql_role : Create test databases] *********************************
2026-05-05T08:29:18.2661330Z ␛[0;32mok: [testhost] => {"changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": []}␛[0m
2026-05-05T08:29:18.2661885Z 
2026-05-05T08:29:18.2662171Z TASK [test_mysql_role : Create a role with an initial set of privileges] *******
2026-05-05T08:29:18.5812476Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:18.5812910Z 
2026-05-05T08:29:18.5813346Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:18.8401426Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.016919", "end": "2026-05-05 08:29:18.807780", "msg": "", "rc": 0, "start": "2026-05-05 08:29:18.790861", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:18.8405099Z 
2026-05-05T08:29:18.8405558Z TASK [test_mysql_role : Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:29:18.9105545Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:18.9105993Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:18.9106407Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:18.9106780Z ␛[0;32m}␛[0m
2026-05-05T08:29:18.9106923Z 
2026-05-05T08:29:18.9107379Z TASK [test_mysql_role : Subtract privileges that are not in the current privileges, which should be a no-op] ***
2026-05-05T08:29:19.2129866Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:19.2130288Z 
2026-05-05T08:29:19.2130548Z TASK [test_mysql_role : Assert that there wasn't a change in permissions] ******
2026-05-05T08:29:19.2878549Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:19.2878991Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:19.2879335Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:19.2879644Z ␛[0;32m}␛[0m
2026-05-05T08:29:19.2879756Z 
2026-05-05T08:29:19.2880067Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:19.5494236Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.016990", "end": "2026-05-05 08:29:19.517383", "msg": "", "rc": 0, "start": "2026-05-05 08:29:19.500393", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:19.5497820Z 
2026-05-05T08:29:19.5498258Z TASK [test_mysql_role : Assert that the permissions still match what was originally granted] ***
2026-05-05T08:29:19.6176753Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:19.6177179Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:19.6177549Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:19.6177876Z ␛[0;32m}␛[0m
2026-05-05T08:29:19.6177996Z 
2026-05-05T08:29:19.6178281Z TASK [test_mysql_role : Subtract existing and not-existing privileges, but not all] ***
2026-05-05T08:29:19.9233666Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:19.9234003Z 
2026-05-05T08:29:19.9234387Z TASK [test_mysql_role : Assert that there was a change because permissions were/would be revoked on data1.*] ***
2026-05-05T08:29:19.9990655Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:19.9991060Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:19.9991437Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:19.9991864Z ␛[0;32m}␛[0m
2026-05-05T08:29:19.9992031Z 
2026-05-05T08:29:19.9992395Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:20.2535836Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.016807", "end": "2026-05-05 08:29:20.221676", "msg": "", "rc": 0, "start": "2026-05-05 08:29:20.204869", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:20.2539636Z 
2026-05-05T08:29:20.3183819Z TASK [test_mysql_role : Assert that the permissions were not changed if check_mode is set to 'yes'] ***
2026-05-05T08:29:20.3184949Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:20.3185526Z 
2026-05-05T08:29:20.3185788Z TASK [test_mysql_role : Assert that only DELETE was revoked if check_mode is set to 'no'] ***
2026-05-05T08:29:20.3846063Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:20.3847147Z 
2026-05-05T08:29:20.3847535Z TASK [test_mysql_role : Try to subtract invalid privileges] ********************
2026-05-05T08:29:20.6884731Z ␛[0;32mok: [testhost] => {"changed": false}␛[0m
2026-05-05T08:29:20.6885115Z 
2026-05-05T08:29:20.6885590Z TASK [test_mysql_role : Assert that there was no change because invalid permissions are ignored] ***
2026-05-05T08:29:20.7623234Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:20.7623729Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:20.7624247Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:20.7624705Z ␛[0;32m}␛[0m
2026-05-05T08:29:20.7624863Z 
2026-05-05T08:29:20.7625825Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:21.0137692Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.016824", "end": "2026-05-05 08:29:20.983524", "msg": "", "rc": 0, "start": "2026-05-05 08:29:20.966700", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:21.0140467Z 
2026-05-05T08:29:21.0140760Z TASK [test_mysql_role : Assert that the permissions were not changed with check_mode=='yes'] ***
2026-05-05T08:29:21.0776971Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:21.0777855Z 
2026-05-05T08:29:21.0778295Z TASK [test_mysql_role : Assert that the permissions were not changed with check_mode=='no'] ***
2026-05-05T08:29:21.1407686Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:21.1408757Z 
2026-05-05T08:29:21.1409261Z TASK [test_mysql_role : trigger failure by trying to subtract and append privileges at the same time] ***
2026-05-05T08:29:21.4300213Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "parameters are mutually exclusive: append_privs|subtract_privs"}␛[0m
2026-05-05T08:29:21.4301151Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:21.4301354Z 
2026-05-05T08:29:21.4301684Z TASK [test_mysql_role : Assert the previous execution failed] ******************
2026-05-05T08:29:21.5021452Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:21.5021820Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:21.5022141Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:21.5022417Z ␛[0;32m}␛[0m
2026-05-05T08:29:21.5022521Z 
2026-05-05T08:29:21.5022805Z TASK [test_mysql_role : Run command to show privileges for role (expect privileges in stdout)] ***
2026-05-05T08:29:21.7587693Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'role2'"], "delta": "0:00:00.016841", "end": "2026-05-05 08:29:21.727564", "msg": "", "rc": 0, "start": "2026-05-05 08:29:21.710723", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for role2@%\nGRANT USAGE ON *.* TO `role2`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`", "stdout_lines": ["Grants for role2@%", "GRANT USAGE ON *.* TO `role2`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `role2`@`%`"]}␛[0m
2026-05-05T08:29:21.7591568Z 
2026-05-05T08:29:21.7592027Z TASK [test_mysql_role : Assert that the permissions stayed the same, with check_mode=='yes'] ***
2026-05-05T08:29:21.8216971Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:21.8217846Z 
2026-05-05T08:29:21.8218287Z TASK [test_mysql_role : Assert that the permissions stayed the same, with check_mode=='no'] ***
2026-05-05T08:29:21.8852978Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:21.8853620Z 
2026-05-05T08:29:21.8853841Z TASK [test_mysql_role : Drop test databases] ***********************************
2026-05-05T08:29:22.1767390Z ␛[0;32mok: [testhost] => {"changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": []}␛[0m
2026-05-05T08:29:22.1768212Z 
2026-05-05T08:29:22.1768738Z TASK [test_mysql_role : Drop test role] ****************************************
2026-05-05T08:29:22.4864490Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:22.4864896Z 
2026-05-05T08:29:22.4865259Z TASK [test_mysql_role : Mysql_role Column case sensitive | Create a test table] ***
2026-05-05T08:29:22.7733517Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE DATABASE mysql_role_column_case", "CREATE TABLE mysql_role_column_case.t1 (a int, B int, cC int, Dd int)", "INSERT INTO mysql_role_column_case.t1 (a, B, cC, Dd) VALUES (1,2,3,4)"], "execution_time_ms": [1.3186, 5.167, 1.0924], "query_result": [[], [], []], "rowcount": [1, 0, 1]}␛[0m
2026-05-05T08:29:22.7735385Z 
2026-05-05T08:29:22.7735713Z TASK [test_mysql_role : Mysql_role Column case sensitive | Create users] *******
2026-05-05T08:29:23.0721903Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "column_case_sensitive"}␛[0m
2026-05-05T08:29:23.0722585Z 
2026-05-05T08:29:23.0722845Z TASK [test_mysql_role : Mysql_role Column case sensitive | Create role] ********
2026-05-05T08:29:23.3782089Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:23.3782530Z 
2026-05-05T08:29:23.3783005Z TASK [test_mysql_role : Mysql_role Column case sensitive | Assert role privileges are all caps] ***
2026-05-05T08:29:23.6712865Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role_column_case_sensitive"], "execution_time_ms": [0.3753], "failed_when_result": false, "query_result": [[{"Grants for role_column_case_sensitive@%": "GRANT USAGE ON *.* TO `role_column_case_sensitive`@`%`"}, {"Grants for role_column_case_sensitive@%": "GRANT SELECT (`A`, `B`, `CC`, `DD`) ON `mysql_role_column_case`.`t1` TO `role_column_case_sensitive`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:29:23.6714759Z 
2026-05-05T08:29:23.6715126Z TASK [test_mysql_role : Mysql_role Column case sensitive | Assert 1 column is accessible on MySQL] ***
2026-05-05T08:29:23.9737399Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["DESC mysql_role_column_case.t1"], "execution_time_ms": [1.5527], "failed_when_result": false, "query_result": [[{"Default": null, "Extra": "", "Field": "B", "Key": "", "Null": "YES", "Type": "int"}]], "rowcount": [1]}␛[0m
2026-05-05T08:29:23.9739097Z 
2026-05-05T08:29:23.9739581Z TASK [test_mysql_role : Mysql_role Column case sensitive | Assert 4 column are accessible on MariaDB] ***
2026-05-05T08:29:24.0373416Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:24.0374265Z 
2026-05-05T08:29:24.0374719Z TASK [test_mysql_role : Mysql_role Column case sensitive | Recreate role with case sensitive] ***
2026-05-05T08:29:24.3463885Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:24.3464232Z 
2026-05-05T08:29:24.3464606Z TASK [test_mysql_role : Mysql_role Column case sensitive | Assert role privileges are case sensitive] ***
2026-05-05T08:29:24.6803445Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR role_column_case_sensitive"], "execution_time_ms": [0.3698], "failed_when_result": false, "query_result": [[{"Grants for role_column_case_sensitive@%": "GRANT USAGE ON *.* TO `role_column_case_sensitive`@`%`"}, {"Grants for role_column_case_sensitive@%": "GRANT SELECT (`B`, `Dd`, `a`, `cC`) ON `mysql_role_column_case`.`t1` TO `role_column_case_sensitive`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:29:24.6805661Z 
2026-05-05T08:29:24.6806054Z TASK [test_mysql_role : Mysql_role Column case sensitive | Assert 4 columns are accessible] ***
2026-05-05T08:29:24.9906059Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SET ROLE role_column_case_sensitive", "DESC mysql_role_column_case.t1"], "execution_time_ms": [0.2551, 1.2433], "failed_when_result": false, "query_result": [[], [{"Default": null, "Extra": "", "Field": "a", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "B", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "cC", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "Dd", "Key": "", "Null": "YES", "Type": "int"}]], "rowcount": [0, 4]}␛[0m
2026-05-05T08:29:24.9908310Z 
2026-05-05T08:29:24.9908856Z TASK [test_mysql_role : Mysql_role Column case sensitive | Delete test users] ***
2026-05-05T08:29:25.2879639Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "column_case_sensitive"}␛[0m
2026-05-05T08:29:25.2880356Z 
2026-05-05T08:29:25.2880613Z TASK [test_mysql_role : Mysql_role Column case sensitive | Delete role] ********
2026-05-05T08:29:25.5996447Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:25.5996825Z 
2026-05-05T08:29:25.5997168Z TASK [test_mysql_role : Mysql_role Column case sensitive | Delete test database] ***
2026-05-05T08:29:25.9030395Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "mysql_role_column_case", "db_list": ["mysql_role_column_case"], "executed_commands": ["DROP DATABASE `mysql_role_column_case`"]}␛[0m
2026-05-05T08:29:25.9031292Z 
2026-05-05T08:29:25.9031557Z TASK [test_mysql_role : Test sql_log_bin parameter] ****************************
2026-05-05T08:29:26.0706544Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_role-m1e1gs9q-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_role/tasks/test_sql_log_bin.yml for testhost␛[0m
2026-05-05T08:29:26.0707756Z 
2026-05-05T08:29:26.0708056Z TASK [test_mysql_role : Sql_log_bin | Set show_master_status variable] *********
2026-05-05T08:29:26.1458632Z ␛[0;32mok: [testhost] => {"ansible_facts": {"show_master_status": "  SHOW BINARY LOG STATUS\n"}, "changed": false}␛[0m
2026-05-05T08:29:26.1459139Z 
2026-05-05T08:29:26.1459546Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position before creating role with sql_log_bin enabled] ***
2026-05-05T08:29:26.3982835Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.016590", "end": "2026-05-05 08:29:26.368351", "msg": "", "rc": 0, "start": "2026-05-05 08:29:26.351761", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16000\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16000", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:26.3985461Z 
2026-05-05T08:29:26.3985680Z TASK [test_mysql_role : Sql_log_bin | Create role with sql_log_bin enabled] ****
2026-05-05T08:29:26.7023130Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:26.7023516Z 
2026-05-05T08:29:26.7024038Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position after creating role with sql_log_bin enabled] ***
2026-05-05T08:29:26.9626163Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.016896", "end": "2026-05-05 08:29:26.929172", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:26.912276", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16190\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16190", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:26.9629619Z 
2026-05-05T08:29:26.9629870Z TASK [test_mysql_role : Sql_log_bin | Remove role with sql_log_bin enabled] ****
2026-05-05T08:29:27.2663702Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:27.2664106Z 
2026-05-05T08:29:27.2664621Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position after removing role with sql_log_bin enabled] ***
2026-05-05T08:29:27.5303141Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.017389", "end": "2026-05-05 08:29:27.496456", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:27.479067", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16378\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16378", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:27.5306042Z 
2026-05-05T08:29:27.5306395Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position before creating role with sql_log_bin disabled] ***
2026-05-05T08:29:27.7829288Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.016912", "end": "2026-05-05 08:29:27.752832", "msg": "", "rc": 0, "start": "2026-05-05 08:29:27.735920", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16378\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16378", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:27.7831874Z 
2026-05-05T08:29:27.7832083Z TASK [test_mysql_role : Sql_log_bin | Create role with sql_log_bin disabled] ***
2026-05-05T08:29:28.0831462Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:28.0831859Z 
2026-05-05T08:29:28.0832374Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position after creating role with sql_log_bin disabled] ***
2026-05-05T08:29:28.3373688Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.016927", "end": "2026-05-05 08:29:28.305088", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:28.288161", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16378\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16378", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:28.3376835Z 
2026-05-05T08:29:28.3377069Z TASK [test_mysql_role : Sql_log_bin | Remove role with sql_log_bin disabled] ***
2026-05-05T08:29:28.6549758Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:29:28.6550181Z 
2026-05-05T08:29:28.6550783Z TASK [test_mysql_role : Sql_log_bin | Capture binlog position after removing role with sql_log_bin disabled] ***
2026-05-05T08:29:28.9987028Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "  SHOW BINARY LOG STATUS\n\\G"], "delta": "0:00:00.016982", "end": "2026-05-05 08:29:28.879687", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:28.862705", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "*************************** 1. row ***************************\n             File: primary-bin.000001\n         Position: 16378\n     Binlog_Do_DB: \n Binlog_Ignore_DB: \nExecuted_Gtid_Set: ", "stdout_lines": ["*************************** 1. row ***************************", "             File: primary-bin.000001", "         Position: 16378", "     Binlog_Do_DB: ", " Binlog_Ignore_DB: ", "Executed_Gtid_Set: "]}␛[0m
2026-05-05T08:29:28.9991417Z 
2026-05-05T08:29:28.9991611Z PLAY RECAP *********************************************************************
2026-05-05T08:29:28.9992519Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=246 ␛[0m ␛[0;33mchanged=63  ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=70  ␛[0m rescued=0    ␛[1;35mignored=16  ␛[0m
2026-05-05T08:29:28.9993093Z 
2026-05-05T08:29:29.0589497Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:29:29.0591775Z Running test_mysql_user integration test role
2026-05-05T08:29:29.0685116Z ␛[32mStream command: ansible-playbook test_mysql_user-2btlnca7.yml -i inventory --diff -v␛[0m
2026-05-05T08:29:29.8048908Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:29:29.8050314Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/inte␛[0m
2026-05-05T08:29:29.8051931Z ␛[1;35mgration/targets/test_mysql_user/tasks/test_column_case_sensitive.yml, line 58,␛[0m
2026-05-05T08:29:29.8053476Z ␛[1;35mcolumn 9, found a duplicate dict key (login_user). Using last defined value␛[0m
2026-05-05T08:29:29.8054291Z ␛[1;35monly.␛[0m
2026-05-05T08:29:29.8054872Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:29:29.8055812Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/inte␛[0m
2026-05-05T08:29:29.8056713Z ␛[1;35mgration/targets/test_mysql_user/tasks/test_column_case_sensitive.yml, line 70,␛[0m
2026-05-05T08:29:29.8057438Z ␛[1;35mcolumn 9, found a duplicate dict key (login_user). Using last defined value␛[0m
2026-05-05T08:29:29.8057842Z ␛[1;35monly.␛[0m
2026-05-05T08:29:29.8058244Z ␛[1;35m[WARNING]: While constructing a mapping from /root/ansible_collections/ansible/␛[0m
2026-05-05T08:29:29.8059011Z ␛[1;35mmysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/inte␛[0m
2026-05-05T08:29:29.8059609Z ␛[1;35mgration/targets/test_mysql_user/tasks/test_column_case_sensitive.yml, line 114,␛[0m
2026-05-05T08:29:29.8060188Z ␛[1;35mcolumn 9, found a duplicate dict key (login_user). Using last defined value␛[0m
2026-05-05T08:29:29.8060574Z ␛[1;35monly.␛[0m
2026-05-05T08:29:29.9181780Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:29:29.9183073Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:29:29.9183429Z 
2026-05-05T08:29:29.9184265Z PLAY [testhost] ****************************************************************
2026-05-05T08:29:29.9184628Z 
2026-05-05T08:29:29.9184856Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:29:30.8629031Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:29:30.8629350Z 
2026-05-05T08:29:30.8629757Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:29:31.2080296Z ␛[0;31m--- before␛[0m
2026-05-05T08:29:31.2080658Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:29:31.2081025Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:29:31.2081339Z ␛[0;36m␛[0m {
2026-05-05T08:29:31.2082220Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:29:31.2083224Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:29:31.2083601Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:29:31.2083976Z ␛[0;32m␛[0m }
2026-05-05T08:29:31.2084102Z 
2026-05-05T08:29:31.2085582Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:29:31.2086934Z 
2026-05-05T08:29:31.2087234Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:29:31.4504553Z ␛[0;31m--- before␛[0m
2026-05-05T08:29:31.4504921Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:29:31.4505285Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:29:31.4505601Z ␛[0;36m␛[0m {
2026-05-05T08:29:31.4505893Z ␛[0;31m-    "atime": 1777969771.4182024,␛[0m
2026-05-05T08:29:31.4506318Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969771.4182024,␛[0m
2026-05-05T08:29:31.4506761Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969771.4191859,␛[0m
2026-05-05T08:29:31.4507190Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969771.4191859,␛[0m
2026-05-05T08:29:31.4508710Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:29:31.4509823Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:29:31.4510178Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:29:31.4510506Z ␛[0;32m␛[0m }
2026-05-05T08:29:31.4510631Z 
2026-05-05T08:29:31.4512117Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:29:31.4513463Z 
2026-05-05T08:29:31.4513800Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:29:32.4545839Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:29:32.4546398Z 
2026-05-05T08:29:32.4546678Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:29:33.1633466Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:29:33.1633857Z 
2026-05-05T08:29:33.1634380Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:29:33.2372260Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:29:33.2373458Z 
2026-05-05T08:29:33.2373737Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:29:33.3103235Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:29:33.3105029Z 
2026-05-05T08:29:33.3105347Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:29:33.3814915Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:33.3815443Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:29:33.3815805Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:29:33.3816218Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:29:33.3816601Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:29:33.3816944Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:29:33.3817322Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:29:33.3817662Z ␛[0;32m    ]␛[0m
2026-05-05T08:29:33.3817896Z ␛[0;32m}␛[0m
2026-05-05T08:29:33.3818262Z 
2026-05-05T08:29:33.3818834Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:29:33.9143723Z ␛[0;32mok: [testhost] => {"changed": false, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/apt/trusted.gpg.d/mysql.asc", "size": 3175, "state": "file", "uid": 0}␛[0m
2026-05-05T08:29:33.9145108Z 
2026-05-05T08:29:33.9145412Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:29:34.8398272Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:29:34.8398953Z 
2026-05-05T08:29:34.8399202Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:29:35.2942405Z ␛[0;32mok: [testhost] => {"changed": false, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:29:35.2944007Z 
2026-05-05T08:29:35.2944269Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:29:39.7693813Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:29:39.7694429Z 
2026-05-05T08:29:39.7694814Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:29:40.6044834Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)\n", "stdout_lines": ["Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:29:40.6049601Z 
2026-05-05T08:29:40.6049902Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:29:41.0369889Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:29:41.0371198Z 
2026-05-05T08:29:41.0371720Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:29:41.1096016Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:41.1096431Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:41.1096833Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:41.1097187Z ␛[0;32m}␛[0m
2026-05-05T08:29:41.1097317Z 
2026-05-05T08:29:41.1097665Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:29:41.1949666Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:41.1950197Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:41.1950680Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:41.1951079Z ␛[0;32m}␛[0m
2026-05-05T08:29:41.1951231Z 
2026-05-05T08:29:41.1951524Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:29:41.5239220Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.014387", "end": "2026-05-05 08:29:41.492104", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:41.477717", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:29:41.5240851Z 
2026-05-05T08:29:41.5241169Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:29:41.5992266Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:41.5993034Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:29:41.5993644Z ␛[0;32m}␛[0m
2026-05-05T08:29:41.5993812Z 
2026-05-05T08:29:41.5994150Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:29:41.6736890Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:41.6737381Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:41.6737810Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:41.6738214Z ␛[0;32m}␛[0m
2026-05-05T08:29:41.6738533Z 
2026-05-05T08:29:41.6739018Z TASK [setup_remote_tmp_dir : make sure we have the ansible_os_family and ansible_distribution_version facts] ***
2026-05-05T08:29:41.7366430Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "ansible_facts == {}", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:41.7367080Z 
2026-05-05T08:29:41.7367320Z TASK [setup_remote_tmp_dir : include_tasks] ************************************
2026-05-05T08:29:41.8298286Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/setup_remote_tmp_dir/tasks/default.yml for testhost␛[0m
2026-05-05T08:29:41.8299786Z 
2026-05-05T08:29:41.8300094Z TASK [setup_remote_tmp_dir : create temporary directory] ***********************
2026-05-05T08:29:42.1393659Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/ansible.7ibx0chb.test", "size": 40, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:29:42.1395386Z 
2026-05-05T08:29:42.1395819Z TASK [setup_remote_tmp_dir : record temporary directory] ***********************
2026-05-05T08:29:42.2130883Z ␛[0;32mok: [testhost] => {"ansible_facts": {"remote_tmp_dir": "/tmp/ansible.7ibx0chb.test"}, "changed": false}␛[0m
2026-05-05T08:29:42.2131547Z 
2026-05-05T08:29:42.2131820Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:42.3188325Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/issue-121.yml for testhost␛[0m
2026-05-05T08:29:42.3189629Z 
2026-05-05T08:29:42.3189926Z TASK [test_mysql_user : Issue-121 | Setup | Get server certificate] ************
2026-05-05T08:29:43.0151815Z ␛[0;31m--- before␛[0m
2026-05-05T08:29:43.0152389Z ␛[0;31m␛[0m␛[0;32m+++ after: /tmp/cert.pem␛[0m
2026-05-05T08:29:43.0152902Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,38 @@␛[0m
2026-05-05T08:29:43.0153944Z ␛[0;36m␛[0m␛[0;32m+-----BEGIN CERTIFICATE-----␛[0m
2026-05-05T08:29:43.0163613Z ␛[0;32m␛[0m␛[0;32m+MIIDBTCCAe2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADA7MTkwNwYDVQQDDDBNeVNR␛[0m
2026-05-05T08:29:43.0165530Z ␛[0;32m␛[0m␛[0;32m+TF9TZXJ2ZXJfOC40LjFfQXV0b19HZW5lcmF0ZWRfQ0FfQ2VydGlmaWNhdGUwHhcN␛[0m
2026-05-05T08:29:43.0166900Z ␛[0;32m␛[0m␛[0;32m+MjYwNTA1MDgxOTM0WhcNMzYwNTAyMDgxOTM0WjA/MT0wOwYDVQQDDDRNeVNRTF9T␛[0m
2026-05-05T08:29:43.0168278Z ␛[0;32m␛[0m␛[0;32m+ZXJ2ZXJfOC40LjFfQXV0b19HZW5lcmF0ZWRfU2VydmVyX0NlcnRpZmljYXRlMIIB␛[0m
2026-05-05T08:29:43.0169853Z ␛[0;32m␛[0m␛[0;32m+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3mQFTrtPpdPDMEmlzNnPUzdV␛[0m
2026-05-05T08:29:43.0171152Z ␛[0;32m␛[0m␛[0;32m+a9iuDLnD97vDJszAsZlc17xQM1v/j5knC6e/C5jcyvH9P50x6sYqpt7yK1jKJAsJ␛[0m
2026-05-05T08:29:43.0172435Z ␛[0;32m␛[0m␛[0;32m+UO7HNtBlanWtwKzHGTtrZxS4UlAterXv+BTqoO6Zdv/zLBlfj1YKzbbp4E+erCe7␛[0m
2026-05-05T08:29:43.0173763Z ␛[0;32m␛[0m␛[0;32m+2ix9APlWwRsHYbhJE1EbmCinlLs6kwT676qER6F6Eb6nqemSZKF4ZOSefygXerU3␛[0m
2026-05-05T08:29:43.0175145Z ␛[0;32m␛[0m␛[0;32m+Be38fKDCWli9O8XBfNlQpEPV+H/E08IPN2aKRua4V/VBqC6kYjaFBDF/pZywTWRY␛[0m
2026-05-05T08:29:43.0176258Z ␛[0;32m␛[0m␛[0;32m+ehcrVTO5A/O6JQzJhstu10cy/DZ5jGA7BBSekucPnECwjoeD+ZUsa/a2B4fSYwID␛[0m
2026-05-05T08:29:43.0177372Z ␛[0;32m␛[0m␛[0;32m+AQABoxAwDjAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAsC6tuo8il␛[0m
2026-05-05T08:29:43.0178701Z ␛[0;32m␛[0m␛[0;32m+jGOWPEOXvjkt/WksYgZlrA9b+SlbitQIlhDWNdXjZRhIgGniQb+USF554eF4Ew+b␛[0m
2026-05-05T08:29:43.0179868Z ␛[0;32m␛[0m␛[0;32m+j81fu1PcnGgW5fIyyxMMmWpJUY4Sx0ah8rIsqFaBnniXmw5qsQFK2OFUVsvMpNFn␛[0m
2026-05-05T08:29:43.0181013Z ␛[0;32m␛[0m␛[0;32m+6HL0RiIIInMiyaDCEOD6U7hGGYSXeVl53/guAtQv6+16TVpC5OZAa8jVxuLxT2fJ␛[0m
2026-05-05T08:29:43.0182106Z ␛[0;32m␛[0m␛[0;32m+QDBEbdWCO+g/1impNs3hXj53RrRnEyjqYo4tsDighJG6+FPUUhYvFwznaEyEWAUv␛[0m
2026-05-05T08:29:43.0183234Z ␛[0;32m␛[0m␛[0;32m+Qvaq4oIFF4zQSwAlmh0AP74Nc0o2b5teIUwLaO455+i2HEHduJBGlBn+9mLkrto0␛[0m
2026-05-05T08:29:43.0184048Z ␛[0;32m␛[0m␛[0;32m+3eRgpE8DZ1GO␛[0m
2026-05-05T08:29:43.0184568Z ␛[0;32m␛[0m␛[0;32m+-----END CERTIFICATE-----␛[0m
2026-05-05T08:29:43.0185184Z ␛[0;32m␛[0m␛[0;32m+-----BEGIN CERTIFICATE-----␛[0m
2026-05-05T08:29:43.0186151Z ␛[0;32m␛[0m␛[0;32m+MIIDBDCCAeygAwIBAgIBATANBgkqhkiG9w0BAQsFADA7MTkwNwYDVQQDDDBNeVNR␛[0m
2026-05-05T08:29:43.0187336Z ␛[0;32m␛[0m␛[0;32m+TF9TZXJ2ZXJfOC40LjFfQXV0b19HZW5lcmF0ZWRfQ0FfQ2VydGlmaWNhdGUwHhcN␛[0m
2026-05-05T08:29:43.0188685Z ␛[0;32m␛[0m␛[0;32m+MjYwNTA1MDgxOTM0WhcNMzYwNTAyMDgxOTM0WjA7MTkwNwYDVQQDDDBNeVNRTF9T␛[0m
2026-05-05T08:29:43.0189880Z ␛[0;32m␛[0m␛[0;32m+ZXJ2ZXJfOC40LjFfQXV0b19HZW5lcmF0ZWRfQ0FfQ2VydGlmaWNhdGUwggEiMA0G␛[0m
2026-05-05T08:29:43.0191095Z ␛[0;32m␛[0m␛[0;32m+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0R4syINKj8xX4oUtHQUHj75mjP0LD␛[0m
2026-05-05T08:29:43.0192281Z ␛[0;32m␛[0m␛[0;32m+GO221HJHDKDAytWaZeY0RucI6mGtm9Css5x+UhrgdW7EBSA18mD0dz4VEAak72lB␛[0m
2026-05-05T08:29:43.0193431Z ␛[0;32m␛[0m␛[0;32m+WafYO2oBRDHbsJHli3I0NOkC5fih+UijwpvrjRnE+AryaZAja/33XhE92EaYGUcU␛[0m
2026-05-05T08:29:43.0194559Z ␛[0;32m␛[0m␛[0;32m+oqAmaQ/p76NeIehaese3CrcYObWDPAY7AXpEd7nblTbc5ZqFaxDd9r5c/DUB4TuY␛[0m
2026-05-05T08:29:43.0195768Z ␛[0;32m␛[0m␛[0;32m+3LVaPftoxSQsbCI3DzvQQKfZhntojA43b9I+7Wzk8tJTO2qyEmD4GKr0jn+A+w23␛[0m
2026-05-05T08:29:43.0196980Z ␛[0;32m␛[0m␛[0;32m+PRhuNB1oZXFSTk6CqyWnY+4u8+fBiMlA28uLV06XKA2+6PhOq3mF1rjHAgMBAAGj␛[0m
2026-05-05T08:29:43.0198142Z ␛[0;32m␛[0m␛[0;32m+EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJLAKbJFdrkv␛[0m
2026-05-05T08:29:43.0199492Z ␛[0;32m␛[0m␛[0;32m+bBXJnDQrcwZV0zKEvIzeHIVHqxf/0PqMeHOpab4Wk+OJJnhaMqRwD6LrWttVviAQ␛[0m
2026-05-05T08:29:43.0200692Z ␛[0;32m␛[0m␛[0;32m+yiXct8qNeCHMjI4nlJWufPgGpzry1K1C5RG9LRKgCOPNpMlEhCCx6O3GBNESCOkD␛[0m
2026-05-05T08:29:43.0201861Z ␛[0;32m␛[0m␛[0;32m+bt1uZz8Q8/yYXnWG8n0pUlLdJILX0LpwkRt9Bo2vH4N36iX60jrbEiSJFQKt6rJd␛[0m
2026-05-05T08:29:43.0202980Z ␛[0;32m␛[0m␛[0;32m+KbqlRQ0Z/FhWx5inVXWauRXxIAe3Z6+z1KWKpJjrN7Vt1cE3qgS2LcV3HgJMTeQX␛[0m
2026-05-05T08:29:43.0204083Z ␛[0;32m␛[0m␛[0;32m+8ldLqKnBSj0k19n8UAj8Q4SUIGg8rph/QdFL+BmIeN26zCqpdxrRhTTN2J5pYG7b␛[0m
2026-05-05T08:29:43.0204938Z ␛[0;32m␛[0m␛[0;32m+VJXfrluFJvM=␛[0m
2026-05-05T08:29:43.0205871Z ␛[0;32m␛[0m␛[0;32m+-----END CERTIFICATE-----␛[0m
2026-05-05T08:29:43.0206407Z ␛[0;32m\ No newline at end of file␛[0m
2026-05-05T08:29:43.0206831Z ␛[0;32m␛[0m
2026-05-05T08:29:43.0209733Z ␛[0;33mchanged: [testhost -> localhost] => {"changed": true, "checksum": "ab436ab10a8c6ddd6dc5c81a6a7cbc8b9adae042", "dest": "/tmp/cert.pem", "gid": 0, "group": "root", "md5sum": "2a6fdcc69b0b7b999ae40eb5ecd94b98", "mode": "0644", "owner": "root", "size": 2213, "src": "/root/.ansible/tmp/ansible-tmp-1777969782.3951354-4767-155337545625115/.source.pem", "state": "file", "uid": 0}␛[0m
2026-05-05T08:29:43.0211900Z 
2026-05-05T08:29:43.0212230Z TASK [test_mysql_user : Issue-121 | Drop mysql user if exists] *****************
2026-05-05T08:29:43.6523273Z ␛[0;32mok: [testhost] => (item=db_user1) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "db_user1", "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:43.6525220Z ␛[0;32mok: [testhost] => (item=db_user2) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "db_user2", "msg": "User doesn't exist", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:29:43.6526144Z 
2026-05-05T08:29:43.6526491Z TASK [test_mysql_user : Issue-121 | Create user with REQUIRESSL privilege (expect failure)] ***
2026-05-05T08:29:43.9677612Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: SELECT,CREATE USER,REQUIRESSL , params: ('db_user1', 'localhost'), query: GRANT SELECT,CREATE USER,REQUIRESSL ON *.* TO %s@%s WITH GRANT OPTION , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:29:43.9680205Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:43.9680425Z 
2026-05-05T08:29:43.9680775Z TASK [test_mysql_user : Issue-121 | Assert error granting privileges] **********
2026-05-05T08:29:44.0435216Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:44.0435658Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:44.0436070Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:44.0436430Z ␛[0;32m}␛[0m
2026-05-05T08:29:44.0436559Z 
2026-05-05T08:29:44.0437052Z TASK [test_mysql_user : Issue-121 | Create user with both REQUIRESSL privilege and an incompatible tls_requires option] ***
2026-05-05T08:29:44.3461720Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: SELECT,CREATE USER,REQUIRESSL , params: ('db_user1', '172.18.0.1'), query: GRANT SELECT,CREATE USER,REQUIRESSL ON *.* TO %s@%s WITH GRANT OPTION , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:29:44.3463530Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:44.3463679Z 
2026-05-05T08:29:44.3464076Z TASK [test_mysql_user : Issue-121 | Assert error granting privileges with incompatible tls_requires option] ***
2026-05-05T08:29:44.4249494Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:44.4249994Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:44.4250454Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:44.4250877Z ␛[0;32m}␛[0m
2026-05-05T08:29:44.4251033Z 
2026-05-05T08:29:44.4251351Z TASK [test_mysql_user : Issue-121 | Teardown | Drop mysql user] ****************
2026-05-05T08:29:44.9687619Z ␛[0;33mchanged: [testhost] => (item=db_user1) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": "db_user1", "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:44.9689985Z ␛[0;32mok: [testhost] => (item=db_user2) => {"ansible_loop_var": "item", "attributes": null, "changed": false, "item": "db_user2", "msg": "User doesn't exist", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:29:44.9691014Z 
2026-05-05T08:29:45.0862513Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:45.0865012Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/issue-28.yml for testhost␛[0m
2026-05-05T08:29:45.0866206Z 
2026-05-05T08:29:45.0866494Z TASK [test_mysql_user : set fact tls_enabled] **********************************
2026-05-05T08:29:45.3439751Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e SHOW VARIABLES LIKE 'have_ssl';"], "delta": "0:00:00.018576", "end": "2026-05-05 08:29:45.311776", "msg": "", "rc": 0, "start": "2026-05-05 08:29:45.293200", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:29:45.3441986Z 
2026-05-05T08:29:45.3442234Z TASK [test_mysql_user : set_fact] **********************************************
2026-05-05T08:29:45.4342712Z ␛[0;32mok: [testhost] => {"ansible_facts": {"tls_enabled": false}, "changed": false}␛[0m
2026-05-05T08:29:45.4343196Z 
2026-05-05T08:29:45.4343471Z TASK [test_mysql_user : Issue-28 | Setup | Get server certificate] *************
2026-05-05T08:29:45.4988978Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.4989699Z 
2026-05-05T08:29:45.4989986Z TASK [test_mysql_user : Issue-28 | Setup | Drop mysql user if exists] **********
2026-05-05T08:29:45.5629456Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.5630143Z 
2026-05-05T08:29:45.5630566Z TASK [test_mysql_user : Issue-28 | Create user with ssl requirement] ***********
2026-05-05T08:29:45.6261983Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.6262725Z 
2026-05-05T08:29:45.6263104Z TASK [test_mysql_user : Issue-28 | Attempt connection with newly created user (expect failure)] ***
2026-05-05T08:29:45.6891106Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.6891931Z 
2026-05-05T08:29:45.6892258Z TASK [test_mysql_user : Issue-28 | Assert connection failed] *******************
2026-05-05T08:29:45.7511774Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.7512575Z 
2026-05-05T08:29:45.7512907Z TASK [test_mysql_user : Issue-28 | Assert connection succeeded] ****************
2026-05-05T08:29:45.8182241Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.8183394Z 
2026-05-05T08:29:45.8184062Z TASK [test_mysql_user : Issue-28 | Attempt connection with newly created user ignoring hostname] ***
2026-05-05T08:29:45.8814645Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.8815569Z 
2026-05-05T08:29:45.8815929Z TASK [test_mysql_user : Issue-28 | Assert connection succeeded] ****************
2026-05-05T08:29:45.9444168Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:45.9445010Z 
2026-05-05T08:29:45.9445320Z TASK [test_mysql_user : Issue-28 | Drop mysql user] ****************************
2026-05-05T08:29:46.0134720Z ␛[0;36mskipping: [testhost] => (item=db_user1)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "tls_enabled", "item": "db_user1", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:46.0137162Z ␛[0;36mskipping: [testhost] => (item=db_user2)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "tls_enabled", "item": "db_user2", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:46.0138604Z ␛[0;36mskipping: [testhost] => {"changed": false, "msg": "All items skipped"}␛[0m
2026-05-05T08:29:46.0138983Z 
2026-05-05T08:29:46.0139194Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:46.1541047Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_resource_limits.yml for testhost␛[0m
2026-05-05T08:29:46.1542712Z 
2026-05-05T08:29:46.4493891Z TASK [test_mysql_user : Resource limits | Drop mysql user db_user1 if exists] ***
2026-05-05T08:29:46.4495199Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:46.4495804Z 
2026-05-05T08:29:46.4496221Z TASK [test_mysql_user : Resource limits | Create mysql user db_user1 with resource limits in check_mode] ***
2026-05-05T08:29:46.7526366Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": null, "user": "db_user1"}␛[0m
2026-05-05T08:29:46.7527150Z 
2026-05-05T08:29:46.7527597Z TASK [test_mysql_user : Resource limits | Assert that create user with resource limits is changed] ***
2026-05-05T08:29:46.8325661Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:46.8326161Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:46.8326613Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:46.8327048Z ␛[0;32m}␛[0m
2026-05-05T08:29:46.8327203Z 
2026-05-05T08:29:46.8327681Z TASK [test_mysql_user : Resource limits | Create mysql user db_user1 with resource limits in actual mode] ***
2026-05-05T08:29:47.1431755Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:29:47.1432613Z 
2026-05-05T08:29:47.1432943Z TASK [test_mysql_user : assert] ************************************************
2026-05-05T08:29:47.2180372Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:47.2180874Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:47.2181368Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:47.2181800Z ␛[0;32m}␛[0m
2026-05-05T08:29:47.2181966Z 
2026-05-05T08:29:47.2182272Z TASK [test_mysql_user : Resource limits | Retrieve user] ***********************
2026-05-05T08:29:47.5907441Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT User FROM mysql.user WHERE User = 'db_user1' AND Host = 'localhost' AND max_questions = 10 AND max_connections = 5\n"], "execution_time_ms": [0.5953], "query_result": [[{"User": "db_user1"}]], "rowcount": [1]}␛[0m
2026-05-05T08:29:47.5908887Z 
2026-05-05T08:29:47.5909145Z TASK [test_mysql_user : Resource limits | Assert that rowcount is 1] ***********
2026-05-05T08:29:47.6609854Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:47.6610515Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:47.6611100Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:47.6611656Z ␛[0;32m}␛[0m
2026-05-05T08:29:47.6611851Z 
2026-05-05T08:29:47.6612351Z TASK [test_mysql_user : Resource limits | Try to set the same limits again in check mode] ***
2026-05-05T08:29:47.9719793Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:47.9720433Z 
2026-05-05T08:29:47.9720759Z TASK [test_mysql_user : Resource limits | Assert that set same limits again is not changed] ***
2026-05-05T08:29:48.0469554Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:48.0470065Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:48.0470521Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:48.0470950Z ␛[0;32m}␛[0m
2026-05-05T08:29:48.0471102Z 
2026-05-05T08:29:48.0471504Z TASK [test_mysql_user : Resource limits | Try to set the same limits again in actual mode] ***
2026-05-05T08:29:48.3565807Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:48.3566573Z 
2026-05-05T08:29:48.3567050Z TASK [test_mysql_user : Resource limits | Assert that set same limits again in actual mode is not changed] ***
2026-05-05T08:29:48.4321675Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:48.4322156Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:48.4322554Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:48.4322913Z ␛[0;32m}␛[0m
2026-05-05T08:29:48.4323040Z 
2026-05-05T08:29:48.4323307Z TASK [test_mysql_user : Resource limits | Change limits] ***********************
2026-05-05T08:29:48.7573630Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:48.7574294Z 
2026-05-05T08:29:48.7574559Z TASK [test_mysql_user : Resource limits | Assert limits changed] ***************
2026-05-05T08:29:48.8332812Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:48.8333390Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:48.8333976Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:48.8334524Z ␛[0;32m}␛[0m
2026-05-05T08:29:48.8334731Z 
2026-05-05T08:29:48.8335125Z TASK [test_mysql_user : Resource limits | Get user limits] *********************
2026-05-05T08:29:49.1229288Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT User FROM mysql.user WHERE User = 'db_user1' AND Host = 'localhost' AND max_questions = 5 AND max_connections = 5\n"], "execution_time_ms": [0.5018], "query_result": [[{"User": "db_user1"}]], "rowcount": [1]}␛[0m
2026-05-05T08:29:49.1230715Z 
2026-05-05T08:29:49.1231046Z TASK [test_mysql_user : Resource limits | Assert limit row count] **************
2026-05-05T08:29:49.1960339Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:49.1960740Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:49.1961201Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:49.1961597Z ␛[0;32m}␛[0m
2026-05-05T08:29:49.1961741Z 
2026-05-05T08:29:49.1962041Z TASK [test_mysql_user : Resource limits | Drop mysql user db_user1 if exists] ***
2026-05-05T08:29:49.4972812Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:49.4973636Z 
2026-05-05T08:29:49.4974163Z TASK [test_mysql_user : Resource limits | Create mysql user db_user1 with MAX_STATEMENT_TIME in check_mode] ***
2026-05-05T08:29:49.8118769Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "MAX_STATEMENT_TIME resource limit is only supported by MariaDB."}␛[0m
2026-05-05T08:29:49.8119770Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:49.8119979Z 
2026-05-05T08:29:49.8120501Z TASK [test_mysql_user : Resource limits | Assert that create user with MAX_STATEMENT_TIME is changed for mariadb] ***
2026-05-05T08:29:49.8771190Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:49.8772054Z 
2026-05-05T08:29:49.8772579Z TASK [test_mysql_user : Resource limits | Assert that create user with MAX_STATEMENT_TIME is failed for mysql] ***
2026-05-05T08:29:49.9544098Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:49.9544543Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:49.9544932Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:49.9545298Z ␛[0;32m}␛[0m
2026-05-05T08:29:49.9545423Z 
2026-05-05T08:29:49.9545841Z TASK [test_mysql_user : Resource limits | Create mysql user db_user1 with MAX_STATEMENT_TIME in actual mode] ***
2026-05-05T08:29:50.2605306Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "MAX_STATEMENT_TIME resource limit is only supported by MariaDB."}␛[0m
2026-05-05T08:29:50.2606128Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:29:50.2606307Z 
2026-05-05T08:29:50.2607066Z TASK [test_mysql_user : Resource limits | Assert that create user with MAX_STATEMENT_TIME is changed for MariaDB] ***
2026-05-05T08:29:50.3287120Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.3287994Z 
2026-05-05T08:29:50.3288683Z TASK [test_mysql_user : Resource limits | Assert that create user with MAX_STATEMENT_TIME is failed for MySQL] ***
2026-05-05T08:29:50.4041673Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:50.4042237Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:50.4042712Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:50.4043159Z ␛[0;32m}␛[0m
2026-05-05T08:29:50.4043327Z 
2026-05-05T08:29:50.4043681Z TASK [test_mysql_user : Resource limits | Retrieve user with MAX_STATEMENT_TIME] ***
2026-05-05T08:29:50.4701372Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.4702230Z 
2026-05-05T08:29:50.4702707Z TASK [test_mysql_user : Resource limits | Assert that rowcount is 1 with MAX_STATEMENT_TIME] ***
2026-05-05T08:29:50.5365709Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.5366624Z 
2026-05-05T08:29:50.5367157Z TASK [test_mysql_user : Resource limits | Try to set the same limits with MAX_STATEMENT_TIME again in check mode] ***
2026-05-05T08:29:50.6021217Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.6021840Z 
2026-05-05T08:29:50.6022230Z TASK [test_mysql_user : Resource limits | Assert that set same limits with MAX_STATEMENT_TIME again is not changed] ***
2026-05-05T08:29:50.6676425Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.6677246Z 
2026-05-05T08:29:50.6677677Z TASK [test_mysql_user : Resource limits | Try to set the same limits with MAX_STATEMENT_TIME again in actual mode] ***
2026-05-05T08:29:50.7359562Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.7360356Z 
2026-05-05T08:29:50.7360943Z TASK [test_mysql_user : Resource limits | Assert that set same limits with MAX_STATEMENT_TIME again in actual mode is not changed] ***
2026-05-05T08:29:50.8019394Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.8020464Z 
2026-05-05T08:29:50.8020867Z TASK [test_mysql_user : Resource limits | Change limits with MAX_STATEMENT_TIME] ***
2026-05-05T08:29:50.8673817Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.8674762Z 
2026-05-05T08:29:50.8675206Z TASK [test_mysql_user : Resource limits | Assert limits with MAX_STATEMENT_TIME changed] ***
2026-05-05T08:29:50.9328235Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.9329421Z 
2026-05-05T08:29:50.9329857Z TASK [test_mysql_user : Resource limits | Get user limits with MAX_STATEMENT_TIME] ***
2026-05-05T08:29:50.9979604Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:50.9980603Z 
2026-05-05T08:29:50.9981062Z TASK [test_mysql_user : Resource limits | Assert limit with MAX_STATEMENT_TIME row count] ***
2026-05-05T08:29:51.0647439Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:51.0648891Z 
2026-05-05T08:29:51.0649848Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:51.1925246Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_idempotency.yml for testhost␛[0m
2026-05-05T08:29:51.1926437Z 
2026-05-05T08:29:51.1926709Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:51.2667844Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/create_user.yml for testhost␛[0m
2026-05-05T08:29:51.2669354Z 
2026-05-05T08:29:51.2669686Z TASK [test_mysql_user : Utils | Create user db_user1] **************************
2026-05-05T08:29:51.5919917Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:51.5921280Z 
2026-05-05T08:29:51.5921851Z TASK [test_mysql_user : Idempotency | Create user that already exist (expect changed=false)] ***
2026-05-05T08:29:51.8961656Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:51.8962702Z 
2026-05-05T08:29:51.8963135Z TASK [test_mysql_user : Idempotency | Assert create user task is not changed] ***
2026-05-05T08:29:51.9684472Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:51.9685053Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:51.9685640Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:51.9686185Z ␛[0;32m}␛[0m
2026-05-05T08:29:51.9686386Z 
2026-05-05T08:29:51.9686814Z TASK [test_mysql_user : Idempotency | Remove user (expect changed=true)] *******
2026-05-05T08:29:52.2648303Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:52.2649374Z 
2026-05-05T08:29:52.2649735Z TASK [test_mysql_user : Idempotency | Assert remove user task is changed] ******
2026-05-05T08:29:52.3385813Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:52.3386193Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:52.3386554Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:52.3386891Z ␛[0;32m}␛[0m
2026-05-05T08:29:52.3387016Z 
2026-05-05T08:29:52.3387345Z TASK [test_mysql_user : Idempotency | Remove user that doesn't exists (expect changed=false)] ***
2026-05-05T08:29:52.6348996Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:52.6349766Z 
2026-05-05T08:29:52.6350094Z TASK [test_mysql_user : Idempotency | Assert remove user task is not changed] ***
2026-05-05T08:29:52.7073750Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:52.7074238Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:52.7074709Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:52.7075152Z ␛[0;32m}␛[0m
2026-05-05T08:29:52.7075322Z 
2026-05-05T08:29:52.7075613Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:52.7815852Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/create_user.yml for testhost␛[0m
2026-05-05T08:29:52.7817191Z 
2026-05-05T08:29:52.7817497Z TASK [test_mysql_user : Utils | Create user] ***********************************
2026-05-05T08:29:53.1007168Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": ""}␛[0m
2026-05-05T08:29:53.1007760Z 
2026-05-05T08:29:53.1008081Z TASK [test_mysql_user : Idempotency | Remove blank  user with hosts=all (expect changed)] ***
2026-05-05T08:29:53.3933992Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:29:53.3934931Z 
2026-05-05T08:29:53.3935367Z TASK [test_mysql_user : Idempotency | Assert removing all blank users is changed] ***
2026-05-05T08:29:53.4711468Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:53.4712119Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:53.4712770Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:53.4713386Z ␛[0;32m}␛[0m
2026-05-05T08:29:53.4713616Z 
2026-05-05T08:29:53.4714135Z TASK [test_mysql_user : Idempotency | Remove blank user with hosts=all (expect ok)] ***
2026-05-05T08:29:53.7683257Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:29:53.7683999Z 
2026-05-05T08:29:53.7684346Z TASK [test_mysql_user : Idempotency | Assert removing all blank users is not changed] ***
2026-05-05T08:29:53.8415797Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:29:53.8416346Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:29:53.8416719Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:29:53.8417092Z ␛[0;32m}␛[0m
2026-05-05T08:29:53.8417215Z 
2026-05-05T08:29:53.8417449Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:53.9094914Z ␛[1;35m[WARNING]: Found variable using reserved name: check_mode␛[0m
2026-05-05T08:29:53.9686721Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_password_expire.yml for testhost␛[0m
2026-05-05T08:29:53.9688669Z 
2026-05-05T08:29:53.9689043Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:29:54.1640141Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user1', 'host': '%', 'password_expire': 'never', 'expect_change': True, 'expected_password_lifetime': '0', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1644465Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user2', 'password_expire': 'default', 'expect_change': True, 'expected_password_lifetime': '-1', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1648933Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user3', 'password_expire': 'interval', 'password_expire_interval': '10', 'expect_change': True, 'expected_password_lifetime': '10', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1653288Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user1', 'host': '%', 'password_expire': 'never', 'expect_change': False, 'expected_password_lifetime': '0', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1656715Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user2', 'password_expire': 'default', 'expect_change': False, 'expected_password_lifetime': '-1', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1660281Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user3', 'password_expire': 'interval', 'password_expire_interval': '10', 'expect_change': False, 'expected_password_lifetime': '10', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1663527Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user3', 'password_expire': 'never', 'expect_change': True, 'expected_password_lifetime': '0', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1666377Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user1', 'host': '%', 'password_expire': 'default', 'expect_change': True, 'expected_password_lifetime': '-1', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1669369Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user2', 'password_expire': 'interval', 'password_expire_interval': '100', 'expect_change': True, 'expected_password_lifetime': '100', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1672198Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user1', 'host': '%', 'password_expire': 'now', 'expect_change': True, 'expected_password_lifetime': '-1', 'expected_password_expired': 'Y'})␛[0m
2026-05-05T08:29:54.1674871Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user2', 'password_expire': 'now', 'expect_change': True, 'expected_password_lifetime': '100', 'expected_password_expired': 'Y'})␛[0m
2026-05-05T08:29:54.1677526Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user1', 'host': '%', 'password_expire': 'now', 'expect_change': False, 'expected_password_lifetime': '-1', 'expected_password_expired': 'Y'})␛[0m
2026-05-05T08:29:54.1680454Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user2', 'password_expire': 'now', 'expect_change': False, 'expected_password_lifetime': '100', 'expected_password_expired': 'Y'})␛[0m
2026-05-05T08:29:54.1683327Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password_expire.yml for testhost => (item={'username': 'db_user3', 'password_expire': 'interval', 'password_expire_interval': 10, 'check_mode': True, 'expect_change': False, 'expected_password_lifetime': '0', 'expected_password_expired': 'N'})␛[0m
2026-05-05T08:29:54.1684773Z 
2026-05-05T08:29:54.1685082Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user1 with password_expire] ***
2026-05-05T08:29:54.5091490Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:29:54.5092375Z 
2026-05-05T08:29:54.5092750Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:29:54.7967428Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user1' and host='%'"], "delta": "0:00:00.017269", "end": "2026-05-05 08:29:54.758667", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:54.741398", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "0", "stdout_lines": ["0"]}␛[0m
2026-05-05T08:29:54.7970997Z 
2026-05-05T08:29:54.7971410Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:29:54.8661730Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:54.8662614Z 
2026-05-05T08:29:54.8663032Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user1'] ***
2026-05-05T08:29:55.1561489Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user1' and host='%'"], "delta": "0:00:00.017984", "end": "2026-05-05 08:29:55.121050", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:55.103066", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:29:55.1564242Z 
2026-05-05T08:29:55.1564704Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user2 with password_expire] ***
2026-05-05T08:29:55.4965761Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:29:55.4966602Z 
2026-05-05T08:29:55.4966917Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:29:55.7816684Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user2' and host='localhost'"], "delta": "0:00:00.017159", "end": "2026-05-05 08:29:55.745813", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:55.728654", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "-1", "stdout_lines": ["-1"]}␛[0m
2026-05-05T08:29:55.7820389Z 
2026-05-05T08:29:55.7820819Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:29:55.8496945Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:55.8497741Z 
2026-05-05T08:29:55.8498083Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user2'] ***
2026-05-05T08:29:56.1594943Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user2' and host='localhost'"], "delta": "0:00:00.017228", "end": "2026-05-05 08:29:56.123401", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:56.106173", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:29:56.1598000Z 
2026-05-05T08:29:56.1599281Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user3 with password_expire] ***
2026-05-05T08:29:56.5312580Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User added", "password_changed": true, "user": "db_user3"}␛[0m
2026-05-05T08:29:56.5313445Z 
2026-05-05T08:29:56.5313762Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:29:56.8476159Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user3' and host='localhost'"], "delta": "0:00:00.017296", "end": "2026-05-05 08:29:56.810220", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:56.792924", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "10", "stdout_lines": ["10"]}␛[0m
2026-05-05T08:29:56.8479320Z 
2026-05-05T08:29:56.8479667Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:29:56.9146906Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:56.9147708Z 
2026-05-05T08:29:56.9148063Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user3'] ***
2026-05-05T08:29:57.2582081Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user3' and host='localhost'"], "delta": "0:00:00.017432", "end": "2026-05-05 08:29:57.195778", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:57.178346", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:29:57.2585103Z 
2026-05-05T08:29:57.2585570Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user1 with password_expire] ***
2026-05-05T08:29:57.6117122Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:29:57.6117954Z 
2026-05-05T08:29:57.6118274Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:29:57.9037880Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user1' and host='%'"], "delta": "0:00:00.017720", "end": "2026-05-05 08:29:57.866653", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:57.848933", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "0", "stdout_lines": ["0"]}␛[0m
2026-05-05T08:29:57.9040683Z 
2026-05-05T08:29:57.9041008Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:29:57.9722567Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:57.9723665Z 
2026-05-05T08:29:57.9724135Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user1'] ***
2026-05-05T08:29:58.2601329Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user1' and host='%'"], "delta": "0:00:00.017387", "end": "2026-05-05 08:29:58.222273", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:58.204886", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:29:58.2604050Z 
2026-05-05T08:29:58.2604479Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user2 with password_expire] ***
2026-05-05T08:29:58.6108191Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:29:58.6109776Z 
2026-05-05T08:29:58.6110158Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:29:58.9075533Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user2' and host='localhost'"], "delta": "0:00:00.017416", "end": "2026-05-05 08:29:58.869799", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:58.852383", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "-1", "stdout_lines": ["-1"]}␛[0m
2026-05-05T08:29:58.9078270Z 
2026-05-05T08:29:58.9078759Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:29:58.9773661Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:29:58.9774465Z 
2026-05-05T08:29:58.9774810Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user2'] ***
2026-05-05T08:29:59.2773972Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user2' and host='localhost'"], "delta": "0:00:00.018601", "end": "2026-05-05 08:29:59.233521", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:59.214920", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:29:59.2776425Z 
2026-05-05T08:29:59.2776813Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user3 with password_expire] ***
2026-05-05T08:29:59.6399062Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:29:59.6400539Z 
2026-05-05T08:29:59.6400898Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:29:59.9337921Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user3' and host='localhost'"], "delta": "0:00:00.017711", "end": "2026-05-05 08:29:59.898968", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:29:59.881257", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "10", "stdout_lines": ["10"]}␛[0m
2026-05-05T08:29:59.9340873Z 
2026-05-05T08:29:59.9341203Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:30:00.0001907Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:00.0002718Z 
2026-05-05T08:30:00.0003066Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user3'] ***
2026-05-05T08:30:00.2941148Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user3' and host='localhost'"], "delta": "0:00:00.017349", "end": "2026-05-05 08:30:00.254379", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:00.237030", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:30:00.2944397Z 
2026-05-05T08:30:00.2944933Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user3 with password_expire] ***
2026-05-05T08:30:00.6473954Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "db_user3"}␛[0m
2026-05-05T08:30:00.6474926Z 
2026-05-05T08:30:00.6475310Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:30:00.9390665Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user3' and host='localhost'"], "delta": "0:00:00.018001", "end": "2026-05-05 08:30:00.902863", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:00.884862", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "0", "stdout_lines": ["0"]}␛[0m
2026-05-05T08:30:00.9393626Z 
2026-05-05T08:30:00.9393980Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:30:01.0099547Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:01.0100945Z 
2026-05-05T08:30:01.0101455Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user3'] ***
2026-05-05T08:30:01.3067954Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user3' and host='localhost'"], "delta": "0:00:00.017850", "end": "2026-05-05 08:30:01.268466", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:01.250616", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:30:01.3071462Z 
2026-05-05T08:30:01.3071981Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user1 with password_expire] ***
2026-05-05T08:30:01.6630097Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:30:01.6631099Z 
2026-05-05T08:30:01.6631584Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:01.9690518Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user1' and host='%'"], "delta": "0:00:00.019643", "end": "2026-05-05 08:30:01.924097", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:01.904454", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "-1", "stdout_lines": ["-1"]}␛[0m
2026-05-05T08:30:01.9693977Z 
2026-05-05T08:30:01.9694381Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:02.0380983Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:02.0381825Z 
2026-05-05T08:30:02.0382194Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user1'] ***
2026-05-05T08:30:02.3445857Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user1' and host='%'"], "delta": "0:00:00.018406", "end": "2026-05-05 08:30:02.303218", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:02.284812", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:30:02.3449292Z 
2026-05-05T08:30:02.3449766Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user2 with password_expire] ***
2026-05-05T08:30:02.7113644Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:30:02.7114596Z 
2026-05-05T08:30:02.7114952Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:03.0181422Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user2' and host='localhost'"], "delta": "0:00:00.018309", "end": "2026-05-05 08:30:02.977477", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:02.959168", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "100", "stdout_lines": ["100"]}␛[0m
2026-05-05T08:30:03.0184776Z 
2026-05-05T08:30:03.0185177Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:03.0873110Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:03.0873911Z 
2026-05-05T08:30:03.0874270Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user2'] ***
2026-05-05T08:30:03.3979698Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user2' and host='localhost'"], "delta": "0:00:00.018429", "end": "2026-05-05 08:30:03.354346", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:03.335917", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:30:03.3982994Z 
2026-05-05T08:30:03.3983518Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user1 with password_expire] ***
2026-05-05T08:30:03.7719006Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:30:03.7720317Z 
2026-05-05T08:30:03.7720819Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:04.0670293Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user1' and host='%'"], "delta": "0:00:00.018339", "end": "2026-05-05 08:30:04.029814", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:04.011475", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "-1", "stdout_lines": ["-1"]}␛[0m
2026-05-05T08:30:04.0673598Z 
2026-05-05T08:30:04.0674004Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:04.1379721Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:04.1380633Z 
2026-05-05T08:30:04.1381037Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user1'] ***
2026-05-05T08:30:04.4398824Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user1' and host='%'"], "delta": "0:00:00.017964", "end": "2026-05-05 08:30:04.398301", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:04.380337", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Y", "stdout_lines": ["Y"]}␛[0m
2026-05-05T08:30:04.4402048Z 
2026-05-05T08:30:04.4402601Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user2 with password_expire] ***
2026-05-05T08:30:04.7885520Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:30:04.7886436Z 
2026-05-05T08:30:04.7886794Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:05.0762563Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user2' and host='localhost'"], "delta": "0:00:00.017537", "end": "2026-05-05 08:30:05.039977", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:05.022440", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "100", "stdout_lines": ["100"]}␛[0m
2026-05-05T08:30:05.0765589Z 
2026-05-05T08:30:05.0765931Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:05.1475358Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:05.1476225Z 
2026-05-05T08:30:05.1476585Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user2'] ***
2026-05-05T08:30:05.4404660Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user2' and host='localhost'"], "delta": "0:00:00.017691", "end": "2026-05-05 08:30:05.404879", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:05.387188", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Y", "stdout_lines": ["Y"]}␛[0m
2026-05-05T08:30:05.4408171Z 
2026-05-05T08:30:05.4408984Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user1 with password_expire] ***
2026-05-05T08:30:05.7936596Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:05.7937565Z 
2026-05-05T08:30:05.7937945Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:06.0870351Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user1' and host='%'"], "delta": "0:00:00.017116", "end": "2026-05-05 08:30:06.050900", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:06.033784", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "-1", "stdout_lines": ["-1"]}␛[0m
2026-05-05T08:30:06.0873331Z 
2026-05-05T08:30:06.0873688Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user1'] ***
2026-05-05T08:30:06.1563169Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:06.1564058Z 
2026-05-05T08:30:06.1564453Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user1'] ***
2026-05-05T08:30:06.4487564Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user1' and host='%'"], "delta": "0:00:00.017391", "end": "2026-05-05 08:30:06.410973", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:06.393582", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Y", "stdout_lines": ["Y"]}␛[0m
2026-05-05T08:30:06.4490847Z 
2026-05-05T08:30:06.4491338Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user2 with password_expire] ***
2026-05-05T08:30:06.7982511Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:06.7983500Z 
2026-05-05T08:30:06.7983889Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:07.0959813Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user2' and host='localhost'"], "delta": "0:00:00.017997", "end": "2026-05-05 08:30:07.055611", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:07.037614", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "100", "stdout_lines": ["100"]}␛[0m
2026-05-05T08:30:07.0963152Z 
2026-05-05T08:30:07.0963561Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user2'] ***
2026-05-05T08:30:07.1665378Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:07.1666282Z 
2026-05-05T08:30:07.1666675Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user2'] ***
2026-05-05T08:30:07.4620487Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user2' and host='localhost'"], "delta": "0:00:00.017687", "end": "2026-05-05 08:30:07.422119", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:07.404432", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Y", "stdout_lines": ["Y"]}␛[0m
2026-05-05T08:30:07.4623489Z 
2026-05-05T08:30:07.4623972Z TASK [test_mysql_user : Utils | Assert user password_expire | Create modify db_user3 with password_expire] ***
2026-05-05T08:30:07.8147850Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:30:07.8148914Z 
2026-05-05T08:30:07.8149297Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:30:08.1160650Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT IFNULL(password_lifetime, -1) FROM mysql.user where user='db_user3' and host='localhost'"], "delta": "0:00:00.019023", "end": "2026-05-05 08:30:08.075327", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:08.056304", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "0", "stdout_lines": ["0"]}␛[0m
2026-05-05T08:30:08.1163974Z 
2026-05-05T08:30:08.1164358Z TASK [test_mysql_user : Utils | Assert user password_lifetime | Query user 'db_user3'] ***
2026-05-05T08:30:08.1835614Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:08.1836433Z 
2026-05-05T08:30:08.1836803Z TASK [test_mysql_user : Utils | Assert user password_expired | Query user 'db_user3'] ***
2026-05-05T08:30:08.4733384Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT password_expired FROM mysql.user  WHERE user='db_user3' and host='localhost'"], "delta": "0:00:00.017707", "end": "2026-05-05 08:30:08.438249", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:30:08.420542", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "N", "stdout_lines": ["N"]}␛[0m
2026-05-05T08:30:08.4736343Z 
2026-05-05T08:30:08.4736846Z TASK [test_mysql_user : password_expire | Set password_expire = interval without password_expire_interval] ***
2026-05-05T08:30:08.7910939Z ␛[0;31mAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: %d format: a real number is required, not NoneType␛[0m
2026-05-05T08:30:08.7922230Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 141, in <module>\n  File \"<stdin>\", line 133, in _ansiballz_main\n  File \"<stdin>\", line 81, in invoke_module\n  File \"/usr/lib/python3.10/runpy.py\", line 224, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib/python3.10/runpy.py\", line 96, in _run_module_code\n    _run_code(code, mod_globals, init_globals,\n  File \"/usr/lib/python3.10/runpy.py\", line 86, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_ansible.mysql.mysql_user_payload_hs569ht0/ansible_ansible.mysql.mysql_user_payload.zip/ansible_collections/ansible/mysql/plugins/modules/mysql_user.py\", line 639, in <module>\n  File \"/tmp/ansible_ansible.mysql.mysql_user_payload_hs569ht0/ansible_ansible.mysql.mysql_user_payload.zip/ansible_collections/ansible/mysql/plugins/modules/mysql_user.py\", line 612, in main\n  File \"/tmp/ansible_ansible.mysql.mysql_user_payload_hs569ht0/ansible_ansible.mysql.mysql_user_payload.zip/ansible_collections/ansible/mysql/plugins/module_utils/user.py\", line 257, in user_add\n  File \"/tmp/ansible_ansible.mysql.mysql_user_payload_hs569ht0/ansible_ansible.mysql.mysql_user_payload.zip/ansible_collections/ansible/mysql/plugins/module_utils/user.py\", line 1108, in set_password_expire\nTypeError: %d format: a real number is required, not NoneType\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}␛[0m
2026-05-05T08:30:08.7929720Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:08.7929863Z 
2026-05-05T08:30:08.7930210Z TASK [test_mysql_user : password_expire | Assert that action fails if 'password_expire_interval' not set] ***
2026-05-05T08:30:08.8662766Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:08.8663259Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:08.8663736Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:08.8664143Z ␛[0;32m}␛[0m
2026-05-05T08:30:08.8664297Z 
2026-05-05T08:30:08.8664622Z TASK [test_mysql_user : password_expire | Set password_expire_interval < 1] ****
2026-05-05T08:30:09.1626093Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "password_expire_******** value                              should be positive number"}␛[0m
2026-05-05T08:30:09.1627095Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:09.1627296Z 
2026-05-05T08:30:09.1627809Z TASK [test_mysql_user : password_expire | Assert that action fails if 'password_expire_interval' is < 1] ***
2026-05-05T08:30:09.2455084Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:09.2455510Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:09.2455936Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:09.2456325Z ␛[0;32m}␛[0m
2026-05-05T08:30:09.2456495Z 
2026-05-05T08:30:09.2456826Z TASK [test_mysql_user : password_expire | check mode for user creation] ********
2026-05-05T08:30:09.5655031Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:30:09.5656111Z 
2026-05-05T08:30:09.5656428Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:09.6951619Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost => (item={'username': 'db_user1'})␛[0m
2026-05-05T08:30:09.6954597Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost => (item={'username': 'db_user2'})␛[0m
2026-05-05T08:30:09.6957675Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost => (item={'username': 'db_user3'})␛[0m
2026-05-05T08:30:09.6960898Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost => (item={'username': 'db_user4'})␛[0m
2026-05-05T08:30:09.6962426Z 
2026-05-05T08:30:09.6962761Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:30:09.9989673Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:09.9990573Z 
2026-05-05T08:30:09.9990899Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:30:10.3026137Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:10.3026987Z 
2026-05-05T08:30:10.3027315Z TASK [test_mysql_user : Utils | Remove user db_user3] **************************
2026-05-05T08:30:10.6050930Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:30:10.6052155Z 
2026-05-05T08:30:10.6052598Z TASK [test_mysql_user : Utils | Remove user db_user4] **************************
2026-05-05T08:30:10.9122154Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:30:10.9123492Z 
2026-05-05T08:30:10.9124235Z TASK [test_mysql_user : create user with DEFAULT privilege state=present (expect changed=true)] ***
2026-05-05T08:30:11.2277913Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:30:11.2278916Z 
2026-05-05T08:30:11.2279243Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:11.3541524Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:11.3542767Z 
2026-05-05T08:30:11.3543088Z TASK [test_mysql_user : Utils | Assert user | Query for user db_user1] *********
2026-05-05T08:30:11.6161165Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='db_user1'"], "delta": "0:00:00.018157", "end": "2026-05-05 08:30:11.580548", "msg": "", "rc": 0, "start": "2026-05-05 08:30:11.562391", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ndb_user1", "stdout_lines": ["user", "db_user1"]}␛[0m
2026-05-05T08:30:11.6164238Z 
2026-05-05T08:30:11.6164576Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:11.6885404Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:11.6885841Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:11.6886269Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:11.6886666Z ␛[0;32m}␛[0m
2026-05-05T08:30:11.6886803Z 
2026-05-05T08:30:11.6887133Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user db_user1] ***
2026-05-05T08:30:11.9517231Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user1'@'localhost'"], "delta": "0:00:00.017200", "end": "2026-05-05 08:30:11.920193", "msg": "", "rc": 0, "start": "2026-05-05 08:30:11.902993", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user1@localhost\nGRANT USAGE ON *.* TO `db_user1`@`localhost`", "stdout_lines": ["Grants for db_user1@localhost", "GRANT USAGE ON *.* TO `db_user1`@`localhost`"]}␛[0m
2026-05-05T08:30:11.9520567Z 
2026-05-05T08:30:11.9520861Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:12.0297218Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:12.0297719Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:12.0298215Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:12.0298899Z ␛[0;32m}␛[0m
2026-05-05T08:30:12.0299048Z 
2026-05-05T08:30:12.0299349Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:12.1535292Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:12.1536601Z 
2026-05-05T08:30:12.1536895Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:30:12.4619064Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:12.4619790Z 
2026-05-05T08:30:12.4620058Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:12.5879119Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:30:12.5880469Z 
2026-05-05T08:30:12.5880786Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user1] ******
2026-05-05T08:30:12.8499743Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user1'"], "delta": "0:00:00.017888", "end": "2026-05-05 08:30:12.815372", "msg": "", "rc": 0, "start": "2026-05-05 08:30:12.797484", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:30:12.8502322Z 
2026-05-05T08:30:12.8502651Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:30:12.9200798Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:12.9201194Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:12.9201577Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:12.9201928Z ␛[0;32m}␛[0m
2026-05-05T08:30:12.9202061Z 
2026-05-05T08:30:12.9202444Z TASK [test_mysql_user : Create user with SELECT privilege state=present (expect changed=true)] ***
2026-05-05T08:30:13.2217382Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:30:13.2219280Z 
2026-05-05T08:30:13.2219556Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:13.3490209Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:13.3492038Z 
2026-05-05T08:30:13.3492378Z TASK [test_mysql_user : Utils | Assert user | Query for user db_user2] *********
2026-05-05T08:30:13.6107639Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='db_user2'"], "delta": "0:00:00.017779", "end": "2026-05-05 08:30:13.577946", "msg": "", "rc": 0, "start": "2026-05-05 08:30:13.560167", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ndb_user2", "stdout_lines": ["user", "db_user2"]}␛[0m
2026-05-05T08:30:13.6110731Z 
2026-05-05T08:30:13.6111039Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:13.6825372Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:13.6825752Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:13.6826109Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:13.6826441Z ␛[0;32m}␛[0m
2026-05-05T08:30:13.6826564Z 
2026-05-05T08:30:13.6826841Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user db_user2] ***
2026-05-05T08:30:13.9468834Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'localhost'"], "delta": "0:00:00.017810", "end": "2026-05-05 08:30:13.914008", "msg": "", "rc": 0, "start": "2026-05-05 08:30:13.896198", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@localhost\nGRANT SELECT ON *.* TO `db_user2`@`localhost`", "stdout_lines": ["Grants for db_user2@localhost", "GRANT SELECT ON *.* TO `db_user2`@`localhost`"]}␛[0m
2026-05-05T08:30:13.9471771Z 
2026-05-05T08:30:13.9472066Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:14.0280831Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:14.0281328Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:14.0281820Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:14.0282250Z ␛[0;32m}␛[0m
2026-05-05T08:30:14.0282402Z 
2026-05-05T08:30:14.0282682Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:14.1524670Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:14.1525927Z 
2026-05-05T08:30:14.1526219Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:30:14.4579561Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:14.4580380Z 
2026-05-05T08:30:14.4580667Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:14.5848994Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:30:14.5850314Z 
2026-05-05T08:30:14.5850662Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user2] ******
2026-05-05T08:30:14.8450548Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user2'"], "delta": "0:00:00.017427", "end": "2026-05-05 08:30:14.813356", "msg": "", "rc": 0, "start": "2026-05-05 08:30:14.795929", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:30:14.8453101Z 
2026-05-05T08:30:14.8453428Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:30:14.9182660Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:14.9183337Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:14.9184074Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:14.9184827Z ␛[0;32m}␛[0m
2026-05-05T08:30:14.9185468Z 
2026-05-05T08:30:14.9186191Z TASK [test_mysql_user : Give users access to multiple databases] ***************
2026-05-05T08:30:16.4334159Z ␛[0;33mchanged: [testhost] => (item=['db_user1', 'clientdb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user1", "clientdb"], "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:30:16.4336198Z ␛[0;33mchanged: [testhost] => (item=['db_user1', 'employeedb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user1", "employeedb"], "msg": "New privileges granted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:16.4338263Z ␛[0;33mchanged: [testhost] => (item=['db_user1', 'providerdb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user1", "providerdb"], "msg": "New privileges granted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:16.4340475Z ␛[0;33mchanged: [testhost] => (item=['db_user2', 'clientdb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user2", "clientdb"], "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:30:16.4342432Z ␛[0;33mchanged: [testhost] => (item=['db_user2', 'employeedb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user2", "employeedb"], "msg": "New privileges granted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:16.4344238Z ␛[0;33mchanged: [testhost] => (item=['db_user2', 'providerdb']) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user2", "providerdb"], "msg": "New privileges granted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:16.4345041Z 
2026-05-05T08:30:16.4345260Z TASK [test_mysql_user : Show grants access for user1 on multiple database] *****
2026-05-05T08:30:16.6965833Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user1'@'localhost'"], "delta": "0:00:00.017141", "end": "2026-05-05 08:30:16.661802", "msg": "", "rc": 0, "start": "2026-05-05 08:30:16.644661", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user1@localhost\nGRANT USAGE ON *.* TO `db_user1`@`localhost`\nGRANT ALL PRIVILEGES ON `clientdb`.* TO `db_user1`@`localhost`\nGRANT ALL PRIVILEGES ON `employeedb`.* TO `db_user1`@`localhost`\nGRANT ALL PRIVILEGES ON `providerdb`.* TO `db_user1`@`localhost`", "stdout_lines": ["Grants for db_user1@localhost", "GRANT USAGE ON *.* TO `db_user1`@`localhost`", "GRANT ALL PRIVILEGES ON `clientdb`.* TO `db_user1`@`localhost`", "GRANT ALL PRIVILEGES ON `employeedb`.* TO `db_user1`@`localhost`", "GRANT ALL PRIVILEGES ON `providerdb`.* TO `db_user1`@`localhost`"]}␛[0m
2026-05-05T08:30:16.6970688Z 
2026-05-05T08:30:16.6970937Z TASK [test_mysql_user : Assert grant access for user1 on multiple database] ****
2026-05-05T08:30:16.7803059Z ␛[0;32mok: [testhost] => (item=clientdb) => {␛[0m
2026-05-05T08:30:16.7803859Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:16.7805266Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:16.7805851Z ␛[0;32m    "item": "clientdb",␛[0m
2026-05-05T08:30:16.7806494Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:16.7807061Z ␛[0;32m}␛[0m
2026-05-05T08:30:16.7807590Z ␛[0;32mok: [testhost] => (item=employeedb) => {␛[0m
2026-05-05T08:30:16.7808661Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:16.7809391Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:16.7809962Z ␛[0;32m    "item": "employeedb",␛[0m
2026-05-05T08:30:16.7810622Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:16.7811009Z ␛[0;32m}␛[0m
2026-05-05T08:30:16.7811356Z ␛[0;32mok: [testhost] => (item=providerdb) => {␛[0m
2026-05-05T08:30:16.7812266Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:16.7812921Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:16.7813289Z ␛[0;32m    "item": "providerdb",␛[0m
2026-05-05T08:30:16.7813693Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:16.7814064Z ␛[0;32m}␛[0m
2026-05-05T08:30:16.7814197Z 
2026-05-05T08:30:16.7814487Z TASK [test_mysql_user : Show grants access for user2 on multiple database] *****
2026-05-05T08:30:17.0435907Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'localhost'"], "delta": "0:00:00.017370", "end": "2026-05-05 08:30:17.008003", "msg": "", "rc": 0, "start": "2026-05-05 08:30:16.990633", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@localhost\nGRANT USAGE ON *.* TO `db_user2`@`localhost`\nGRANT ALL PRIVILEGES ON `clientdb`.* TO `db_user2`@`localhost`\nGRANT ALL PRIVILEGES ON `employeedb`.* TO `db_user2`@`localhost`\nGRANT ALL PRIVILEGES ON `providerdb`.* TO `db_user2`@`localhost`", "stdout_lines": ["Grants for db_user2@localhost", "GRANT USAGE ON *.* TO `db_user2`@`localhost`", "GRANT ALL PRIVILEGES ON `clientdb`.* TO `db_user2`@`localhost`", "GRANT ALL PRIVILEGES ON `employeedb`.* TO `db_user2`@`localhost`", "GRANT ALL PRIVILEGES ON `providerdb`.* TO `db_user2`@`localhost`"]}␛[0m
2026-05-05T08:30:17.0441540Z 
2026-05-05T08:30:17.0441858Z TASK [test_mysql_user : Assert grant access for user2 on multiple database] ****
2026-05-05T08:30:17.1296463Z ␛[0;32mok: [testhost] => (item=clientdb) => {␛[0m
2026-05-05T08:30:17.1297195Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:17.1297664Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:17.1298070Z ␛[0;32m    "item": "clientdb",␛[0m
2026-05-05T08:30:17.1298824Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:17.1299295Z ␛[0;32m}␛[0m
2026-05-05T08:30:17.1299694Z ␛[0;32mok: [testhost] => (item=employeedb) => {␛[0m
2026-05-05T08:30:17.1300214Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:17.1300648Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:17.1301049Z ␛[0;32m    "item": "employeedb",␛[0m
2026-05-05T08:30:17.1301500Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:17.1301912Z ␛[0;32m}␛[0m
2026-05-05T08:30:17.1302281Z ␛[0;32mok: [testhost] => (item=providerdb) => {␛[0m
2026-05-05T08:30:17.1302782Z ␛[0;32m    "ansible_loop_var": "item",␛[0m
2026-05-05T08:30:17.1303207Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:17.1303604Z ␛[0;32m    "item": "providerdb",␛[0m
2026-05-05T08:30:17.1304053Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:17.1304456Z ␛[0;32m}␛[0m
2026-05-05T08:30:17.1304603Z 
2026-05-05T08:30:17.1304901Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:17.2594707Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:17.2596086Z 
2026-05-05T08:30:17.2596418Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:30:17.5559647Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:17.5560291Z 
2026-05-05T08:30:17.5560520Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:17.6922706Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:17.6923907Z 
2026-05-05T08:30:17.6924194Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:30:17.9877753Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:17.9878581Z 
2026-05-05T08:30:17.9878846Z TASK [test_mysql_user : Give user SELECT access to database via wildcard] ******
2026-05-05T08:30:18.2975892Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:30:18.2976523Z 
2026-05-05T08:30:18.2976807Z TASK [test_mysql_user : Show grants access for user1 on database via wildcard] ***
2026-05-05T08:30:18.5549688Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user1'@'localhost'"], "delta": "0:00:00.017309", "end": "2026-05-05 08:30:18.520282", "msg": "", "rc": 0, "start": "2026-05-05 08:30:18.502973", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user1@localhost\nGRANT USAGE ON *.* TO `db_user1`@`localhost`\nGRANT SELECT ON `%db`.* TO `db_user1`@`localhost`", "stdout_lines": ["Grants for db_user1@localhost", "GRANT USAGE ON *.* TO `db_user1`@`localhost`", "GRANT SELECT ON `%db`.* TO `db_user1`@`localhost`"]}␛[0m
2026-05-05T08:30:18.5553403Z 
2026-05-05T08:30:18.5553714Z TASK [test_mysql_user : assert grant access for user1 on multiple database] ****
2026-05-05T08:30:18.6286885Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:18.6287487Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:18.6287967Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:18.6288562Z ␛[0;32m}␛[0m
2026-05-05T08:30:18.6288734Z 
2026-05-05T08:30:18.6289061Z TASK [test_mysql_user : test priv type check, must fail] ***********************
2026-05-05T08:30:18.9295276Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "priv parameter must be str or dict but <class 'list'> was passed"}␛[0m
2026-05-05T08:30:18.9296094Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:18.9296271Z 
2026-05-05T08:30:18.9296541Z TASK [test_mysql_user : check fail message] ************************************
2026-05-05T08:30:19.0039000Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:19.0039420Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:19.0039769Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:19.0040101Z ␛[0;32m}␛[0m
2026-05-05T08:30:19.0040221Z 
2026-05-05T08:30:19.0040527Z TASK [test_mysql_user : Change SELECT to INSERT for user access to database via wildcard] ***
2026-05-05T08:30:19.3204485Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['INSERT'], revoked []", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:19.3205423Z 
2026-05-05T08:30:19.3205743Z TASK [test_mysql_user : Show grants access for user1 on database via wildcard] ***
2026-05-05T08:30:19.5761152Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user1'@'localhost'"], "delta": "0:00:00.016853", "end": "2026-05-05 08:30:19.546073", "msg": "", "rc": 0, "start": "2026-05-05 08:30:19.529220", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user1@localhost\nGRANT USAGE ON *.* TO `db_user1`@`localhost`\nGRANT SELECT, INSERT ON `%db`.* TO `db_user1`@`localhost`", "stdout_lines": ["Grants for db_user1@localhost", "GRANT USAGE ON *.* TO `db_user1`@`localhost`", "GRANT SELECT, INSERT ON `%db`.* TO `db_user1`@`localhost`"]}␛[0m
2026-05-05T08:30:19.5764586Z 
2026-05-05T08:30:19.5764879Z TASK [test_mysql_user : assert grant access for user1 on multiple database] ****
2026-05-05T08:30:19.6550840Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:19.6552143Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:19.6553216Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:19.6553718Z ␛[0;32m}␛[0m
2026-05-05T08:30:19.6553911Z 
2026-05-05T08:30:19.6554208Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:19.8129113Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:19.8130339Z 
2026-05-05T08:30:19.8130635Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:30:20.1151286Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:30:20.1151985Z 
2026-05-05T08:30:20.1152247Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:20.2834572Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_user_password.yml for testhost␛[0m
2026-05-05T08:30:20.2835934Z 
2026-05-05T08:30:20.2836277Z TASK [test_mysql_user : Password | Create user with initial password] **********
2026-05-05T08:30:20.5878884Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_password"}␛[0m
2026-05-05T08:30:20.5879675Z 
2026-05-05T08:30:20.5880069Z TASK [test_mysql_user : Password | Assert that a change occurred because the user was added] ***
2026-05-05T08:30:20.6619155Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:20.6619705Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:20.6620243Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:20.6620741Z ␛[0;32m}␛[0m
2026-05-05T08:30:20.6620915Z 
2026-05-05T08:30:20.6621300Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:20.7497249Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:20.7498717Z 
2026-05-05T08:30:20.7499051Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_password] ***
2026-05-05T08:30:21.0056937Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_password'"], "delta": "0:00:00.017194", "end": "2026-05-05 08:30:20.974782", "msg": "", "rc": 0, "start": "2026-05-05 08:30:20.957588", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_password", "stdout_lines": ["user", "test_user_password"]}␛[0m
2026-05-05T08:30:21.0060289Z 
2026-05-05T08:30:21.0060634Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:21.0779389Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:21.0779896Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:21.0780382Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:21.0780830Z ␛[0;32m}␛[0m
2026-05-05T08:30:21.0780982Z 
2026-05-05T08:30:21.0781390Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_password] ***
2026-05-05T08:30:21.3463891Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_password'@'%'"], "delta": "0:00:00.017468", "end": "2026-05-05 08:30:21.312374", "msg": "", "rc": 0, "start": "2026-05-05 08:30:21.294906", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_password@%\nGRANT SELECT ON *.* TO `test_user_password`@`%`", "stdout_lines": ["Grants for test_user_password@%", "GRANT SELECT ON *.* TO `test_user_password`@`%`"]}␛[0m
2026-05-05T08:30:21.3467143Z 
2026-05-05T08:30:21.3467431Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:21.4301054Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:21.4301731Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:21.4302396Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:21.4303013Z ␛[0;32m}␛[0m
2026-05-05T08:30:21.4303232Z 
2026-05-05T08:30:21.4303825Z TASK [test_mysql_user : Password | Get the MySQL version using the newly created used creds] ***
2026-05-05T08:30:21.7518723Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:21.7519850Z 
2026-05-05T08:30:21.7520168Z TASK [test_mysql_user : Password | Assert that mysql_info was successful] ******
2026-05-05T08:30:21.8265061Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:21.8265503Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:21.8265897Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:21.8266263Z ␛[0;32m}␛[0m
2026-05-05T08:30:21.8266388Z 
2026-05-05T08:30:21.8266666Z TASK [test_mysql_user : Password | Run mysql_user again without any changes] ***
2026-05-05T08:30:22.1400130Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:22.1401006Z 
2026-05-05T08:30:22.1401543Z TASK [test_mysql_user : Password | Assert that there weren't any changes because username/password didn't change] ***
2026-05-05T08:30:22.2152233Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:22.2152762Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:22.2153254Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:22.2153690Z ␛[0;32m}␛[0m
2026-05-05T08:30:22.2153846Z 
2026-05-05T08:30:22.2154132Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:22.3025847Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:22.3027017Z 
2026-05-05T08:30:22.3027340Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_password] ***
2026-05-05T08:30:22.5629664Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_password'"], "delta": "0:00:00.017594", "end": "2026-05-05 08:30:22.530590", "msg": "", "rc": 0, "start": "2026-05-05 08:30:22.512996", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_password", "stdout_lines": ["user", "test_user_password"]}␛[0m
2026-05-05T08:30:22.5632584Z 
2026-05-05T08:30:22.5632892Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:22.6405930Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:22.6406356Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:22.6406783Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:22.6407174Z ␛[0;32m}␛[0m
2026-05-05T08:30:22.6407312Z 
2026-05-05T08:30:22.6407692Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_password] ***
2026-05-05T08:30:22.9116304Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_password'@'%'"], "delta": "0:00:00.017164", "end": "2026-05-05 08:30:22.878447", "msg": "", "rc": 0, "start": "2026-05-05 08:30:22.861283", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_password@%\nGRANT SELECT ON *.* TO `test_user_password`@`%`", "stdout_lines": ["Grants for test_user_password@%", "GRANT SELECT ON *.* TO `test_user_password`@`%`"]}␛[0m
2026-05-05T08:30:22.9120191Z 
2026-05-05T08:30:22.9120559Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:22.9900008Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:22.9900514Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:22.9901004Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:22.9901443Z ␛[0;32m}␛[0m
2026-05-05T08:30:22.9901600Z 
2026-05-05T08:30:22.9901917Z TASK [test_mysql_user : Password | Update the user password] *******************
2026-05-05T08:30:23.3022024Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Password updated (new style)", "password_changed": true, "user": "test_user_password"}␛[0m
2026-05-05T08:30:23.3023443Z 
2026-05-05T08:30:23.3024010Z TASK [test_mysql_user : Password | Assert that a change occurred because the password was updated] ***
2026-05-05T08:30:23.3768216Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:23.3769037Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:23.3769634Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:23.3770188Z ␛[0;32m}␛[0m
2026-05-05T08:30:23.3770390Z 
2026-05-05T08:30:23.3770756Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:23.4699409Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:23.4700952Z 
2026-05-05T08:30:23.4701380Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_password] ***
2026-05-05T08:30:23.7301132Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_password'"], "delta": "0:00:00.017675", "end": "2026-05-05 08:30:23.699398", "msg": "", "rc": 0, "start": "2026-05-05 08:30:23.681723", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_password", "stdout_lines": ["user", "test_user_password"]}␛[0m
2026-05-05T08:30:23.7303736Z 
2026-05-05T08:30:23.7304016Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:23.8023118Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:23.8023547Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:23.8024034Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:23.8024424Z ␛[0;32m}␛[0m
2026-05-05T08:30:23.8024567Z 
2026-05-05T08:30:23.8024963Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_password] ***
2026-05-05T08:30:24.0682805Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_password'@'%'"], "delta": "0:00:00.017213", "end": "2026-05-05 08:30:24.033730", "msg": "", "rc": 0, "start": "2026-05-05 08:30:24.016517", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_password@%\nGRANT SELECT ON *.* TO `test_user_password`@`%`", "stdout_lines": ["Grants for test_user_password@%", "GRANT SELECT ON *.* TO `test_user_password`@`%`"]}␛[0m
2026-05-05T08:30:24.0687208Z 
2026-05-05T08:30:24.0687716Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:24.1498679Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:24.1499131Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:24.1499554Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:24.1499955Z ␛[0;32m}␛[0m
2026-05-05T08:30:24.1500097Z 
2026-05-05T08:30:24.1500548Z TASK [test_mysql_user : Password | Get the MySQL version data using the original password (should fail)] ***
2026-05-05T08:30:24.4606228Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to connect to database using pymysql 0.9.3, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1045, \"Access denied for user 'test_user_password'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:30:24.4608097Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:24.4608287Z 
2026-05-05T08:30:24.5370899Z TASK [test_mysql_user : Password | Assert that the mysql_info module failed because we used the old password] ***
2026-05-05T08:30:24.5371899Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:24.5372261Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:24.5372673Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:24.5373060Z ␛[0;32m}␛[0m
2026-05-05T08:30:24.5373196Z 
2026-05-05T08:30:24.5373609Z TASK [test_mysql_user : Password | Get the MySQL version data using the new password (should work)] ***
2026-05-05T08:30:24.8504082Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:24.8505190Z 
2026-05-05T08:30:24.8505731Z TASK [test_mysql_user : Password | Assert that the mysql_info module succeeded because we used the new password] ***
2026-05-05T08:30:24.9247883Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:24.9249035Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:24.9249574Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:24.9249938Z ␛[0;32m}␛[0m
2026-05-05T08:30:24.9250065Z 
2026-05-05T08:30:24.9250316Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:25.0147272Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:25.0148764Z 
2026-05-05T08:30:25.0149102Z TASK [test_mysql_user : Utils | Remove user test_user_password] ****************
2026-05-05T08:30:25.3188910Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:25.3190226Z 
2026-05-05T08:30:25.3190700Z TASK [test_mysql_user : Password | Create user with initial password] **********
2026-05-05T08:30:25.6320978Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_password"}␛[0m
2026-05-05T08:30:25.6321863Z 
2026-05-05T08:30:25.6322295Z TASK [test_mysql_user : Password | Assert that a change occurred because the user was added] ***
2026-05-05T08:30:25.7080087Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:25.7080621Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:25.7081053Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:25.7081440Z ␛[0;32m}␛[0m
2026-05-05T08:30:25.7081593Z 
2026-05-05T08:30:25.7081861Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:25.8017876Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:25.8020116Z 
2026-05-05T08:30:25.8020470Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_password] ***
2026-05-05T08:30:26.0621422Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_password'"], "delta": "0:00:00.017139", "end": "2026-05-05 08:30:26.031154", "msg": "", "rc": 0, "start": "2026-05-05 08:30:26.014015", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_password", "stdout_lines": ["user", "test_user_password"]}␛[0m
2026-05-05T08:30:26.0624428Z 
2026-05-05T08:30:26.0624747Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:26.1349415Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:26.1349860Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:26.1350278Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:26.1350682Z ␛[0;32m}␛[0m
2026-05-05T08:30:26.1350848Z 
2026-05-05T08:30:26.1351248Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_password] ***
2026-05-05T08:30:26.3997055Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_password'@'localhost'"], "delta": "0:00:00.017744", "end": "2026-05-05 08:30:26.366743", "msg": "", "rc": 0, "start": "2026-05-05 08:30:26.348999", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_password@localhost\nGRANT SELECT ON *.* TO `test_user_password`@`localhost`", "stdout_lines": ["Grants for test_user_password@localhost", "GRANT SELECT ON *.* TO `test_user_password`@`localhost`"]}␛[0m
2026-05-05T08:30:26.4001278Z 
2026-05-05T08:30:26.4001687Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:26.4763025Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:26.4763394Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:26.4763763Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:26.4764092Z ␛[0;32m}␛[0m
2026-05-05T08:30:26.4764218Z 
2026-05-05T08:30:26.4764663Z TASK [test_mysql_user : Password | Pass in the same password as before, but in the encrypted form (no change expected)] ***
2026-05-05T08:30:26.7871977Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:26.7873227Z 
2026-05-05T08:30:26.7873945Z TASK [test_mysql_user : Password | Assert that there weren't any changes because username/password didn't change] ***
2026-05-05T08:30:26.8614581Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:26.8615169Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:26.8615758Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:26.8616353Z ␛[0;32m}␛[0m
2026-05-05T08:30:26.8616560Z 
2026-05-05T08:30:26.8616931Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:26.9529789Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:26.9531204Z 
2026-05-05T08:30:26.9531516Z TASK [test_mysql_user : Utils | Remove user test_user_password] ****************
2026-05-05T08:30:27.2543430Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:27.2544307Z 
2026-05-05T08:30:27.2544640Z TASK [test_mysql_user : Password | Create user with initial password] **********
2026-05-05T08:30:27.5594172Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_password"}␛[0m
2026-05-05T08:30:27.5595571Z 
2026-05-05T08:30:27.5595989Z TASK [test_mysql_user : Password | Assert that a change occurred because the user was added] ***
2026-05-05T08:30:27.6343666Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:27.6344174Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:27.6344648Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:27.6345081Z ␛[0;32m}␛[0m
2026-05-05T08:30:27.6345250Z 
2026-05-05T08:30:27.6345544Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:27.7423042Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:27.7424258Z 
2026-05-05T08:30:27.7424581Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_password] ***
2026-05-05T08:30:28.0030222Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_password'"], "delta": "0:00:00.017921", "end": "2026-05-05 08:30:27.967576", "msg": "", "rc": 0, "start": "2026-05-05 08:30:27.949655", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_password", "stdout_lines": ["user", "test_user_password"]}␛[0m
2026-05-05T08:30:28.0033239Z 
2026-05-05T08:30:28.0033570Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:28.0791210Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:28.0791735Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:28.0792207Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:28.0792651Z ␛[0;32m}␛[0m
2026-05-05T08:30:28.0792807Z 
2026-05-05T08:30:28.0793268Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_password] ***
2026-05-05T08:30:28.3456970Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_password'@'%'"], "delta": "0:00:00.016944", "end": "2026-05-05 08:30:28.313035", "msg": "", "rc": 0, "start": "2026-05-05 08:30:28.296091", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_password@%\nGRANT SELECT ON *.* TO `test_user_password`@`%`", "stdout_lines": ["Grants for test_user_password@%", "GRANT SELECT ON *.* TO `test_user_password`@`%`"]}␛[0m
2026-05-05T08:30:28.3459715Z 
2026-05-05T08:30:28.3459993Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:28.4279890Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:28.4280331Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:28.4280711Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:28.4281056Z ␛[0;32m}␛[0m
2026-05-05T08:30:28.4281180Z 
2026-05-05T08:30:28.4281477Z TASK [test_mysql_user : Password | Get the MySQL version data using the new creds] ***
2026-05-05T08:30:28.7392338Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:28.7393508Z 
2026-05-05T08:30:28.7394061Z TASK [test_mysql_user : Password | Assert that the mysql_info module succeeded because we used the new password] ***
2026-05-05T08:30:28.8210402Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:28.8210829Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:28.8211227Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:28.8211586Z ␛[0;32m}␛[0m
2026-05-05T08:30:28.8211714Z 
2026-05-05T08:30:28.8212630Z TASK [test_mysql_user : Password | Pass in the same password as before, but in the encrypted form (no change expected)] ***
2026-05-05T08:30:29.1285893Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:29.1286785Z 
2026-05-05T08:30:29.1287306Z TASK [test_mysql_user : Password | Assert that there weren't any changes because username/password didn't change] ***
2026-05-05T08:30:29.2030567Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:29.2031071Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:29.2031545Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:29.2031964Z ␛[0;32m}␛[0m
2026-05-05T08:30:29.2032122Z 
2026-05-05T08:30:29.2032419Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:29.2994815Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:29.2996195Z 
2026-05-05T08:30:29.2996534Z TASK [test_mysql_user : Utils | Remove user test_user_password] ****************
2026-05-05T08:30:29.5967277Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:29.5967971Z 
2026-05-05T08:30:29.5968241Z TASK [test_mysql_user : Password | Create user with empty password] ************
2026-05-05T08:30:29.9088576Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_password"}␛[0m
2026-05-05T08:30:29.9089300Z 
2026-05-05T08:30:29.9089643Z TASK [test_mysql_user : Password | Assert that a change occurred because the user was added] ***
2026-05-05T08:30:29.9865815Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:29.9866321Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:29.9866856Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:29.9867299Z ␛[0;32m}␛[0m
2026-05-05T08:30:29.9867463Z 
2026-05-05T08:30:29.9867962Z TASK [test_mysql_user : Password | Get the MySQL version using an empty password for the newly created user] ***
2026-05-05T08:30:30.2948723Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:30.2949582Z 
2026-05-05T08:30:30.2949829Z TASK [test_mysql_user : Password | Assert that mysql_info was successful] ******
2026-05-05T08:30:30.3696339Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:30.3696741Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:30.7065283Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:30.7065755Z ␛[0;32m}␛[0m
2026-05-05T08:30:30.7065907Z 
2026-05-05T08:30:30.7066338Z TASK [test_mysql_user : Password | Get the MySQL version using an non-empty password (should fail)] ***
2026-05-05T08:30:30.7068894Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to connect to database using pymysql 0.9.3, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1045, \"Access denied for user 'test_user_password'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:30:30.7070605Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:30.7070778Z 
2026-05-05T08:30:30.7071063Z TASK [test_mysql_user : Password | Assert that mysql_info failed] **************
2026-05-05T08:30:30.7827817Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:30.7828601Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:30.7829171Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:30.7829563Z ␛[0;32m}␛[0m
2026-05-05T08:30:30.7829713Z 
2026-05-05T08:30:30.7830037Z TASK [test_mysql_user : Password | Update the user without changing the password] ***
2026-05-05T08:30:31.0868975Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:31.0869843Z 
2026-05-05T08:30:31.0870277Z TASK [test_mysql_user : Password | Assert that the user wasn't changed because the password is still empty] ***
2026-05-05T08:30:31.1612040Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:31.1612639Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:31.1613240Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:31.1613788Z ␛[0;32m}␛[0m
2026-05-05T08:30:31.1613980Z 
2026-05-05T08:30:31.1614353Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:31.2557731Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:31.2560043Z 
2026-05-05T08:30:31.2560428Z TASK [test_mysql_user : Utils | Remove user test_user_password] ****************
2026-05-05T08:30:31.5551582Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_password"}␛[0m
2026-05-05T08:30:31.5552322Z 
2026-05-05T08:30:31.5552576Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:31.7777972Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_user_plugin_auth.yml for testhost␛[0m
2026-05-05T08:30:31.7779807Z 
2026-05-05T08:30:31.7780176Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth (with hash string)] ***
2026-05-05T08:30:32.0871428Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:32.0872658Z 
2026-05-05T08:30:32.0873008Z TASK [test_mysql_user : Plugin auth | Get user information (with hash string)] ***
2026-05-05T08:30:32.3420115Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user, host, plugin FROM mysql.user WHERE user = 'test_user_plugin_auth' and host = '%'"], "delta": "0:00:00.017079", "end": "2026-05-05 08:30:32.310584", "msg": "", "rc": 0, "start": "2026-05-05 08:30:32.293505", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\thost\tplugin\ntest_user_plugin_auth\t%\tmysql_native_password", "stdout_lines": ["user\thost\tplugin", "test_user_plugin_auth\t%\tmysql_native_password"]}␛[0m
2026-05-05T08:30:32.3423019Z 
2026-05-05T08:30:32.3423349Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (with hash string)] ***
2026-05-05T08:30:32.4168126Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:32.4168871Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:32.4169388Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:32.4169862Z ␛[0;32m}␛[0m
2026-05-05T08:30:32.4170027Z 
2026-05-05T08:30:32.4170505Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (with hash string)] ***
2026-05-05T08:30:32.4956195Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:32.4956660Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:32.4957041Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:32.4957401Z ␛[0;32m}␛[0m
2026-05-05T08:30:32.4957533Z 
2026-05-05T08:30:32.4957802Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:32.5957448Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:32.5958901Z 
2026-05-05T08:30:32.5959245Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:32.8543537Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.016816", "end": "2026-05-05 08:30:32.823148", "msg": "", "rc": 0, "start": "2026-05-05 08:30:32.806332", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:32.8546158Z 
2026-05-05T08:30:32.8546425Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:32.9292645Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:32.9293220Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:32.9293637Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:32.9294080Z ␛[0;32m}␛[0m
2026-05-05T08:30:32.9294225Z 
2026-05-05T08:30:32.9294618Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:33.1954818Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017807", "end": "2026-05-05 08:30:33.161537", "msg": "", "rc": 0, "start": "2026-05-05 08:30:33.143730", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:33.1958189Z 
2026-05-05T08:30:33.1958766Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:33.2787384Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:33.2787846Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:33.2788276Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:33.2788944Z ␛[0;32m}␛[0m
2026-05-05T08:30:33.2789095Z 
2026-05-05T08:30:33.2789463Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using the newly created creds] ***
2026-05-05T08:30:33.6010520Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:33.6011490Z 
2026-05-05T08:30:33.6011784Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:33.6749319Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:33.6749825Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:33.6750317Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:33.6750801Z ␛[0;32m}␛[0m
2026-05-05T08:30:33.6750962Z 
2026-05-05T08:30:33.6751282Z TASK [test_mysql_user : Plugin auth | Update the user with a different hash] ***
2026-05-05T08:30:33.9767975Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:33.9768713Z 
2026-05-05T08:30:33.9769025Z TASK [test_mysql_user : Plugin auth | Check that the module makes the change because the hash changed] ***
2026-05-05T08:30:34.0510660Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:34.0511173Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:34.0511533Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:34.0511856Z ␛[0;32m}␛[0m
2026-05-05T08:30:34.0511970Z 
2026-05-05T08:30:34.0512203Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:34.1966371Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:34.1967756Z 
2026-05-05T08:30:34.1968105Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:34.4612676Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017560", "end": "2026-05-05 08:30:34.426471", "msg": "", "rc": 0, "start": "2026-05-05 08:30:34.408911", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:34.4615351Z 
2026-05-05T08:30:34.4615663Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:34.5359744Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:34.5360134Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:34.5360498Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:34.5360840Z ␛[0;32m}␛[0m
2026-05-05T08:30:34.5360966Z 
2026-05-05T08:30:34.5361308Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:34.8053584Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017029", "end": "2026-05-05 08:30:34.772184", "msg": "", "rc": 0, "start": "2026-05-05 08:30:34.755155", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:34.8057132Z 
2026-05-05T08:30:34.8057507Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:34.8846632Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:34.8847125Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:34.8847572Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:34.8848003Z ␛[0;32m}␛[0m
2026-05-05T08:30:34.8848159Z 
2026-05-05T08:30:34.8848768Z TASK [test_mysql_user : Plugin auth | Getting the MySQL info with the new password should work] ***
2026-05-05T08:30:35.1964048Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:35.1965200Z 
2026-05-05T08:30:35.1965590Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:35.2700840Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:35.2701347Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:35.2701849Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:35.2702292Z ␛[0;32m}␛[0m
2026-05-05T08:30:35.2702439Z 
2026-05-05T08:30:35.2702756Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:35.3715818Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:35.3717336Z 
2026-05-05T08:30:35.3717704Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:35.6776707Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:35.6777948Z 
2026-05-05T08:30:35.6778707Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth (with hash string)] ***
2026-05-05T08:30:35.9859121Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:35.9860020Z 
2026-05-05T08:30:36.2426283Z TASK [test_mysql_user : Plugin auth | Get user information] ********************
2026-05-05T08:30:36.2430309Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user, host, plugin FROM mysql.user WHERE user = 'test_user_plugin_auth' and host = '%'"], "delta": "0:00:00.017312", "end": "2026-05-05 08:30:36.210450", "msg": "", "rc": 0, "start": "2026-05-05 08:30:36.193138", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\thost\tplugin\ntest_user_plugin_auth\t%\tmysql_native_password", "stdout_lines": ["user\thost\tplugin", "test_user_plugin_auth\t%\tmysql_native_password"]}␛[0m
2026-05-05T08:30:36.2433573Z 
2026-05-05T08:30:36.2433906Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (with hash string)] ***
2026-05-05T08:30:36.3218247Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:36.3218949Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:36.3219422Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:36.3219832Z ␛[0;32m}␛[0m
2026-05-05T08:30:36.3219982Z 
2026-05-05T08:30:36.3220429Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (with hash string)] ***
2026-05-05T08:30:36.3885692Z ␛[1;35m[WARNING]: conditional statements should not include jinja2 templating␛[0m
2026-05-05T08:30:36.3886492Z ␛[1;35mdelimiters such as {{ }} or {% %}. Found: '{{ test_plugin_type }}' in␛[0m
2026-05-05T08:30:36.3887047Z ␛[1;35mshow_create_user.stdout␛[0m
2026-05-05T08:30:36.3996019Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:36.3996362Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:36.3996935Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:36.3997385Z ␛[0;32m}␛[0m
2026-05-05T08:30:36.3997571Z 
2026-05-05T08:30:36.3997964Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:36.5059074Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:36.5060291Z 
2026-05-05T08:30:36.5060628Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:36.7695373Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017472", "end": "2026-05-05 08:30:36.734036", "msg": "", "rc": 0, "start": "2026-05-05 08:30:36.716564", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:36.7698265Z 
2026-05-05T08:30:36.7698811Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:36.8479110Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:36.8479587Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:36.8479994Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:36.8480352Z ␛[0;32m}␛[0m
2026-05-05T08:30:36.8480495Z 
2026-05-05T08:30:36.8480857Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:37.1199645Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017119", "end": "2026-05-05 08:30:37.086563", "msg": "", "rc": 0, "start": "2026-05-05 08:30:37.069444", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:37.1202769Z 
2026-05-05T08:30:37.1203059Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:37.2023880Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:37.2024308Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:37.2024723Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:37.2025139Z ␛[0;32m}␛[0m
2026-05-05T08:30:37.2025297Z 
2026-05-05T08:30:37.2025661Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using the newly created creds] ***
2026-05-05T08:30:37.5143038Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:37.5144188Z 
2026-05-05T08:30:37.5144509Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:37.5947088Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:37.5947588Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:37.5948075Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:37.5948769Z ␛[0;32m}␛[0m
2026-05-05T08:30:37.5948931Z 
2026-05-05T08:30:37.5949362Z TASK [test_mysql_user : Plugin auth | Update the user with the same hash (no change expected)] ***
2026-05-05T08:30:37.9071344Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:37.9072479Z 
2026-05-05T08:30:37.9073191Z TASK [test_mysql_user : Plugin auth | Check that the module doesn't make a change when the same hash is passed in] ***
2026-05-05T08:30:37.9884593Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:37.9885101Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:37.9885562Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:37.9885990Z ␛[0;32m}␛[0m
2026-05-05T08:30:37.9886139Z 
2026-05-05T08:30:37.9886461Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:38.0971021Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:38.0972151Z 
2026-05-05T08:30:38.0972476Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:38.3555879Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.016962", "end": "2026-05-05 08:30:38.324212", "msg": "", "rc": 0, "start": "2026-05-05 08:30:38.307250", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:38.3559189Z 
2026-05-05T08:30:38.3559510Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:38.4285039Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:38.4285553Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:38.4286037Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:38.4287050Z ␛[0;32m}␛[0m
2026-05-05T08:30:38.4287213Z 
2026-05-05T08:30:38.4287624Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:38.6984896Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017264", "end": "2026-05-05 08:30:38.663512", "msg": "", "rc": 0, "start": "2026-05-05 08:30:38.646248", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:38.6987891Z 
2026-05-05T08:30:38.6988218Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:38.7769911Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:38.7770446Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:38.7770948Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:38.7771412Z ␛[0;32m}␛[0m
2026-05-05T08:30:38.7771576Z 
2026-05-05T08:30:38.7772237Z TASK [test_mysql_user : Plugin auth | Change the user using the same plugin, but switch to the same auth string in plaintext form] ***
2026-05-05T08:30:39.0915424Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:39.0916137Z 
2026-05-05T08:30:39.0916453Z TASK [test_mysql_user : Plugin auth | Check that the module did not change the password] ***
2026-05-05T08:30:39.1711805Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:39.1712355Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:39.1712852Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:39.1713376Z ␛[0;32m}␛[0m
2026-05-05T08:30:39.1713540Z 
2026-05-05T08:30:39.1713911Z TASK [test_mysql_user : Plugin auth | Getting the MySQL info should still work] ***
2026-05-05T08:30:39.4968223Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:39.4969750Z 
2026-05-05T08:30:39.4970078Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:39.5731001Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:39.5731408Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:39.5731792Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:39.5732140Z ␛[0;32m}␛[0m
2026-05-05T08:30:39.5732273Z 
2026-05-05T08:30:39.5732539Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:39.6816054Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:39.6817316Z 
2026-05-05T08:30:39.6817635Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:39.9946399Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:39.9947333Z 
2026-05-05T08:30:39.9947864Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth (with auth string)] ***
2026-05-05T08:30:40.3091326Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:40.3092134Z 
2026-05-05T08:30:40.3092455Z TASK [test_mysql_user : Plugin auth | Get user information(with auth string)] ***
2026-05-05T08:30:40.5671814Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE USER 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017098", "end": "2026-05-05 08:30:40.535880", "msg": "", "rc": 0, "start": "2026-05-05 08:30:40.518782", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER for test_user_plugin_auth@%\nCREATE USER `test_user_plugin_auth`@`%` IDENTIFIED WITH 'mysql_native_password' AS '*0CB5B86F23FDC24DB19A29B8854EB860CBC47793' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER for test_user_plugin_auth@%", "CREATE USER `test_user_plugin_auth`@`%` IDENTIFIED WITH 'mysql_native_password' AS '*0CB5B86F23FDC24DB19A29B8854EB860CBC47793' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:30:40.5676825Z 
2026-05-05T08:30:40.5677135Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (with auth string)] ***
2026-05-05T08:30:40.6449576Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:40.6450009Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:40.6450434Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:40.6450806Z ␛[0;32m}␛[0m
2026-05-05T08:30:40.6450950Z 
2026-05-05T08:30:40.6451351Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (with auth string)] ***
2026-05-05T08:30:40.7207529Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:40.7208218Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:40.7208948Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:40.7209409Z ␛[0;32m}␛[0m
2026-05-05T08:30:40.7209576Z 
2026-05-05T08:30:40.7209931Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:40.8322252Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:40.8323466Z 
2026-05-05T08:30:40.8323806Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:41.0904767Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017614", "end": "2026-05-05 08:30:41.056351", "msg": "", "rc": 0, "start": "2026-05-05 08:30:41.038737", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:41.0907537Z 
2026-05-05T08:30:41.0907838Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:41.1631194Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:41.1631592Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:41.1631971Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:41.1632327Z ␛[0;32m}␛[0m
2026-05-05T08:30:41.1632457Z 
2026-05-05T08:30:41.1632817Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:41.4369464Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017966", "end": "2026-05-05 08:30:41.401862", "msg": "", "rc": 0, "start": "2026-05-05 08:30:41.383896", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:41.4373182Z 
2026-05-05T08:30:41.4373543Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:41.5165747Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:41.5166144Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:41.5166531Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:41.5166880Z ␛[0;32m}␛[0m
2026-05-05T08:30:41.5167013Z 
2026-05-05T08:30:41.5167338Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using the newly created creds] ***
2026-05-05T08:30:41.8342572Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:41.8343550Z 
2026-05-05T08:30:41.8343824Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:41.9089140Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:41.9089650Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:41.9090233Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:41.9090666Z ␛[0;32m}␛[0m
2026-05-05T08:30:41.9090818Z 
2026-05-05T08:30:41.9091150Z TASK [test_mysql_user : Plugin auth | Update the user with the same auth string] ***
2026-05-05T08:30:42.2104450Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:42.2105161Z 
2026-05-05T08:30:42.2105606Z TASK [test_mysql_user : Plugin auth | The module should detect a change even though the password is the same] ***
2026-05-05T08:30:42.2851699Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:42.2852135Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:42.2852499Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:42.2852834Z ␛[0;32m}␛[0m
2026-05-05T08:30:42.2852950Z 
2026-05-05T08:30:42.2853193Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:42.3984103Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:42.3985495Z 
2026-05-05T08:30:42.3985881Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:42.6648073Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017622", "end": "2026-05-05 08:30:42.630700", "msg": "", "rc": 0, "start": "2026-05-05 08:30:42.613078", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:42.6651210Z 
2026-05-05T08:30:42.6651498Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:42.7396729Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:42.7397209Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:42.7397630Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:42.7398028Z ␛[0;32m}␛[0m
2026-05-05T08:30:42.7398173Z 
2026-05-05T08:30:42.7398703Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:43.0126936Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017582", "end": "2026-05-05 08:30:42.979992", "msg": "", "rc": 0, "start": "2026-05-05 08:30:42.962410", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:43.0130645Z 
2026-05-05T08:30:43.0130967Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:43.0967328Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:43.0967990Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:43.0968865Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:43.0969484Z ␛[0;32m}␛[0m
2026-05-05T08:30:43.0969704Z 
2026-05-05T08:30:43.0970605Z TASK [test_mysql_user : Plugin auth | Change the user using the same plugin, but switch to the same auth string in hash form] ***
2026-05-05T08:30:43.4145355Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:43.4146294Z 
2026-05-05T08:30:43.4146701Z TASK [test_mysql_user : Plugin auth | Check that the module did not change the password] ***
2026-05-05T08:30:43.4944105Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:43.4946029Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:43.4946618Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:43.4947149Z ␛[0;32m}␛[0m
2026-05-05T08:30:43.4947346Z 
2026-05-05T08:30:43.4947801Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using the newly created creds] ***
2026-05-05T08:30:43.8159480Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:43.8160452Z 
2026-05-05T08:30:43.8160732Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:43.8909481Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:43.8910074Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:43.8910654Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:43.8911208Z ␛[0;32m}␛[0m
2026-05-05T08:30:43.8911415Z 
2026-05-05T08:30:43.8911835Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:44.0059475Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:44.0060693Z 
2026-05-05T08:30:44.0060991Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:44.3147085Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:44.3147995Z 
2026-05-05T08:30:44.3148602Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth (empty auth string)] ***
2026-05-05T08:30:44.6334645Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:44.6335547Z 
2026-05-05T08:30:44.6335901Z TASK [test_mysql_user : Plugin auth | Get user information (empty auth string)] ***
2026-05-05T08:30:44.9011109Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE USER 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017736", "end": "2026-05-05 08:30:44.864036", "msg": "", "rc": 0, "start": "2026-05-05 08:30:44.846300", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER for test_user_plugin_auth@%\nCREATE USER `test_user_plugin_auth`@`%` IDENTIFIED WITH 'mysql_native_password' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER for test_user_plugin_auth@%", "CREATE USER `test_user_plugin_auth`@`%` IDENTIFIED WITH 'mysql_native_password' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:30:44.9016765Z 
2026-05-05T08:30:44.9017170Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (empty auth string)] ***
2026-05-05T08:30:44.9791457Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:44.9792021Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:44.9792465Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:44.9792931Z ␛[0;32m}␛[0m
2026-05-05T08:30:44.9793084Z 
2026-05-05T08:30:44.9793549Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (empty auth string)] ***
2026-05-05T08:30:45.0592977Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:45.0593563Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:45.0594147Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:45.0594722Z ␛[0;32m}␛[0m
2026-05-05T08:30:45.0594926Z 
2026-05-05T08:30:45.0595351Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:45.1790111Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:45.1791281Z 
2026-05-05T08:30:45.1791622Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:45.4370966Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017138", "end": "2026-05-05 08:30:45.405823", "msg": "", "rc": 0, "start": "2026-05-05 08:30:45.388685", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:45.4374079Z 
2026-05-05T08:30:45.4374419Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:45.5099970Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:45.5100381Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:45.5100767Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:45.5101124Z ␛[0;32m}␛[0m
2026-05-05T08:30:45.5101295Z 
2026-05-05T08:30:45.5101664Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:45.7885681Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'%'"], "delta": "0:00:00.017416", "end": "2026-05-05 08:30:45.753714", "msg": "", "rc": 0, "start": "2026-05-05 08:30:45.736298", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@%\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`", "stdout_lines": ["Grants for test_user_plugin_auth@%", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`%`"]}␛[0m
2026-05-05T08:30:45.7889619Z 
2026-05-05T08:30:45.7889976Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:45.8680741Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:45.8681230Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:45.8681693Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:45.8682096Z ␛[0;32m}␛[0m
2026-05-05T08:30:45.8682245Z 
2026-05-05T08:30:45.8682734Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using an empty password for the newly created user] ***
2026-05-05T08:30:46.1814686Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:30:46.1815567Z 
2026-05-05T08:30:46.1815814Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info was successful] ***
2026-05-05T08:30:46.2558096Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:46.2558598Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:46.2558948Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:46.2559277Z ␛[0;32m}␛[0m
2026-05-05T08:30:46.2559392Z 
2026-05-05T08:30:46.2559745Z TASK [test_mysql_user : Plugin auth | Get the MySQL version using an non-empty password (should fail)] ***
2026-05-05T08:30:46.5582611Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to connect to database using pymysql 0.9.3, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1045, \"Access denied for user 'test_user_plugin_auth'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:30:46.5584004Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:46.5584157Z 
2026-05-05T08:30:46.5584390Z TASK [test_mysql_user : Plugin auth | Assert that mysql_info failed] ***********
2026-05-05T08:30:46.6320960Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:46.6321340Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:46.6321696Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:46.6322024Z ␛[0;32m}␛[0m
2026-05-05T08:30:46.6322151Z 
2026-05-05T08:30:46.6322582Z TASK [test_mysql_user : Plugin auth | Update the user without changing the auth mechanism] ***
2026-05-05T08:30:46.9401653Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:46.9402555Z 
2026-05-05T08:30:46.9403085Z TASK [test_mysql_user : Plugin auth | Assert that the user wasn't changed because the auth string is still empty] ***
2026-05-05T08:30:47.0186618Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:47.0187047Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:47.0187443Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:47.0187868Z ␛[0;32m}␛[0m
2026-05-05T08:30:47.0188032Z 
2026-05-05T08:30:47.0188304Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:47.1330184Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:47.1331348Z 
2026-05-05T08:30:47.1331619Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:47.4357577Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:47.4358321Z 
2026-05-05T08:30:47.4359122Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth (empty auth string)] ***
2026-05-05T08:30:47.7489110Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:47.7489918Z 
2026-05-05T08:30:47.7490244Z TASK [test_mysql_user : Plugin auth | Get user information (empty auth string)] ***
2026-05-05T08:30:48.0282679Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE USER 'test_user_plugin_auth'@'localhost'"], "delta": "0:00:00.017013", "end": "2026-05-05 08:30:47.996052", "msg": "", "rc": 0, "start": "2026-05-05 08:30:47.979039", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER for test_user_plugin_auth@localhost\nCREATE USER `test_user_plugin_auth`@`localhost` IDENTIFIED WITH 'mysql_native_password' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER for test_user_plugin_auth@localhost", "CREATE USER `test_user_plugin_auth`@`localhost` IDENTIFIED WITH 'mysql_native_password' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:30:48.0289516Z 
2026-05-05T08:30:48.0290013Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (empty auth string)] ***
2026-05-05T08:30:48.1052780Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:48.1053316Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:48.1053805Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:48.1054260Z ␛[0;32m}␛[0m
2026-05-05T08:30:48.1054419Z 
2026-05-05T08:30:48.1054902Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (empty auth string)] ***
2026-05-05T08:30:48.1839753Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:48.1840131Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:48.1840482Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:48.1840821Z ␛[0;32m}␛[0m
2026-05-05T08:30:48.1840938Z 
2026-05-05T08:30:48.1841188Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:48.2721190Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:48.5384458Z 
2026-05-05T08:30:48.5385190Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:48.5389923Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017014", "end": "2026-05-05 08:30:48.504224", "msg": "", "rc": 0, "start": "2026-05-05 08:30:48.487210", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:48.5392530Z 
2026-05-05T08:30:48.5392809Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:48.6213237Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:48.6213787Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:48.6214211Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:48.6214586Z ␛[0;32m}␛[0m
2026-05-05T08:30:48.6214731Z 
2026-05-05T08:30:48.6215112Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:48.8954085Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'localhost'"], "delta": "0:00:00.018095", "end": "2026-05-05 08:30:48.858404", "msg": "", "rc": 0, "start": "2026-05-05 08:30:48.840309", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@localhost\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`localhost`", "stdout_lines": ["Grants for test_user_plugin_auth@localhost", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`localhost`"]}␛[0m
2026-05-05T08:30:48.8958791Z 
2026-05-05T08:30:48.8959249Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:48.9795083Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:48.9795466Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:48.9795824Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:48.9796166Z ␛[0;32m}␛[0m
2026-05-05T08:30:48.9796289Z 
2026-05-05T08:30:48.9796559Z TASK [test_mysql_user : Plugin auth | Switch user to sha256_password auth plugin] ***
2026-05-05T08:30:49.2964021Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:49.2964723Z 
2026-05-05T08:30:49.2964983Z TASK [test_mysql_user : Plugin auth | Get user information (sha256_password)] ***
2026-05-05T08:30:49.5654774Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE USER 'test_user_plugin_auth'@'localhost'"], "delta": "0:00:00.017347", "end": "2026-05-05 08:30:49.531314", "msg": "", "rc": 0, "start": "2026-05-05 08:30:49.513967", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER for test_user_plugin_auth@localhost\nCREATE USER `test_user_plugin_auth`@`localhost` IDENTIFIED WITH 'sha256_password' REQUIRE NONE PASSWORD EXPIRE ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER for test_user_plugin_auth@localhost", "CREATE USER `test_user_plugin_auth`@`localhost` IDENTIFIED WITH 'sha256_password' REQUIRE NONE PASSWORD EXPIRE ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:30:49.5661119Z 
2026-05-05T08:30:49.5661566Z TASK [test_mysql_user : Plugin auth | Check that the module made a change (sha256_password)] ***
2026-05-05T08:30:49.6421921Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:49.6422297Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:49.6422658Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:49.6422983Z ␛[0;32m}␛[0m
2026-05-05T08:30:49.6423104Z 
2026-05-05T08:30:49.6423461Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (sha256_password)] ***
2026-05-05T08:30:49.7217916Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:49.7218281Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:49.7218833Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:49.7219159Z ␛[0;32m}␛[0m
2026-05-05T08:30:49.7219275Z 
2026-05-05T08:30:49.7219529Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:49.8215346Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:30:49.8216542Z 
2026-05-05T08:30:49.8216879Z TASK [test_mysql_user : Utils | Assert user | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:50.0892754Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017249", "end": "2026-05-05 08:30:50.054275", "msg": "", "rc": 0, "start": "2026-05-05 08:30:50.037026", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ntest_user_plugin_auth", "stdout_lines": ["user", "test_user_plugin_auth"]}␛[0m
2026-05-05T08:30:50.0896164Z 
2026-05-05T08:30:50.0896667Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:30:50.1709388Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:50.1709956Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:50.1710340Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:50.1710698Z ␛[0;32m}␛[0m
2026-05-05T08:30:50.1710823Z 
2026-05-05T08:30:50.1711196Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user test_user_plugin_auth] ***
2026-05-05T08:30:50.4367842Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'test_user_plugin_auth'@'localhost'"], "delta": "0:00:00.017379", "end": "2026-05-05 08:30:50.405721", "msg": "", "rc": 0, "start": "2026-05-05 08:30:50.388342", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for test_user_plugin_auth@localhost\nGRANT SELECT ON *.* TO `test_user_plugin_auth`@`localhost`", "stdout_lines": ["Grants for test_user_plugin_auth@localhost", "GRANT SELECT ON *.* TO `test_user_plugin_auth`@`localhost`"]}␛[0m
2026-05-05T08:30:50.4370839Z 
2026-05-05T08:30:50.4371101Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:30:50.5168663Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:50.5169106Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:50.5169437Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:50.5169726Z ␛[0;32m}␛[0m
2026-05-05T08:30:50.5169833Z 
2026-05-05T08:30:50.5170055Z TASK [test_mysql_user : ansible.builtin.include_tasks] *************************
2026-05-05T08:30:50.6062465Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:50.6063872Z 
2026-05-05T08:30:50.6064221Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:50.9188009Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:50.9189165Z 
2026-05-05T08:30:50.9189516Z TASK [test_mysql_user : Plugin auth | Create user with plugin auth and salt] ***
2026-05-05T08:30:51.2394399Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:51.2395076Z 
2026-05-05T08:30:51.2395346Z TASK [test_mysql_user : Plugin auth | Connect with user and password] **********
2026-05-05T08:30:51.4985418Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-u", "test_user_plugin_auth", "-pFdt8fd^34ds", "-e", "SELECT 1"], "delta": "0:00:00.019084", "end": "2026-05-05 08:30:51.465574", "msg": "", "rc": 0, "start": "2026-05-05 08:30:51.446490", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "1\n1", "stdout_lines": ["1", "1"]}␛[0m
2026-05-05T08:30:51.4987584Z 
2026-05-05T08:30:51.4987873Z TASK [test_mysql_user : Plugin auth | Alter user with same plugin auth and same salt] ***
2026-05-05T08:30:51.8240408Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:51.8241296Z 
2026-05-05T08:30:51.8241545Z TASK [test_mysql_user : Cleanup user] ******************************************
2026-05-05T08:30:51.9393210Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:51.9394584Z 
2026-05-05T08:30:51.9394885Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:52.2346748Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:52.2347446Z 
2026-05-05T08:30:52.2347727Z TASK [test_mysql_user : Plugin auth | Create user with too short salt (should fail)] ***
2026-05-05T08:30:52.5322602Z ␛[0;32mok: [testhost] => {"changed": false, "failed_when_result": false, "msg": "salt must be 20 characters long"}␛[0m
2026-05-05T08:30:52.5323215Z 
2026-05-05T08:30:52.5323597Z TASK [test_mysql_user : Plugin auth | Create user with salt and no plugin auth string (should fail)] ***
2026-05-05T08:30:52.8280761Z ␛[0;32mok: [testhost] => {"changed": false, "failed_when_result": false, "msg": "salt requires plugin_auth_string"}␛[0m
2026-05-05T08:30:52.8281565Z 
2026-05-05T08:30:52.8282185Z TASK [test_mysql_user : Plugin auth | Create user with salt and plugin not handled by internal hash generation (should fail)] ***
2026-05-05T08:30:53.1220508Z ␛[0;32mok: [testhost] => {"changed": false, "failed_when_result": false, "msg": "salt requires caching_sha2_password or sha256_password plugin"}␛[0m
2026-05-05T08:30:53.1221145Z 
2026-05-05T08:30:53.1221358Z TASK [test_mysql_user : Cleanup user] ******************************************
2026-05-05T08:30:53.2101527Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:30:53.2102619Z 
2026-05-05T08:30:53.2102903Z TASK [test_mysql_user : Utils | Remove user test_user_plugin_auth] *************
2026-05-05T08:30:53.5165376Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:53.5166320Z 
2026-05-05T08:30:53.5166667Z TASK [test_mysql_user : Plugin auth | Create user with mysql_native_password] ***
2026-05-05T08:30:53.8284685Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:53.8285282Z 
2026-05-05T08:30:53.8285531Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set] ***
2026-05-05T08:30:53.9163353Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_plugin.yml for testhost␛[0m
2026-05-05T08:30:53.9164716Z 
2026-05-05T08:30:53.9165113Z TASK [test_mysql_user : Utils | Assert plugin | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:54.1812231Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT plugin FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017625", "end": "2026-05-05 08:30:54.148333", "msg": "", "rc": 0, "start": "2026-05-05 08:30:54.130708", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "plugin\nmysql_native_password", "stdout_lines": ["plugin", "mysql_native_password"]}␛[0m
2026-05-05T08:30:54.1814726Z 
2026-05-05T08:30:54.1815001Z TASK [test_mysql_user : Utils | Assert plugin | Assert plugin is correct] ******
2026-05-05T08:30:54.2572528Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:54.2573047Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:54.2573565Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:54.2574033Z ␛[0;32m}␛[0m
2026-05-05T08:30:54.2574205Z 
2026-05-05T08:30:54.2574903Z TASK [test_mysql_user : Plugin auth | Connect with user and password] **********
2026-05-05T08:30:54.5180671Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-u", "test_user_plugin_auth", "-pFdt8fd^34ds", "-e", "SELECT 1"], "delta": "0:00:00.016797", "end": "2026-05-05 08:30:54.487825", "msg": "", "rc": 0, "start": "2026-05-05 08:30:54.471028", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "1\n1", "stdout_lines": ["1", "1"]}␛[0m
2026-05-05T08:30:54.5183565Z 
2026-05-05T08:30:54.5183923Z TASK [test_mysql_user : Plugin auth | Change auth user plugin in check mode] ***
2026-05-05T08:30:54.8466067Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:54.8467195Z 
2026-05-05T08:30:54.8467653Z TASK [test_mysql_user : Plugin auth | Check that the expected plugin type is set (not changed)] ***
2026-05-05T08:30:54.9336003Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_plugin.yml for testhost␛[0m
2026-05-05T08:30:54.9337119Z 
2026-05-05T08:30:54.9337453Z TASK [test_mysql_user : Utils | Assert plugin | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:55.1971017Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT plugin FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017198", "end": "2026-05-05 08:30:55.165935", "msg": "", "rc": 0, "start": "2026-05-05 08:30:55.148737", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "plugin\nmysql_native_password", "stdout_lines": ["plugin", "mysql_native_password"]}␛[0m
2026-05-05T08:30:55.1973318Z 
2026-05-05T08:30:55.1973560Z TASK [test_mysql_user : Utils | Assert plugin | Assert plugin is correct] ******
2026-05-05T08:30:55.2781721Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:55.2782134Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:55.2782485Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:55.2782796Z ␛[0;32m}␛[0m
2026-05-05T08:30:55.2782913Z 
2026-05-05T08:30:55.2783142Z TASK [test_mysql_user : Plugin auth | Change auth user plugin] *****************
2026-05-05T08:30:55.7202038Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "failed_when_result": false, "msg": "User unchanged", "password_changed": true, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:55.7203033Z 
2026-05-05T08:30:55.7203394Z TASK [test_mysql_user : Plugin auth | Check that the expected (new) plugin type is set] ***
2026-05-05T08:30:55.8124799Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_plugin.yml for testhost␛[0m
2026-05-05T08:30:55.8126015Z 
2026-05-05T08:30:55.8126359Z TASK [test_mysql_user : Utils | Assert plugin | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:56.0798929Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT plugin FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017233", "end": "2026-05-05 08:30:56.047505", "msg": "", "rc": 0, "start": "2026-05-05 08:30:56.030272", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "plugin\ncaching_sha2_password", "stdout_lines": ["plugin", "caching_sha2_password"]}␛[0m
2026-05-05T08:30:56.0802450Z 
2026-05-05T08:30:56.0802764Z TASK [test_mysql_user : Utils | Assert plugin | Assert plugin is correct] ******
2026-05-05T08:30:56.1614808Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:56.1615419Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:56.1615999Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:56.1616557Z ␛[0;32m}␛[0m
2026-05-05T08:30:56.1616748Z 
2026-05-05T08:30:56.1617232Z TASK [test_mysql_user : Plugin auth | Change auth user plugin again (should not change)] ***
2026-05-05T08:30:56.4973434Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "test_user_plugin_auth"}␛[0m
2026-05-05T08:30:56.4974324Z 
2026-05-05T08:30:56.4974705Z TASK [test_mysql_user : Plugin auth | Check that the expected (not changed) plugin type is set] ***
2026-05-05T08:30:56.5889127Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_plugin.yml for testhost␛[0m
2026-05-05T08:30:56.5890494Z 
2026-05-05T08:30:56.5890878Z TASK [test_mysql_user : Utils | Assert plugin | Query for user test_user_plugin_auth] ***
2026-05-05T08:30:56.8600845Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT plugin FROM mysql.user where user='test_user_plugin_auth'"], "delta": "0:00:00.017698", "end": "2026-05-05 08:30:56.826757", "msg": "", "rc": 0, "start": "2026-05-05 08:30:56.809059", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "plugin\ncaching_sha2_password", "stdout_lines": ["plugin", "caching_sha2_password"]}␛[0m
2026-05-05T08:30:56.8603494Z 
2026-05-05T08:30:56.8603800Z TASK [test_mysql_user : Utils | Assert plugin | Assert plugin is correct] ******
2026-05-05T08:30:56.9421201Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:56.9421845Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:56.9422507Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:56.9423127Z ␛[0;32m}␛[0m
2026-05-05T08:30:56.9423352Z 
2026-05-05T08:30:56.9423768Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:57.1442067Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_privs.yml for testhost␛[0m
2026-05-05T08:30:57.1443194Z 
2026-05-05T08:30:57.1443495Z TASK [test_mysql_user : Privs | Create user with basic select privileges] ******
2026-05-05T08:30:57.2117058Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:57.2118142Z 
2026-05-05T08:30:57.2118773Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:30:57.2813410Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:57.2814901Z 
2026-05-05T08:30:57.2815554Z TASK [test_mysql_user : Privs | Create user with current privileges (expect changed=true)] ***
2026-05-05T08:30:57.5933634Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:30:57.5934463Z 
2026-05-05T08:30:57.5934824Z TASK [test_mysql_user : Privs | Assert output message for current privileges] ***
2026-05-05T08:30:57.6726317Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:57.6726867Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:57.6727336Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:57.6727772Z ␛[0;32m}␛[0m
2026-05-05T08:30:57.6728239Z 
2026-05-05T08:30:57.6729002Z TASK [test_mysql_user : Privs | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:30:57.9414161Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'%'"], "delta": "0:00:00.017334", "end": "2026-05-05 08:30:57.908030", "msg": "", "rc": 0, "start": "2026-05-05 08:30:57.890696", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@%\nGRANT SELECT ON *.* TO `db_user2`@`%`", "stdout_lines": ["Grants for db_user2@%", "GRANT SELECT ON *.* TO `db_user2`@`%`"]}␛[0m
2026-05-05T08:30:57.9416653Z 
2026-05-05T08:30:57.9416918Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:30:58.0072242Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"no\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:58.0073012Z 
2026-05-05T08:30:58.0073288Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:30:58.0740968Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:30:58.0741871Z 
2026-05-05T08:30:58.0742191Z TASK [test_mysql_user : Privs | Create database using user current privileges] ***
2026-05-05T08:30:58.4613205Z ␛[0;31mAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: pymysql.err.OperationalError: (1044, "Access denied for user 'db_user2'@'%' to database 'data'")␛[0m
2026-05-05T08:30:58.4615355Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "error creating database: (1044, \"Access denied for user 'db_user2'@'%' to database 'data'\")"}␛[0m
2026-05-05T08:30:58.4616409Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:30:58.4616624Z 
2026-05-05T08:30:58.4616950Z TASK [test_mysql_user : Privs | Run command to test that database was not created] ***
2026-05-05T08:30:58.7300557Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "show databases like 'data'"], "delta": "0:00:00.019955", "end": "2026-05-05 08:30:58.693078", "msg": "", "rc": 0, "start": "2026-05-05 08:30:58.673123", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:30:58.7303043Z 
2026-05-05T08:30:58.7303348Z TASK [test_mysql_user : Privs | Assert database was not created] ***************
2026-05-05T08:30:58.8012089Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:58.8012546Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:58.8012949Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:58.8013293Z ␛[0;32m}␛[0m
2026-05-05T08:30:58.8013414Z 
2026-05-05T08:30:58.8013685Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect changed)] ***
2026-05-05T08:30:59.1352865Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['USAGE'], revoked ['SELECT']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:59.1353853Z 
2026-05-05T08:30:59.1354149Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:30:59.2104038Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:59.2104629Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:59.2105157Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:59.2105655Z ␛[0;32m}␛[0m
2026-05-05T08:30:59.2105828Z 
2026-05-05T08:30:59.2106193Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect ok)] *****
2026-05-05T08:30:59.5550573Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:59.5551333Z 
2026-05-05T08:30:59.5551581Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:30:59.6395336Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:30:59.6395808Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:30:59.6396286Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:30:59.6396723Z ␛[0;32m}␛[0m
2026-05-05T08:30:59.6396889Z 
2026-05-05T08:30:59.6397210Z TASK [test_mysql_user : Privs | Grant ALL to user db_user2] ********************
2026-05-05T08:30:59.9708337Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:30:59.9709506Z 
2026-05-05T08:30:59.9709850Z TASK [test_mysql_user : Privs | Create database using user db_user2] ***********
2026-05-05T08:31:00.2753559Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["CREATE DATABASE `data`"]}␛[0m
2026-05-05T08:31:00.2754271Z 
2026-05-05T08:31:00.2754687Z TASK [test_mysql_user : Privs | Run command to test database was created using user new privileges] ***
2026-05-05T08:31:00.5418593Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE DATABASE data"], "delta": "0:00:00.020027", "end": "2026-05-05 08:31:00.507137", "msg": "", "rc": 0, "start": "2026-05-05 08:31:00.487110", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Database\tCreate Database\ndata\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */", "stdout_lines": ["Database\tCreate Database", "data\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */"]}␛[0m
2026-05-05T08:31:00.5421932Z 
2026-05-05T08:31:00.5422187Z TASK [test_mysql_user : Privs | Drop database using user db_user2] *************
2026-05-05T08:31:00.8380842Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["DROP DATABASE `data`"]}␛[0m
2026-05-05T08:31:00.8381615Z 
2026-05-05T08:31:00.8382198Z TASK [test_mysql_user : Privs | Update user with a long privileges list (mysql has a special multiline grant output)] ***
2026-05-05T08:31:01.1528284Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['GRANT', 'USAGE'], revoked ['INDEX', 'CREATE ROLE', 'GROUP_REPLICATION_STREAM', 'PASSWORDLESS_USER_ADMIN', 'TABLE_ENCRYPTION_ADMIN', 'TRANSACTION_GTID_TAG', 'BINLOG_ADMIN', 'INNODB_REDO_LOG_ENABLE', 'RESOURCE_GROUP_ADMIN', 'TELEMETRY_LOG_ADMIN', 'REPLICATION_APPLIER', 'DROP ROLE', 'PERSIST_RO_VARIABLES_ADMIN', 'CREATE TABLESPACE', 'APPLICATION_PASSWORD_ADMIN', 'AUDIT_ABORT_EXEMPT', 'REPLICATION_SLAVE_ADMIN', 'REFERENCES', 'ALTER', 'ROLE_ADMIN', 'TRIGGER', 'ENCRYPTION_KEY_ADMIN', 'FLUSH_USER_RESOURCES', 'SHOW_ROUTINE', 'SESSION_VARIABLES_ADMIN', 'FLUSH_PRIVILEGES', 'SET_ANY_DEFINER', 'XA_RECOVER_ADMIN', 'AUDIT_ADMIN', 'EXECUTE', 'ALTER ROUTINE', 'RESOURCE_GROUP_USER', 'CREATE TEMPORARY TABLES', 'CLONE_ADMIN', 'SERVICE_CONNECTION_ADMIN', 'SYSTEM_USER', 'BINLOG_ENCRYPTION_ADMIN', 'INNODB_REDO_LOG_ARCHIVE', 'BACKUP_ADMIN', 'OPTIMIZE_LOCAL_TABLE', 'CREATE ROUTINE', 'ALLOW_NONEXISTENT_DEFINER', 'CONNECTION_ADMIN', 'FIREWALL_EXEMPT', 'CREATE VIEW', 'FLUSH_TABLES', 'GROUP_REPLICATION_ADMIN', 'FLUSH_OPTIMIZER_COSTS', 'FLUSH_STATUS', 'SENSITIVE_VARIABLES_OBSERVER', 'AUTHENTICATION_POLICY_ADMIN', 'SYSTEM_VARIABLES_ADMIN']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:01.1534086Z 
2026-05-05T08:31:01.1534334Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:01.2311351Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:01.2311791Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:01.2312146Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:01.2312485Z ␛[0;32m}␛[0m
2026-05-05T08:31:01.2312601Z 
2026-05-05T08:31:01.2312918Z TASK [test_mysql_user : Privs | Test idempotency with a long privileges list (expect ok)] ***
2026-05-05T08:31:01.5859787Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:01.5860596Z 
2026-05-05T08:31:01.5860918Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:01.6631334Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:01.6631975Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:01.6632592Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:01.6633166Z ␛[0;32m}␛[0m
2026-05-05T08:31:01.6633393Z 
2026-05-05T08:31:01.6633805Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:01.7483391Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:01.7485433Z 
2026-05-05T08:31:01.7485763Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:02.0552057Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:02.0552637Z 
2026-05-05T08:31:02.0552864Z TASK [test_mysql_user : Privs | Grant all privileges with grant option] ********
2026-05-05T08:31:02.3713814Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:02.3714482Z 
2026-05-05T08:31:02.3714782Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:02.4476919Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:02.4477284Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:02.4477602Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:02.4477913Z ␛[0;32m}␛[0m
2026-05-05T08:31:02.4478023Z 
2026-05-05T08:31:02.4478246Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:02.7765813Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:02", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:02.7817797Z 
2026-05-05T08:31:02.7818038Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present] *****
2026-05-05T08:31:02.8554291Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:02.8554670Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:02.8555025Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:02.8555355Z ␛[0;32m}␛[0m
2026-05-05T08:31:02.8555472Z 
2026-05-05T08:31:02.8555717Z TASK [test_mysql_user : Privs | Test idempotency (expect ok)] ******************
2026-05-05T08:31:03.1651060Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:03.1651891Z 
2026-05-05T08:31:03.1652176Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:03.2408169Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:03.2408902Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:03.2409413Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:03.2409886Z ␛[0;32m}␛[0m
2026-05-05T08:31:03.2410052Z 
2026-05-05T08:31:03.2410395Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:03.5585049Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:02", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:03.5637061Z 
2026-05-05T08:31:03.5637312Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present (by host)] ***
2026-05-05T08:31:03.6392254Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:03.6392787Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:03.6393280Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:03.6393731Z ␛[0;32m}␛[0m
2026-05-05T08:31:03.6393889Z 
2026-05-05T08:31:03.6394217Z TASK [test_mysql_user : Privs | Update user with invalid privileges] ***********
2026-05-05T08:31:03.9558320Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: INVALID , params: ('db_user2', 'localhost'), query: GRANT INVALID ON *.* TO %s@%s , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:31:03.9560626Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:03.9560856Z 
2026-05-05T08:31:03.9561185Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:04.0329654Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:04.0330160Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:04.0330698Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:04.0331145Z ␛[0;32m}␛[0m
2026-05-05T08:31:04.0331316Z 
2026-05-05T08:31:04.0331631Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:04.1166586Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:04.1167918Z 
2026-05-05T08:31:04.1168220Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:04.4552197Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:04.4552902Z 
2026-05-05T08:31:04.4553154Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:04.6625068Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_privs.yml for testhost␛[0m
2026-05-05T08:31:04.6626503Z 
2026-05-05T08:31:04.6626832Z TASK [test_mysql_user : Privs | Create user with basic select privileges] ******
2026-05-05T08:31:04.7286397Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:04.7287058Z 
2026-05-05T08:31:04.7287286Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:04.7935752Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:04.7936652Z 
2026-05-05T08:31:04.7937054Z TASK [test_mysql_user : Privs | Create user with current privileges (expect changed=true)] ***
2026-05-05T08:31:05.1009182Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:05.1009952Z 
2026-05-05T08:31:05.1010277Z TASK [test_mysql_user : Privs | Assert output message for current privileges] ***
2026-05-05T08:31:05.1760794Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:05.1761195Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:05.1761538Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:05.1761848Z ␛[0;32m}␛[0m
2026-05-05T08:31:05.1761963Z 
2026-05-05T08:31:05.1762304Z TASK [test_mysql_user : Privs | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:05.4362990Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'%'"], "delta": "0:00:00.017134", "end": "2026-05-05 08:31:05.403753", "msg": "", "rc": 0, "start": "2026-05-05 08:31:05.386619", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@%\nGRANT DROP ON *.* TO `db_user2`@`%`", "stdout_lines": ["Grants for db_user2@%", "GRANT DROP ON *.* TO `db_user2`@`%`"]}␛[0m
2026-05-05T08:31:05.4365285Z 
2026-05-05T08:31:05.4365527Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:05.5035807Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"no\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:05.5036732Z 
2026-05-05T08:31:05.5037092Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:05.5685667Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:05.5686624Z 
2026-05-05T08:31:05.5687043Z TASK [test_mysql_user : Privs | Create database using user current privileges] ***
2026-05-05T08:31:05.8656756Z ␛[0;31mAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: pymysql.err.OperationalError: (1044, "Access denied for user 'db_user2'@'%' to database 'data'")␛[0m
2026-05-05T08:31:05.8658949Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "error creating database: (1044, \"Access denied for user 'db_user2'@'%' to database 'data'\")"}␛[0m
2026-05-05T08:31:05.8659989Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:05.8660172Z 
2026-05-05T08:31:05.8660494Z TASK [test_mysql_user : Privs | Run command to test that database was not created] ***
2026-05-05T08:31:06.1219484Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "show databases like 'data'"], "delta": "0:00:00.017260", "end": "2026-05-05 08:31:06.090708", "msg": "", "rc": 0, "start": "2026-05-05 08:31:06.073448", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:31:06.1222414Z 
2026-05-05T08:31:06.1222735Z TASK [test_mysql_user : Privs | Assert database was not created] ***************
2026-05-05T08:31:06.1913644Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:06.1920558Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:06.1920973Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:06.1921294Z ␛[0;32m}␛[0m
2026-05-05T08:31:06.1921416Z 
2026-05-05T08:31:06.1921666Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect changed)] ***
2026-05-05T08:31:06.5055210Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['USAGE'], revoked ['DROP']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:06.5056088Z 
2026-05-05T08:31:06.5056403Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:06.5823721Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:06.5824080Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:06.5824395Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:06.5824699Z ␛[0;32m}␛[0m
2026-05-05T08:31:06.5824805Z 
2026-05-05T08:31:06.5825028Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect ok)] *****
2026-05-05T08:31:06.9327045Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:06.9327860Z 
2026-05-05T08:31:06.9328176Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:07.0093986Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:07.0094423Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:07.0094852Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:07.0095248Z ␛[0;32m}␛[0m
2026-05-05T08:31:07.0095423Z 
2026-05-05T08:31:07.0095716Z TASK [test_mysql_user : Privs | Grant ALL to user db_user2] ********************
2026-05-05T08:31:07.3265679Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:07.3266624Z 
2026-05-05T08:31:07.3266953Z TASK [test_mysql_user : Privs | Create database using user db_user2] ***********
2026-05-05T08:31:07.6225603Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["CREATE DATABASE `data`"]}␛[0m
2026-05-05T08:31:07.6226378Z 
2026-05-05T08:31:07.6226818Z TASK [test_mysql_user : Privs | Run command to test database was created using user new privileges] ***
2026-05-05T08:31:07.8897237Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE DATABASE data"], "delta": "0:00:00.019473", "end": "2026-05-05 08:31:07.852217", "msg": "", "rc": 0, "start": "2026-05-05 08:31:07.832744", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Database\tCreate Database\ndata\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */", "stdout_lines": ["Database\tCreate Database", "data\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */"]}␛[0m
2026-05-05T08:31:07.8903889Z 
2026-05-05T08:31:07.8904292Z TASK [test_mysql_user : Privs | Drop database using user db_user2] *************
2026-05-05T08:31:08.1903807Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["DROP DATABASE `data`"]}␛[0m
2026-05-05T08:31:08.1904569Z 
2026-05-05T08:31:08.1905507Z TASK [test_mysql_user : Privs | Update user with a long privileges list (mysql has a special multiline grant output)] ***
2026-05-05T08:31:08.5102039Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['GRANT', 'USAGE'], revoked ['SENSITIVE_VARIABLES_OBSERVER', 'SESSION_VARIABLES_ADMIN', 'ENCRYPTION_KEY_ADMIN', 'ALTER', 'EXECUTE', 'AUDIT_ADMIN', 'PERSIST_RO_VARIABLES_ADMIN', 'RESOURCE_GROUP_USER', 'TABLE_ENCRYPTION_ADMIN', 'FLUSH_USER_RESOURCES', 'ALLOW_NONEXISTENT_DEFINER', 'AUTHENTICATION_POLICY_ADMIN', 'BINLOG_ENCRYPTION_ADMIN', 'TRANSACTION_GTID_TAG', 'TRIGGER', 'REPLICATION_APPLIER', 'DROP ROLE', 'CREATE VIEW', 'SYSTEM_USER', 'TELEMETRY_LOG_ADMIN', 'INDEX', 'SHOW_ROUTINE', 'SYSTEM_VARIABLES_ADMIN', 'ALTER ROUTINE', 'PASSWORDLESS_USER_ADMIN', 'INNODB_REDO_LOG_ARCHIVE', 'SERVICE_CONNECTION_ADMIN', 'CLONE_ADMIN', 'CREATE TABLESPACE', 'GROUP_REPLICATION_ADMIN', 'REFERENCES', 'CREATE TEMPORARY TABLES', 'FLUSH_TABLES', 'OPTIMIZE_LOCAL_TABLE', 'AUDIT_ABORT_EXEMPT', 'INNODB_REDO_LOG_ENABLE', 'RESOURCE_GROUP_ADMIN', 'FLUSH_STATUS', 'SET_ANY_DEFINER', 'BACKUP_ADMIN', 'ROLE_ADMIN', 'REPLICATION_SLAVE_ADMIN', 'XA_RECOVER_ADMIN', 'CREATE ROUTINE', 'BINLOG_ADMIN', 'CONNECTION_ADMIN', 'FLUSH_PRIVILEGES', 'CREATE ROLE', 'FLUSH_OPTIMIZER_COSTS', 'FIREWALL_EXEMPT', 'APPLICATION_PASSWORD_ADMIN', 'GROUP_REPLICATION_STREAM']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:08.5109044Z 
2026-05-05T08:31:08.5109447Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:08.5939190Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:08.5939705Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:08.5940179Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:08.5940616Z ␛[0;32m}␛[0m
2026-05-05T08:31:08.5940781Z 
2026-05-05T08:31:08.5941191Z TASK [test_mysql_user : Privs | Test idempotency with a long privileges list (expect ok)] ***
2026-05-05T08:31:08.9471057Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:08.9471741Z 
2026-05-05T08:31:08.9472013Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:09.0422353Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:09.0422846Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:09.0423327Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:09.0423790Z ␛[0;32m}␛[0m
2026-05-05T08:31:09.0423953Z 
2026-05-05T08:31:09.0424258Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:09.1247506Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:09.1248947Z 
2026-05-05T08:31:09.1249255Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:09.4379559Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:09.4380539Z 
2026-05-05T08:31:09.4381082Z TASK [test_mysql_user : Privs | Grant all privileges with grant option] ********
2026-05-05T08:31:09.7497003Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:09.7498333Z 
2026-05-05T08:31:09.7499066Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:09.8280081Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:09.8280579Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:09.8281063Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:09.8281500Z ␛[0;32m}␛[0m
2026-05-05T08:31:09.8281675Z 
2026-05-05T08:31:09.8281995Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:10.1655977Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:09", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:10.1731636Z 
2026-05-05T08:31:10.1731873Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present] *****
2026-05-05T08:31:10.2452148Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:10.2452531Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:10.2452881Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:10.2453182Z ␛[0;32m}␛[0m
2026-05-05T08:31:10.2453296Z 
2026-05-05T08:31:10.2453507Z TASK [test_mysql_user : Privs | Test idempotency (expect ok)] ******************
2026-05-05T08:31:10.5678892Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:10.5679802Z 
2026-05-05T08:31:10.5680109Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:10.6457839Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:10.6458299Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:10.6458868Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:10.6459231Z ␛[0;32m}␛[0m
2026-05-05T08:31:10.6459359Z 
2026-05-05T08:31:10.6459610Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:10.9661354Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:09", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:10.9712733Z 
2026-05-05T08:31:10.9712995Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present (by host)] ***
2026-05-05T08:31:11.0459173Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:11.0459753Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:11.0460249Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:11.0460714Z ␛[0;32m}␛[0m
2026-05-05T08:31:11.0460879Z 
2026-05-05T08:31:11.0461242Z TASK [test_mysql_user : Privs | Update user with invalid privileges] ***********
2026-05-05T08:31:11.3629137Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: INVALID , params: ('db_user2', 'localhost'), query: GRANT INVALID ON *.* TO %s@%s , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:31:11.3631220Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:11.3631420Z 
2026-05-05T08:31:11.3631712Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:11.4410470Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:11.4410879Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:11.4411282Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:11.4411635Z ␛[0;32m}␛[0m
2026-05-05T08:31:11.4411771Z 
2026-05-05T08:31:11.4412014Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:11.5244211Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:11.5245627Z 
2026-05-05T08:31:11.5245953Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:11.8636254Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:11.8636946Z 
2026-05-05T08:31:11.8637195Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:12.0829436Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_privs.yml for testhost␛[0m
2026-05-05T08:31:12.0830746Z 
2026-05-05T08:31:12.0831095Z TASK [test_mysql_user : Privs | Create user with basic select privileges] ******
2026-05-05T08:31:12.1504029Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:12.1505435Z 
2026-05-05T08:31:12.1505849Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:12.2175019Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:12.2176354Z 
2026-05-05T08:31:12.2176935Z TASK [test_mysql_user : Privs | Create user with current privileges (expect changed=true)] ***
2026-05-05T08:31:12.5399154Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:12.5399992Z 
2026-05-05T08:31:12.5400352Z TASK [test_mysql_user : Privs | Assert output message for current privileges] ***
2026-05-05T08:31:12.7417767Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:12.7418229Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:12.7418881Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:12.7419319Z ␛[0;32m}␛[0m
2026-05-05T08:31:12.7419470Z 
2026-05-05T08:31:12.7419923Z TASK [test_mysql_user : Privs | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:13.0005304Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'%'"], "delta": "0:00:00.017251", "end": "2026-05-05 08:31:12.968111", "msg": "", "rc": 0, "start": "2026-05-05 08:31:12.950860", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@%\nGRANT UPDATE, ALTER ON *.* TO `db_user2`@`%`", "stdout_lines": ["Grants for db_user2@%", "GRANT UPDATE, ALTER ON *.* TO `db_user2`@`%`"]}␛[0m
2026-05-05T08:31:13.0007997Z 
2026-05-05T08:31:13.0008268Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:13.0659188Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"no\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:13.0660041Z 
2026-05-05T08:31:13.0660352Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:13.1307061Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:13.1307768Z 
2026-05-05T08:31:13.1308044Z TASK [test_mysql_user : Privs | Create database using user current privileges] ***
2026-05-05T08:31:13.4172535Z ␛[0;31mAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: pymysql.err.OperationalError: (1044, "Access denied for user 'db_user2'@'%' to database 'data'")␛[0m
2026-05-05T08:31:13.4174303Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "error creating database: (1044, \"Access denied for user 'db_user2'@'%' to database 'data'\")"}␛[0m
2026-05-05T08:31:13.4175216Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:13.4175390Z 
2026-05-05T08:31:13.4175677Z TASK [test_mysql_user : Privs | Run command to test that database was not created] ***
2026-05-05T08:31:13.6860448Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "show databases like 'data'"], "delta": "0:00:00.017615", "end": "2026-05-05 08:31:13.645790", "msg": "", "rc": 0, "start": "2026-05-05 08:31:13.628175", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:31:13.6862929Z 
2026-05-05T08:31:13.6863252Z TASK [test_mysql_user : Privs | Assert database was not created] ***************
2026-05-05T08:31:13.7575810Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:13.7576221Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:13.7576620Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:13.7576978Z ␛[0;32m}␛[0m
2026-05-05T08:31:13.7577105Z 
2026-05-05T08:31:13.7577398Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect changed)] ***
2026-05-05T08:31:14.0825731Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['USAGE'], revoked ['UPDATE', 'ALTER']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:14.0826644Z 
2026-05-05T08:31:14.0826919Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:14.1587082Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:14.1587519Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:14.1587887Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:14.1588210Z ␛[0;32m}␛[0m
2026-05-05T08:31:14.1588337Z 
2026-05-05T08:31:14.1588797Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect ok)] *****
2026-05-05T08:31:14.5181346Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:14.5182218Z 
2026-05-05T08:31:14.5182570Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:14.5965937Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:14.5966437Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:14.5966921Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:14.5967351Z ␛[0;32m}␛[0m
2026-05-05T08:31:14.5967500Z 
2026-05-05T08:31:14.5967806Z TASK [test_mysql_user : Privs | Grant ALL to user db_user2] ********************
2026-05-05T08:31:14.9253106Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:14.9254436Z 
2026-05-05T08:31:14.9254838Z TASK [test_mysql_user : Privs | Create database using user db_user2] ***********
2026-05-05T08:31:15.2340067Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["CREATE DATABASE `data`"]}␛[0m
2026-05-05T08:31:15.2340795Z 
2026-05-05T08:31:15.2341224Z TASK [test_mysql_user : Privs | Run command to test database was created using user new privileges] ***
2026-05-05T08:31:15.4986801Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE DATABASE data"], "delta": "0:00:00.018999", "end": "2026-05-05 08:31:15.463151", "msg": "", "rc": 0, "start": "2026-05-05 08:31:15.444152", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Database\tCreate Database\ndata\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */", "stdout_lines": ["Database\tCreate Database", "data\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */"]}␛[0m
2026-05-05T08:31:15.4991073Z 
2026-05-05T08:31:15.4991389Z TASK [test_mysql_user : Privs | Drop database using user db_user2] *************
2026-05-05T08:31:15.7952448Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["DROP DATABASE `data`"]}␛[0m
2026-05-05T08:31:15.7952959Z 
2026-05-05T08:31:15.7953316Z TASK [test_mysql_user : Privs | Update user with a long privileges list (mysql has a special multiline grant output)] ***
2026-05-05T08:31:16.1215282Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['GRANT', 'USAGE'], revoked ['TRIGGER', 'SENSITIVE_VARIABLES_OBSERVER', 'GROUP_REPLICATION_ADMIN', 'XA_RECOVER_ADMIN', 'SYSTEM_VARIABLES_ADMIN', 'DROP ROLE', 'PERSIST_RO_VARIABLES_ADMIN', 'ENCRYPTION_KEY_ADMIN', 'SHOW_ROUTINE', 'CREATE ROLE', 'BINLOG_ENCRYPTION_ADMIN', 'FLUSH_STATUS', 'AUTHENTICATION_POLICY_ADMIN', 'INNODB_REDO_LOG_ENABLE', 'FIREWALL_EXEMPT', 'INNODB_REDO_LOG_ARCHIVE', 'SYSTEM_USER', 'OPTIMIZE_LOCAL_TABLE', 'PASSWORDLESS_USER_ADMIN', 'CREATE TABLESPACE', 'CLONE_ADMIN', 'AUDIT_ADMIN', 'TELEMETRY_LOG_ADMIN', 'REFERENCES', 'TRANSACTION_GTID_TAG', 'INDEX', 'REPLICATION_APPLIER', 'CREATE TEMPORARY TABLES', 'BACKUP_ADMIN', 'FLUSH_PRIVILEGES', 'RESOURCE_GROUP_USER', 'REPLICATION_SLAVE_ADMIN', 'SET_ANY_DEFINER', 'FLUSH_USER_RESOURCES', 'RESOURCE_GROUP_ADMIN', 'ALTER', 'CREATE ROUTINE', 'ROLE_ADMIN', 'ALLOW_NONEXISTENT_DEFINER', 'FLUSH_OPTIMIZER_COSTS', 'SESSION_VARIABLES_ADMIN', 'FLUSH_TABLES', 'BINLOG_ADMIN', 'TABLE_ENCRYPTION_ADMIN', 'CREATE VIEW', 'EXECUTE', 'ALTER ROUTINE', 'APPLICATION_PASSWORD_ADMIN', 'AUDIT_ABORT_EXEMPT', 'GROUP_REPLICATION_STREAM', 'CONNECTION_ADMIN', 'SERVICE_CONNECTION_ADMIN']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:16.1220697Z 
2026-05-05T08:31:16.1220952Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:16.2007031Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:16.2007491Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:16.2007909Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:16.2008297Z ␛[0;32m}␛[0m
2026-05-05T08:31:16.2008688Z 
2026-05-05T08:31:16.2009077Z TASK [test_mysql_user : Privs | Test idempotency with a long privileges list (expect ok)] ***
2026-05-05T08:31:16.5528174Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:16.5529092Z 
2026-05-05T08:31:16.5529385Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:16.6288226Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:16.6288931Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:16.6289317Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:16.6289966Z ␛[0;32m}␛[0m
2026-05-05T08:31:16.6290082Z 
2026-05-05T08:31:16.7116481Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:16.7118790Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:16.7119976Z 
2026-05-05T08:31:17.0114585Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:17.0116046Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:17.0116799Z 
2026-05-05T08:31:17.0117177Z TASK [test_mysql_user : Privs | Grant all privileges with grant option] ********
2026-05-05T08:31:17.3210824Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:17.3211439Z 
2026-05-05T08:31:17.3211689Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:17.3992925Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:17.3993356Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:17.3993734Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:17.3994096Z ␛[0;32m}␛[0m
2026-05-05T08:31:17.3994230Z 
2026-05-05T08:31:17.3994485Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:17.7254427Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:17", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:17.7305363Z 
2026-05-05T08:31:17.7305967Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present] *****
2026-05-05T08:31:17.8069123Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:17.8069601Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:17.8070070Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:17.8070512Z ␛[0;32m}␛[0m
2026-05-05T08:31:17.8070668Z 
2026-05-05T08:31:17.8071012Z TASK [test_mysql_user : Privs | Test idempotency (expect ok)] ******************
2026-05-05T08:31:18.1239277Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:18.1240317Z 
2026-05-05T08:31:18.1240653Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:18.2006102Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:18.2006445Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:18.2006761Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:18.2007041Z ␛[0;32m}␛[0m
2026-05-05T08:31:18.2007156Z 
2026-05-05T08:31:18.2007357Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:18.5257494Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:17", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:18.5332828Z 
2026-05-05T08:31:18.5333091Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present (by host)] ***
2026-05-05T08:31:18.6021867Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:18.6022401Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:18.6022903Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:18.6023357Z ␛[0;32m}␛[0m
2026-05-05T08:31:18.6023519Z 
2026-05-05T08:31:18.6023881Z TASK [test_mysql_user : Privs | Update user with invalid privileges] ***********
2026-05-05T08:31:18.9160816Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: INVALID , params: ('db_user2', 'localhost'), query: GRANT INVALID ON *.* TO %s@%s , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:31:18.9162568Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:18.9162732Z 
2026-05-05T08:31:18.9162991Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:18.9974906Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:18.9975437Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:18.9975909Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:18.9976351Z ␛[0;32m}␛[0m
2026-05-05T08:31:18.9976505Z 
2026-05-05T08:31:18.9976800Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:19.0918284Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:19.0919498Z 
2026-05-05T08:31:19.0919761Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:19.4279262Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:19.4279864Z 
2026-05-05T08:31:19.4280092Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:19.6534434Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_privs.yml for testhost␛[0m
2026-05-05T08:31:19.6535589Z 
2026-05-05T08:31:19.6535901Z TASK [test_mysql_user : Privs | Create user with basic select privileges] ******
2026-05-05T08:31:19.7197587Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:19.7198727Z 
2026-05-05T08:31:19.7199036Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:19.7849874Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:19.7850526Z 
2026-05-05T08:31:19.7850832Z TASK [test_mysql_user : Privs | Create user with current privileges (expect changed=true)] ***
2026-05-05T08:31:20.0955284Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:20.0955878Z 
2026-05-05T08:31:20.0956141Z TASK [test_mysql_user : Privs | Assert output message for current privileges] ***
2026-05-05T08:31:20.1698494Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:20.1698862Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:20.1699177Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:20.1699467Z ␛[0;32m}␛[0m
2026-05-05T08:31:20.1699569Z 
2026-05-05T08:31:20.1699884Z TASK [test_mysql_user : Privs | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:20.4271186Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user2'@'%'"], "delta": "0:00:00.016741", "end": "2026-05-05 08:31:20.392407", "msg": "", "rc": 0, "start": "2026-05-05 08:31:20.375666", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user2@%\nGRANT INSERT, DELETE ON *.* TO `db_user2`@`%`", "stdout_lines": ["Grants for db_user2@%", "GRANT INSERT, DELETE ON *.* TO `db_user2`@`%`"]}␛[0m
2026-05-05T08:31:20.4274282Z 
2026-05-05T08:31:20.4274595Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:20.4921365Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"no\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:20.4922313Z 
2026-05-05T08:31:20.4922651Z TASK [test_mysql_user : Privs | Assert user has correct privileges] ************
2026-05-05T08:31:20.5596713Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "current_append_privs ==  \"yes\"", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:20.5597641Z 
2026-05-05T08:31:20.5597969Z TASK [test_mysql_user : Privs | Create database using user current privileges] ***
2026-05-05T08:31:20.8495725Z ␛[0;31mAn exception occurred during task execution. To see the full traceback, use -vvv. The error was: pymysql.err.OperationalError: (1044, "Access denied for user 'db_user2'@'%' to database 'data'")␛[0m
2026-05-05T08:31:20.8497711Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "error creating database: (1044, \"Access denied for user 'db_user2'@'%' to database 'data'\")"}␛[0m
2026-05-05T08:31:20.8498867Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:20.8499060Z 
2026-05-05T08:31:20.8499396Z TASK [test_mysql_user : Privs | Run command to test that database was not created] ***
2026-05-05T08:31:21.1101419Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "show databases like 'data'"], "delta": "0:00:00.018192", "end": "2026-05-05 08:31:21.075545", "msg": "", "rc": 0, "start": "2026-05-05 08:31:21.057353", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:31:21.1103727Z 
2026-05-05T08:31:21.1103998Z TASK [test_mysql_user : Privs | Assert database was not created] ***************
2026-05-05T08:31:21.1807127Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:21.1807496Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:21.1807851Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:21.1808182Z ␛[0;32m}␛[0m
2026-05-05T08:31:21.1808309Z 
2026-05-05T08:31:21.1808835Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect changed)] ***
2026-05-05T08:31:21.5025536Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['USAGE'], revoked ['INSERT', 'DELETE']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:21.5026660Z 
2026-05-05T08:31:21.5026949Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:21.5790527Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:21.5791039Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:21.5791389Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:21.5791717Z ␛[0;32m}␛[0m
2026-05-05T08:31:21.5791831Z 
2026-05-05T08:31:21.5792086Z TASK [test_mysql_user : Privs | Add privs to a specific table (expect ok)] *****
2026-05-05T08:31:21.9232164Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:21.9232807Z 
2026-05-05T08:31:21.9233065Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:21.9994141Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:21.9994529Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:21.9994935Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:21.9995266Z ␛[0;32m}␛[0m
2026-05-05T08:31:21.9995384Z 
2026-05-05T08:31:21.9995632Z TASK [test_mysql_user : Privs | Grant ALL to user db_user2] ********************
2026-05-05T08:31:22.3145391Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:22.3146453Z 
2026-05-05T08:31:22.3146808Z TASK [test_mysql_user : Privs | Create database using user db_user2] ***********
2026-05-05T08:31:22.6057600Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["CREATE DATABASE `data`"]}␛[0m
2026-05-05T08:31:22.6058341Z 
2026-05-05T08:31:22.6058980Z TASK [test_mysql_user : Privs | Run command to test database was created using user new privileges] ***
2026-05-05T08:31:22.8682498Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW CREATE DATABASE data"], "delta": "0:00:00.020313", "end": "2026-05-05 08:31:22.835168", "msg": "", "rc": 0, "start": "2026-05-05 08:31:22.814855", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Database\tCreate Database\ndata\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */", "stdout_lines": ["Database\tCreate Database", "data\tCREATE DATABASE `data` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */"]}␛[0m
2026-05-05T08:31:22.8686482Z 
2026-05-05T08:31:22.8686907Z TASK [test_mysql_user : Privs | Drop database using user db_user2] *************
2026-05-05T08:31:23.1569783Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "data", "db_list": ["data"], "executed_commands": ["DROP DATABASE `data`"]}␛[0m
2026-05-05T08:31:23.1570718Z 
2026-05-05T08:31:23.1571328Z TASK [test_mysql_user : Privs | Update user with a long privileges list (mysql has a special multiline grant output)] ***
2026-05-05T08:31:23.4699731Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['GRANT', 'USAGE'], revoked ['ENCRYPTION_KEY_ADMIN', 'CREATE VIEW', 'SYSTEM_VARIABLES_ADMIN', 'SHOW_ROUTINE', 'GROUP_REPLICATION_STREAM', 'ROLE_ADMIN', 'REPLICATION_APPLIER', 'BINLOG_ENCRYPTION_ADMIN', 'FLUSH_OPTIMIZER_COSTS', 'FLUSH_TABLES', 'CLONE_ADMIN', 'INNODB_REDO_LOG_ENABLE', 'BACKUP_ADMIN', 'AUDIT_ABORT_EXEMPT', 'FLUSH_PRIVILEGES', 'TRIGGER', 'OPTIMIZE_LOCAL_TABLE', 'XA_RECOVER_ADMIN', 'ALTER', 'SET_ANY_DEFINER', 'AUTHENTICATION_POLICY_ADMIN', 'CONNECTION_ADMIN', 'SYSTEM_USER', 'FLUSH_USER_RESOURCES', 'FIREWALL_EXEMPT', 'SESSION_VARIABLES_ADMIN', 'INDEX', 'FLUSH_STATUS', 'CREATE TABLESPACE', 'TABLE_ENCRYPTION_ADMIN', 'AUDIT_ADMIN', 'RESOURCE_GROUP_USER', 'REPLICATION_SLAVE_ADMIN', 'PASSWORDLESS_USER_ADMIN', 'TRANSACTION_GTID_TAG', 'SERVICE_CONNECTION_ADMIN', 'TELEMETRY_LOG_ADMIN', 'REFERENCES', 'ALTER ROUTINE', 'BINLOG_ADMIN', 'INNODB_REDO_LOG_ARCHIVE', 'RESOURCE_GROUP_ADMIN', 'GROUP_REPLICATION_ADMIN', 'CREATE ROUTINE', 'DROP ROLE', 'EXECUTE', 'CREATE ROLE', 'PERSIST_RO_VARIABLES_ADMIN', 'APPLICATION_PASSWORD_ADMIN', 'CREATE TEMPORARY TABLES', 'ALLOW_NONEXISTENT_DEFINER', 'SENSITIVE_VARIABLES_OBSERVER']", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:23.4705936Z 
2026-05-05T08:31:23.4706160Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:23.5474605Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:23.5475181Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:23.5475734Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:23.5476233Z ␛[0;32m}␛[0m
2026-05-05T08:31:23.5476406Z 
2026-05-05T08:31:23.5476857Z TASK [test_mysql_user : Privs | Test idempotency with a long privileges list (expect ok)] ***
2026-05-05T08:31:23.9007047Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:23.9007901Z 
2026-05-05T08:31:23.9008253Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:23.9757845Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:23.9758351Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:23.9759071Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:23.9759536Z ␛[0;32m}␛[0m
2026-05-05T08:31:23.9759700Z 
2026-05-05T08:31:23.9760002Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:24.0572728Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:24.0574103Z 
2026-05-05T08:31:24.0574479Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:24.3604016Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:24.3604704Z 
2026-05-05T08:31:24.3604994Z TASK [test_mysql_user : Privs | Grant all privileges with grant option] ********
2026-05-05T08:31:24.6657775Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:24.6658870Z 
2026-05-05T08:31:24.6659174Z TASK [test_mysql_user : Privs | Assert that priv changed] **********************
2026-05-05T08:31:24.7423817Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:24.7424329Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:24.7424819Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:24.7425291Z ␛[0;32m}␛[0m
2026-05-05T08:31:24.7425458Z 
2026-05-05T08:31:24.7425796Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:25.0649956Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:24", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:25.0725319Z 
2026-05-05T08:31:25.0725551Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present] *****
2026-05-05T08:31:25.1409205Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:25.1409693Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:25.1410184Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:25.1410630Z ␛[0;32m}␛[0m
2026-05-05T08:31:25.1410790Z 
2026-05-05T08:31:25.1411120Z TASK [test_mysql_user : Privs | Test idempotency (expect ok)] ******************
2026-05-05T08:31:25.4473662Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:25.4474697Z 
2026-05-05T08:31:25.4475051Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:25.5259616Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:25.5260302Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:25.5260685Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:25.5260980Z ␛[0;32m}␛[0m
2026-05-05T08:31:25.5261088Z 
2026-05-05T08:31:25.5261302Z TASK [test_mysql_user : Privs | Collect user info by host] *********************
2026-05-05T08:31:25.8702133Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users": {"%": {"role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$G-a)A!4(j\u000b1^\u001f|' uzyjrIeU3Zt6ZbykXZUN7Pv0tOYW.Aryz6YrcpWMHhi5A94", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"db_user2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*18904B90CDCDC9ED1989C0AF2724C1F31C33508F", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:24", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}}␛[0m
2026-05-05T08:31:25.8754954Z 
2026-05-05T08:31:25.8755221Z TASK [test_mysql_user : Privs | Assert that 'GRANT' permission is present (by host)] ***
2026-05-05T08:31:25.9504665Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:25.9505185Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:25.9505693Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:25.9506151Z ␛[0;32m}␛[0m
2026-05-05T08:31:25.9506316Z 
2026-05-05T08:31:25.9506669Z TASK [test_mysql_user : Privs | Update user with invalid privileges] ***********
2026-05-05T08:31:26.2667063Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: INVALID , params: ('db_user2', 'localhost'), query: GRANT INVALID ON *.* TO %s@%s , exception: (1149, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use')."}␛[0m
2026-05-05T08:31:26.2668950Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:26.2669146Z 
2026-05-05T08:31:26.2669523Z TASK [test_mysql_user : Privs | Assert that priv did not change] ***************
2026-05-05T08:31:26.3437721Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:26.3438855Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:26.3439486Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:26.3439943Z ␛[0;32m}␛[0m
2026-05-05T08:31:26.3440113Z 
2026-05-05T08:31:26.3440407Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:26.4260094Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:26.4261641Z 
2026-05-05T08:31:26.4261978Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:26.7628170Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:26.7629140Z 
2026-05-05T08:31:26.7629434Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:26.9901252Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_priv_dict.yml for testhost␛[0m
2026-05-05T08:31:26.9902493Z 
2026-05-05T08:31:26.9902803Z TASK [test_mysql_user : Priv dict | Create test databases] *********************
2026-05-05T08:31:27.7397092Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:27.7399307Z ␛[0;33mchanged: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": true, "db": "data2", "db_list": ["data2"], "executed_commands": ["CREATE DATABASE `data2`"], "item": "data2"}␛[0m
2026-05-05T08:31:27.7401338Z ␛[0;33mchanged: [testhost] => (item=data3) => {"ansible_loop_var": "item", "changed": true, "db": "data3", "db_list": ["data3"], "executed_commands": ["CREATE DATABASE `data3`"], "item": "data3"}␛[0m
2026-05-05T08:31:27.7402321Z 
2026-05-05T08:31:27.7402635Z TASK [test_mysql_user : Priv dict | Create user with privileges] ***************
2026-05-05T08:31:28.0638950Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user3"}␛[0m
2026-05-05T08:31:28.0639706Z 
2026-05-05T08:31:28.0640300Z TASK [test_mysql_user : Priv dict | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:28.3254593Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user3'@'localhost'"], "delta": "0:00:00.017099", "end": "2026-05-05 08:31:28.290695", "msg": "", "rc": 0, "start": "2026-05-05 08:31:28.273596", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user3@localhost\nGRANT USAGE ON *.* TO `db_user3`@`localhost`\nGRANT SELECT ON `data1`.* TO `db_user3`@`localhost`\nGRANT SELECT ON `data2`.* TO `db_user3`@`localhost`", "stdout_lines": ["Grants for db_user3@localhost", "GRANT USAGE ON *.* TO `db_user3`@`localhost`", "GRANT SELECT ON `data1`.* TO `db_user3`@`localhost`", "GRANT SELECT ON `data2`.* TO `db_user3`@`localhost`"]}␛[0m
2026-05-05T08:31:28.3258099Z 
2026-05-05T08:31:28.3258597Z TASK [test_mysql_user : Assert user has giving privileges] *********************
2026-05-05T08:31:28.3969198Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:28.3969697Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:28.3970174Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:28.3970611Z ␛[0;32m}␛[0m
2026-05-05T08:31:28.3970757Z 
2026-05-05T08:31:28.3971073Z TASK [test_mysql_user : Priv dict | Create test table test_table_issue99] ******
2026-05-05T08:31:28.6910409Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE TABLE IF NOT EXISTS data3.test_table_issue99 (a INT, b INT, c INT)"], "execution_time_ms": [6.7612], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:31:28.6911198Z 
2026-05-05T08:31:28.6911424Z TASK [test_mysql_user : Priv dict | Grant select on a column] ******************
2026-05-05T08:31:29.0074058Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "New privileges granted", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:29.0075357Z 
2026-05-05T08:31:29.0075897Z TASK [test_mysql_user : Priv dict | Assert that select on a column is changed] ***
2026-05-05T08:31:29.0897854Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:29.0898860Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:29.0899561Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:29.0900025Z ␛[0;32m}␛[0m
2026-05-05T08:31:29.0900172Z 
2026-05-05T08:31:29.0900607Z TASK [test_mysql_user : Priv dict | Grant select on the column again] **********
2026-05-05T08:31:29.4475024Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:29.4476141Z 
2026-05-05T08:31:29.4476481Z TASK [test_mysql_user : Priv dict | Assert that select on the column is not changed] ***
2026-05-05T08:31:29.5227285Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:29.5227656Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:29.5227993Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:29.5228344Z ␛[0;32m}␛[0m
2026-05-05T08:31:29.5228609Z 
2026-05-05T08:31:29.5228828Z TASK [test_mysql_user : Priv dict | Grant select on columns] *******************
2026-05-05T08:31:29.8453024Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['SELECT (a, b)', 'INSERT'], revoked ['SELECT (a)']", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:29.8454139Z 
2026-05-05T08:31:29.8454464Z TASK [test_mysql_user : Priv dict | Assert select on columns is changed] *******
2026-05-05T08:31:29.9218665Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:29.9219206Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:29.9219676Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:29.9220134Z ␛[0;32m}␛[0m
2026-05-05T08:31:29.9220293Z 
2026-05-05T08:31:29.9220629Z TASK [test_mysql_user : Priv dict | Grant select on columns again] *************
2026-05-05T08:31:30.2876262Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:30.2876914Z 
2026-05-05T08:31:30.2877206Z TASK [test_mysql_user : Priv dict | Assert that select on columns again is not changed] ***
2026-05-05T08:31:30.3674454Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:30.3674926Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:30.3675400Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:30.3675825Z ␛[0;32m}␛[0m
2026-05-05T08:31:30.3675971Z 
2026-05-05T08:31:30.3676266Z TASK [test_mysql_user : Priv dict | Grant privs on columns] ********************
2026-05-05T08:31:30.6877429Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['INSERT (A, B)', 'SELECT (A, B)', 'UPDATE'], revoked ['SELECT (a, b)', 'INSERT']", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:30.6878941Z 
2026-05-05T08:31:30.6879314Z TASK [test_mysql_user : Priv dict | Assert that grant privs on columns is changed] ***
2026-05-05T08:31:30.7643217Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:30.7643719Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:30.7644183Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:30.7644620Z ␛[0;32m}␛[0m
2026-05-05T08:31:30.7644774Z 
2026-05-05T08:31:30.7645291Z TASK [test_mysql_user : Priv dict | Grant same privs on columns again, note that the column order is different] ***
2026-05-05T08:31:31.1197436Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:31.1198233Z 
2026-05-05T08:31:31.1198868Z TASK [test_mysql_user : Priv dict | Assert that grants same privs with different order is not changed] ***
2026-05-05T08:31:31.1973770Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:31.1974128Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:31.1974445Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:31.1974743Z ␛[0;32m}␛[0m
2026-05-05T08:31:31.1975178Z 
2026-05-05T08:31:31.1975683Z TASK [test_mysql_user : Priv dict | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:31.4644480Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user3'@'localhost'"], "delta": "0:00:00.018787", "end": "2026-05-05 08:31:31.428087", "msg": "", "rc": 0, "start": "2026-05-05 08:31:31.409300", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user3@localhost\nGRANT USAGE ON *.* TO `db_user3`@`localhost`\nGRANT SELECT (`A`, `B`), INSERT (`A`, `B`), UPDATE ON `data3`.`test_table_issue99` TO `db_user3`@`localhost`", "stdout_lines": ["Grants for db_user3@localhost", "GRANT USAGE ON *.* TO `db_user3`@`localhost`", "GRANT SELECT (`A`, `B`), INSERT (`A`, `B`), UPDATE ON `data3`.`test_table_issue99` TO `db_user3`@`localhost`"]}␛[0m
2026-05-05T08:31:31.4647937Z 
2026-05-05T08:31:31.4648209Z TASK [test_mysql_user : Priv dict | Assert user has giving privileges] *********
2026-05-05T08:31:31.5372576Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:31.5372957Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:31.5373296Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:31.5373610Z ␛[0;32m}␛[0m
2026-05-05T08:31:31.5373724Z 
2026-05-05T08:31:31.5373966Z TASK [test_mysql_user : Priv dict | Assert user has giving privileges] *********
2026-05-05T08:31:31.6046779Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "'(`A`, `B`)' not in result.stdout", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:31.6047543Z 
2026-05-05T08:31:31.6047801Z TASK [test_mysql_user : Priv dict | Drop test databases] ***********************
2026-05-05T08:31:32.3560635Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:32.3562176Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:31:32.3563638Z ␛[0;32mok: [testhost] => (item=data3) => {"ansible_loop_var": "item", "changed": false, "db": "data3", "db_list": ["data3"], "executed_commands": [], "item": "data3"}␛[0m
2026-05-05T08:31:32.3564362Z 
2026-05-05T08:31:32.3564616Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:32.4363476Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:32.4364712Z 
2026-05-05T08:31:32.4364999Z TASK [test_mysql_user : Utils | Remove user db_user3] **************************
2026-05-05T08:31:32.7426299Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:31:32.7427058Z 
2026-05-05T08:31:32.7427313Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:32.9761980Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_priv_append.yml for testhost␛[0m
2026-05-05T08:31:32.9763159Z 
2026-05-05T08:31:32.9763464Z TASK [test_mysql_user : Priv append | Create test databases] *******************
2026-05-05T08:31:33.5216346Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:33.5218826Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:31:33.5219932Z 
2026-05-05T08:31:33.5220328Z TASK [test_mysql_user : Priv append | Create a user with an initial set of privileges] ***
2026-05-05T08:31:33.8404428Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user4"}␛[0m
2026-05-05T08:31:33.8405220Z 
2026-05-05T08:31:33.8405756Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:34.1082169Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017904", "end": "2026-05-05 08:31:34.070199", "msg": "", "rc": 0, "start": "2026-05-05 08:31:34.052295", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:34.1086269Z 
2026-05-05T08:31:34.1086781Z TASK [test_mysql_user : Priv append | Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:31:34.1802944Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:34.1803456Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:34.1803848Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:34.1804174Z ␛[0;32m}␛[0m
2026-05-05T08:31:34.1804284Z 
2026-05-05T08:31:34.1804719Z TASK [test_mysql_user : Priv append | Append privileges that are a subset of the current privileges, which should be a no-op] ***
2026-05-05T08:31:34.4952392Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:34.4953230Z 
2026-05-05T08:31:34.4953645Z TASK [test_mysql_user : Priv append | Assert that there wasn't a change in permissions] ***
2026-05-05T08:31:34.5713830Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:34.5714240Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:34.5714598Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:34.5714930Z ␛[0;32m}␛[0m
2026-05-05T08:31:34.5715049Z 
2026-05-05T08:31:34.5715444Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:34.8287222Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017187", "end": "2026-05-05 08:31:34.796869", "msg": "", "rc": 0, "start": "2026-05-05 08:31:34.779682", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:34.8292136Z 
2026-05-05T08:31:34.8292637Z TASK [test_mysql_user : Priv append | Assert that the permissions still match what was originally granted] ***
2026-05-05T08:31:34.9009300Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:34.9009797Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:34.9010255Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:34.9010689Z ␛[0;32m}␛[0m
2026-05-05T08:31:34.9011232Z 
2026-05-05T08:31:34.9012180Z TASK [test_mysql_user : Priv append | Append privileges that are not included in the current set of privileges to test that privileges are updated] ***
2026-05-05T08:31:35.2217650Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['DELETE'], revoked []", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:35.2218808Z 
2026-05-05T08:31:35.2219254Z TASK [test_mysql_user : Priv append | Assert that there was a change because permissions were added to data1.*] ***
2026-05-05T08:31:35.3003329Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:35.3003755Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:35.3004143Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:35.3004499Z ␛[0;32m}␛[0m
2026-05-05T08:31:35.3004627Z 
2026-05-05T08:31:35.3005057Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:35.5632829Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017988", "end": "2026-05-05 08:31:35.530447", "msg": "", "rc": 0, "start": "2026-05-05 08:31:35.512459", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT, DELETE ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT, DELETE ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:35.5636437Z 
2026-05-05T08:31:35.5636926Z TASK [test_mysql_user : Priv append | Assert that the permissions were changed as expected if check_mode is set to 'no'] ***
2026-05-05T08:31:35.6308205Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:35.6309193Z 
2026-05-05T08:31:35.6309749Z TASK [test_mysql_user : Priv append | Assert that the permissions were not actually changed if check_mode is set to 'yes'] ***
2026-05-05T08:31:35.7964204Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:35.7965155Z 
2026-05-05T08:31:35.7965503Z TASK [test_mysql_user : Priv append | Try to append invalid privileges] ********
2026-05-05T08:31:36.1109910Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: INVALID , params: ('db_user4', '%'), query: GRANT INVALID ON `data1`.* TO %s@%s , exception: (3619, 'Illegal privilege level specified for INVALID')."}␛[0m
2026-05-05T08:31:36.1111395Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:36.1111590Z 
2026-05-05T08:31:36.1112090Z TASK [test_mysql_user : Priv append | Assert that there wasn't a change in privileges if check_mode is set to 'no'] ***
2026-05-05T08:31:36.1800945Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:36.1801915Z 
2026-05-05T08:31:36.1802227Z TASK [test_mysql_user : Drop test databases] ***********************************
2026-05-05T08:31:36.7265323Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:36.7266620Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:31:36.7267228Z 
2026-05-05T08:31:36.7267776Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:36.8109800Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:36.8111194Z 
2026-05-05T08:31:36.8111515Z TASK [test_mysql_user : Utils | Remove user db_user4] **************************
2026-05-05T08:31:37.1289419Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:37.1290263Z 
2026-05-05T08:31:37.1290566Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:37.3672990Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_priv_append.yml for testhost␛[0m
2026-05-05T08:31:37.3674173Z 
2026-05-05T08:31:37.3674527Z TASK [test_mysql_user : Priv append | Create test databases] *******************
2026-05-05T08:31:37.9066281Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:37.9067790Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:31:37.9068731Z 
2026-05-05T08:31:37.9069071Z TASK [test_mysql_user : Priv append | Create a user with an initial set of privileges] ***
2026-05-05T08:31:38.2309259Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user4"}␛[0m
2026-05-05T08:31:38.2309882Z 
2026-05-05T08:31:38.2310297Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:38.4992254Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.018002", "end": "2026-05-05 08:31:38.461629", "msg": "", "rc": 0, "start": "2026-05-05 08:31:38.443627", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:38.4996202Z 
2026-05-05T08:31:38.4996676Z TASK [test_mysql_user : Priv append | Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:31:38.5739734Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:38.5740168Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:38.5740559Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:38.5740909Z ␛[0;32m}␛[0m
2026-05-05T08:31:38.5741035Z 
2026-05-05T08:31:38.5741572Z TASK [test_mysql_user : Priv append | Append privileges that are a subset of the current privileges, which should be a no-op] ***
2026-05-05T08:31:38.8876840Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:38.8877522Z 
2026-05-05T08:31:38.8877852Z TASK [test_mysql_user : Priv append | Assert that there wasn't a change in permissions] ***
2026-05-05T08:31:38.9686828Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:38.9687415Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:38.9688001Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:38.9688812Z ␛[0;32m}␛[0m
2026-05-05T08:31:38.9689415Z 
2026-05-05T08:31:38.9690004Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:39.2382939Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017083", "end": "2026-05-05 08:31:39.204118", "msg": "", "rc": 0, "start": "2026-05-05 08:31:39.187035", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:39.2386167Z 
2026-05-05T08:31:39.2386569Z TASK [test_mysql_user : Priv append | Assert that the permissions still match what was originally granted] ***
2026-05-05T08:31:39.3102208Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:39.3102576Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:39.3102920Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:39.3103232Z ␛[0;32m}␛[0m
2026-05-05T08:31:39.3103340Z 
2026-05-05T08:31:39.3103860Z TASK [test_mysql_user : Priv append | Append privileges that are not included in the current set of privileges to test that privileges are updated] ***
2026-05-05T08:31:39.6294120Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['DELETE'], revoked []", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:39.6294947Z 
2026-05-05T08:31:39.6295348Z TASK [test_mysql_user : Priv append | Assert that there was a change because permissions were added to data1.*] ***
2026-05-05T08:31:39.7099958Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:39.7100447Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:39.7100925Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:39.7101351Z ␛[0;32m}␛[0m
2026-05-05T08:31:39.7101514Z 
2026-05-05T08:31:39.7102019Z TASK [test_mysql_user : Priv append | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:39.9675731Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017122", "end": "2026-05-05 08:31:39.935539", "msg": "", "rc": 0, "start": "2026-05-05 08:31:39.918417", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`\nGRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "GRANT SELECT, DELETE ON `data2`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:39.9679534Z 
2026-05-05T08:31:39.9680036Z TASK [test_mysql_user : Priv append | Assert that the permissions were changed as expected if check_mode is set to 'no'] ***
2026-05-05T08:31:40.0427779Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:40.0428605Z 
2026-05-05T08:31:40.0429030Z TASK [test_mysql_user : Priv append | Assert that the permissions were not actually changed if check_mode is set to 'yes'] ***
2026-05-05T08:31:40.1092571Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:40.1093649Z 
2026-05-05T08:31:40.1094073Z TASK [test_mysql_user : Priv append | Try to append invalid privileges] ********
2026-05-05T08:31:40.4219900Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['INVALID'], revoked []", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:40.4220991Z 
2026-05-05T08:31:40.4221558Z TASK [test_mysql_user : Priv append | Assert that there wasn't a change in privileges if check_mode is set to 'no'] ***
2026-05-05T08:31:40.4898735Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:40.4899396Z 
2026-05-05T08:31:40.4899626Z TASK [test_mysql_user : Drop test databases] ***********************************
2026-05-05T08:31:41.0084147Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:41.0085404Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:31:41.0085994Z 
2026-05-05T08:31:41.0086195Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:41.0877552Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:41.0879424Z 
2026-05-05T08:31:41.0879737Z TASK [test_mysql_user : Utils | Remove user db_user4] **************************
2026-05-05T08:31:41.3934444Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:41.3935218Z 
2026-05-05T08:31:41.3935503Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:41.6444986Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_priv_subtract.yml for testhost␛[0m
2026-05-05T08:31:41.6446156Z 
2026-05-05T08:31:41.6446452Z TASK [test_mysql_user : Priv substract | Create test databases] ****************
2026-05-05T08:31:41.9464345Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:41.9465274Z 
2026-05-05T08:31:41.9465706Z TASK [test_mysql_user : Priv substract | Create a user with an initial set of privileges] ***
2026-05-05T08:31:42.2587439Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user4"}␛[0m
2026-05-05T08:31:42.2588786Z 
2026-05-05T08:31:42.2589588Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:42.5236830Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017964", "end": "2026-05-05 08:31:42.491798", "msg": "", "rc": 0, "start": "2026-05-05 08:31:42.473834", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:42.5240066Z 
2026-05-05T08:31:42.5240514Z TASK [test_mysql_user : Priv substract | Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:31:42.5947034Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:42.5947463Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:42.5947843Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:42.5948198Z ␛[0;32m}␛[0m
2026-05-05T08:31:42.5948324Z 
2026-05-05T08:31:42.5949004Z TASK [test_mysql_user : Priv substract | Subtract privileges that are not in the current privileges, which should be a no-op] ***
2026-05-05T08:31:42.9118723Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:42.9119490Z 
2026-05-05T08:31:42.9119862Z TASK [test_mysql_user : Priv substract | Assert that there wasn't a change in permissions] ***
2026-05-05T08:31:42.9891956Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:42.9892464Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:42.9892919Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:42.9893346Z ␛[0;32m}␛[0m
2026-05-05T08:31:42.9893498Z 
2026-05-05T08:31:42.9894066Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:43.2540632Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.018250", "end": "2026-05-05 08:31:43.221244", "msg": "", "rc": 0, "start": "2026-05-05 08:31:43.202994", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:43.2544216Z 
2026-05-05T08:31:43.2544786Z TASK [test_mysql_user : Priv substract | Assert that the permissions still match what was originally granted] ***
2026-05-05T08:31:43.3274689Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:43.3275251Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:43.3275677Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:43.3276073Z ␛[0;32m}␛[0m
2026-05-05T08:31:43.3276211Z 
2026-05-05T08:31:43.3276662Z TASK [test_mysql_user : Priv substract | Subtract existing and not-existing privileges, but not all] ***
2026-05-05T08:31:43.6433816Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted [], revoked ['INSERT']", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:43.6435472Z 
2026-05-05T08:31:43.6436085Z TASK [test_mysql_user : Priv substract | Assert that there was a change because permissions were/would be revoked on data1.*] ***
2026-05-05T08:31:43.7221302Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:43.7221893Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:43.7222509Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:43.7223072Z ␛[0;32m}␛[0m
2026-05-05T08:31:43.7223266Z 
2026-05-05T08:31:43.7223938Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:43.9927863Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.020072", "end": "2026-05-05 08:31:43.957024", "msg": "", "rc": 0, "start": "2026-05-05 08:31:43.936952", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:43.9932364Z 
2026-05-05T08:31:43.9933124Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed if check_mode is set to 'yes'] ***
2026-05-05T08:31:44.0606860Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:44.0607742Z 
2026-05-05T08:31:44.0608215Z TASK [test_mysql_user : Priv substract | Assert that only DELETE was revoked if check_mode is set to 'no'] ***
2026-05-05T08:31:44.1268196Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:44.1269292Z 
2026-05-05T08:31:44.1269658Z TASK [test_mysql_user : Priv substract | Try to subtract invalid privileges] ***
2026-05-05T08:31:44.4389522Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:44.4390361Z 
2026-05-05T08:31:44.4390904Z TASK [test_mysql_user : Priv substract | Assert that there was no change because invalid permissions are ignored] ***
2026-05-05T08:31:44.5157654Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:44.5158214Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:44.5158876Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:44.5159313Z ␛[0;32m}␛[0m
2026-05-05T08:31:44.5159467Z 
2026-05-05T08:31:44.5159985Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:44.7781868Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017603", "end": "2026-05-05 08:31:44.745050", "msg": "", "rc": 0, "start": "2026-05-05 08:31:44.727447", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:44.7785144Z 
2026-05-05T08:31:44.7785583Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed with check_mode=='yes'] ***
2026-05-05T08:31:44.8485017Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:44.8485909Z 
2026-05-05T08:31:44.8486453Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed with check_mode=='no'] ***
2026-05-05T08:31:44.9180955Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:44.9181912Z 
2026-05-05T08:31:44.9182518Z TASK [test_mysql_user : Priv substract | Trigger failure by trying to subtract and append privileges at the same time] ***
2026-05-05T08:31:45.2134748Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "parameters are mutually exclusive: append_privs|subtract_privs"}␛[0m
2026-05-05T08:31:45.2135740Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:45.2135947Z 
2026-05-05T08:31:45.2136311Z TASK [test_mysql_user : Priv substract | Assert the previous execution failed] ***
2026-05-05T08:31:45.2933781Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:45.2934304Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:45.2934793Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:45.2935236Z ␛[0;32m}␛[0m
2026-05-05T08:31:45.2935392Z 
2026-05-05T08:31:45.2935930Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:45.5554941Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017186", "end": "2026-05-05 08:31:45.521392", "msg": "", "rc": 0, "start": "2026-05-05 08:31:45.504206", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:45.5558562Z 
2026-05-05T08:31:45.5559112Z TASK [test_mysql_user : Priv substract | Assert that the permissions stayed the same, with check_mode=='yes'] ***
2026-05-05T08:31:45.6271779Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:45.6272837Z 
2026-05-05T08:31:45.6273437Z TASK [test_mysql_user : Priv substract | Assert that the permissions stayed the same, with check_mode=='no'] ***
2026-05-05T08:31:45.6944179Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:45.6945086Z 
2026-05-05T08:31:45.6945421Z TASK [test_mysql_user : Priv substract | Drop test databases] ******************
2026-05-05T08:31:45.9927932Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:45.9929112Z 
2026-05-05T08:31:45.9929458Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:46.0766152Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:46.0767529Z 
2026-05-05T08:31:46.0767854Z TASK [test_mysql_user : Utils | Remove user db_user4] **************************
2026-05-05T08:31:46.3855462Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:46.3856226Z 
2026-05-05T08:31:46.3856512Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:46.6367454Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_priv_subtract.yml for testhost␛[0m
2026-05-05T08:31:46.6368888Z 
2026-05-05T08:31:46.6369190Z TASK [test_mysql_user : Priv substract | Create test databases] ****************
2026-05-05T08:31:46.9320545Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:46.9321422Z 
2026-05-05T08:31:46.9321792Z TASK [test_mysql_user : Priv substract | Create a user with an initial set of privileges] ***
2026-05-05T08:31:47.2455852Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user4"}␛[0m
2026-05-05T08:31:47.2456978Z 
2026-05-05T08:31:47.2457553Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:47.5107934Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017617", "end": "2026-05-05 08:31:47.475775", "msg": "", "rc": 0, "start": "2026-05-05 08:31:47.458158", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:47.5112125Z 
2026-05-05T08:31:47.5112679Z TASK [test_mysql_user : Priv substract | Assert that the initial set of privileges matches what is expected] ***
2026-05-05T08:31:47.5842419Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:47.5842933Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:47.5843430Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:47.5843891Z ␛[0;32m}␛[0m
2026-05-05T08:31:47.5844050Z 
2026-05-05T08:31:47.5844697Z TASK [test_mysql_user : Priv substract | Subtract privileges that are not in the current privileges, which should be a no-op] ***
2026-05-05T08:31:47.8974970Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:47.8975745Z 
2026-05-05T08:31:47.8976140Z TASK [test_mysql_user : Priv substract | Assert that there wasn't a change in permissions] ***
2026-05-05T08:31:47.9733998Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:47.9734586Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:47.9735023Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:47.9735408Z ␛[0;32m}␛[0m
2026-05-05T08:31:47.9735546Z 
2026-05-05T08:31:47.9736026Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:48.2406195Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017617", "end": "2026-05-05 08:31:48.206733", "msg": "", "rc": 0, "start": "2026-05-05 08:31:48.189116", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:48.2409283Z 
2026-05-05T08:31:48.2409712Z TASK [test_mysql_user : Priv substract | Assert that the permissions still match what was originally granted] ***
2026-05-05T08:31:48.3150602Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:48.3151102Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:48.3151596Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:48.3152042Z ␛[0;32m}␛[0m
2026-05-05T08:31:48.3152203Z 
2026-05-05T08:31:48.3152699Z TASK [test_mysql_user : Priv substract | Subtract existing and not-existing privileges, but not all] ***
2026-05-05T08:31:48.6245732Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted [], revoked ['INSERT']", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:48.6246677Z 
2026-05-05T08:31:48.6247242Z TASK [test_mysql_user : Priv substract | Assert that there was a change because permissions were/would be revoked on data1.*] ***
2026-05-05T08:31:48.7020682Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:48.7021107Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:48.7021506Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:48.7021863Z ␛[0;32m}␛[0m
2026-05-05T08:31:48.7021989Z 
2026-05-05T08:31:48.7022434Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:48.9660411Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017767", "end": "2026-05-05 08:31:48.928487", "msg": "", "rc": 0, "start": "2026-05-05 08:31:48.910720", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:48.9664237Z 
2026-05-05T08:31:48.9664827Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed if check_mode is set to 'yes'] ***
2026-05-05T08:31:49.0313069Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:49.0313920Z 
2026-05-05T08:31:49.0314439Z TASK [test_mysql_user : Priv substract | Assert that only DELETE was revoked if check_mode is set to 'no'] ***
2026-05-05T08:31:49.0982149Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:49.0983046Z 
2026-05-05T08:31:49.0983420Z TASK [test_mysql_user : Priv substract | Try to subtract invalid privileges] ***
2026-05-05T08:31:49.4251317Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:49.4251970Z 
2026-05-05T08:31:49.4252401Z TASK [test_mysql_user : Priv substract | Assert that there was no change because invalid permissions are ignored] ***
2026-05-05T08:31:49.5007416Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:49.5007815Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:49.5008171Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:49.5008748Z ␛[0;32m}␛[0m
2026-05-05T08:31:49.5008872Z 
2026-05-05T08:31:49.5009324Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:49.7620497Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017602", "end": "2026-05-05 08:31:49.726557", "msg": "", "rc": 0, "start": "2026-05-05 08:31:49.708955", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:49.7624196Z 
2026-05-05T08:31:49.7624752Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed with check_mode=='yes'] ***
2026-05-05T08:31:49.8276526Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:49.8277447Z 
2026-05-05T08:31:49.8278026Z TASK [test_mysql_user : Priv substract | Assert that the permissions were not changed with check_mode=='no'] ***
2026-05-05T08:31:49.8972582Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:49.8974023Z 
2026-05-05T08:31:49.8982097Z TASK [test_mysql_user : Priv substract | Trigger failure by trying to subtract and append privileges at the same time] ***
2026-05-05T08:31:50.2041531Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "parameters are mutually exclusive: append_privs|subtract_privs"}␛[0m
2026-05-05T08:31:50.2042417Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:50.2042923Z 
2026-05-05T08:31:50.2043428Z TASK [test_mysql_user : Priv substract | Assert the previous execution failed] ***
2026-05-05T08:31:50.2814884Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:50.2815368Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:50.2815758Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:50.2816115Z ␛[0;32m}␛[0m
2026-05-05T08:31:50.2816240Z 
2026-05-05T08:31:50.2816685Z TASK [test_mysql_user : Priv substract | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:31:50.5441730Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user4'@'%'"], "delta": "0:00:00.017353", "end": "2026-05-05 08:31:50.507626", "msg": "", "rc": 0, "start": "2026-05-05 08:31:50.490273", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user4@%\nGRANT USAGE ON *.* TO `db_user4`@`%`\nGRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`", "stdout_lines": ["Grants for db_user4@%", "GRANT USAGE ON *.* TO `db_user4`@`%`", "GRANT SELECT, INSERT ON `data1`.* TO `db_user4`@`%`"]}␛[0m
2026-05-05T08:31:50.5445336Z 
2026-05-05T08:31:50.5445844Z TASK [test_mysql_user : Priv substract | Assert that the permissions stayed the same, with check_mode=='yes'] ***
2026-05-05T08:31:50.6119732Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'yes'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:50.6120605Z 
2026-05-05T08:31:50.6121103Z TASK [test_mysql_user : Priv substract | Assert that the permissions stayed the same, with check_mode=='no'] ***
2026-05-05T08:31:50.6793829Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "enable_check_mode == 'no'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:50.6794736Z 
2026-05-05T08:31:50.6795076Z TASK [test_mysql_user : Priv substract | Drop test databases] ******************
2026-05-05T08:31:50.9811596Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:31:50.9812446Z 
2026-05-05T08:31:50.9812723Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:51.0616937Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:51.0618256Z 
2026-05-05T08:31:51.0618776Z TASK [test_mysql_user : Utils | Remove user db_user4] **************************
2026-05-05T08:31:51.3673146Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user4"}␛[0m
2026-05-05T08:31:51.3673883Z 
2026-05-05T08:31:51.3674318Z TASK [test_mysql_user : Privs issue 465 | Create a user with parameters that will always cause an exception] ***
2026-05-05T08:31:51.6861852Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Error granting privileges, invalid priv string: SELECT , params: ('user_issue_465', 'localhost'), query: GRANT SELECT ON *.`data` TO %s@%s , exception: (1064, \"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`data` TO 'user_issue_465'@'localhost'' at line 1\")."}␛[0m
2026-05-05T08:31:51.6864371Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:31:51.6864586Z 
2026-05-05T08:31:51.6864953Z TASK [test_mysql_user : Privs issue 465 | Assert output message for current privileges] ***
2026-05-05T08:31:51.7727886Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:51.7728670Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:51.7729096Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:51.7729789Z ␛[0;32m}␛[0m
2026-05-05T08:31:51.7729926Z 
2026-05-05T08:31:51.7730345Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:52.0705453Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_user_attributes.yml for testhost␛[0m
2026-05-05T08:31:52.0707230Z 
2026-05-05T08:31:52.0707825Z TASK [test_mysql_user : Attributes | Attempt to create user with attributes with mariadb in check mode] ***
2026-05-05T08:31:52.1418461Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.1419258Z 
2026-05-05T08:31:52.1419793Z TASK [test_mysql_user : Attributes | Run query to verify user creation with attributes fails with mariadb in check mode] ***
2026-05-05T08:31:52.2139736Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.2140649Z 
2026-05-05T08:31:52.2141217Z TASK [test_mysql_user : Attributes | Assert that creating user with attributes fails with mariadb in check mode] ***
2026-05-05T08:31:52.2801074Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.2801818Z 
2026-05-05T08:31:52.2802163Z TASK [test_mysql_user : Attributes | Attempt to create user with attributes with mariadb] ***
2026-05-05T08:31:52.3467410Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.3468158Z 
2026-05-05T08:31:52.3468813Z TASK [test_mysql_user : Attributes | Run query to verify user creation with attributes fails with mariadb] ***
2026-05-05T08:31:52.4142235Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.4143504Z 
2026-05-05T08:31:52.4144126Z TASK [test_mysql_user : Attributes | Assert that creating user with attributes fails with mariadb] ***
2026-05-05T08:31:52.4800241Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mariadb'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:31:52.4801042Z 
2026-05-05T08:31:52.4801426Z TASK [test_mysql_user : Attributes | Test creating a user with no attributes in check mode] ***
2026-05-05T08:31:52.7776504Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": null, "user": "db_user2"}␛[0m
2026-05-05T08:31:52.7777187Z 
2026-05-05T08:31:52.7777698Z TASK [test_mysql_user : Attributes | Run query to verify user creation with no attributes did not take place in check mode] ***
2026-05-05T08:31:53.0668881Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT user FROM mysql.user WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.4773], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:31:53.0670061Z 
2026-05-05T08:31:53.0670510Z TASK [test_mysql_user : Attributes | Assert that user would have been created without attributes] ***
2026-05-05T08:31:53.1492606Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:53.1493041Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:53.1493471Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:53.1493859Z ␛[0;32m}␛[0m
2026-05-05T08:31:53.1494010Z 
2026-05-05T08:31:53.1494319Z TASK [test_mysql_user : Attributes | Test creating a user with no attributes] ***
2026-05-05T08:31:53.4580629Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:53.4581479Z 
2026-05-05T08:31:53.4581909Z TASK [test_mysql_user : Attributes | Run query to verify created user without attributes] ***
2026-05-05T08:31:53.7494873Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.573], "query_result": [[{"ATTRIBUTE": null}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:53.7496152Z 
2026-05-05T08:31:53.7496479Z TASK [test_mysql_user : Attributes | Assert that user was created without attributes] ***
2026-05-05T08:31:53.8323927Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:53.8324334Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:53.8324735Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:53.8325096Z ␛[0;32m}␛[0m
2026-05-05T08:31:53.8325231Z 
2026-05-05T08:31:53.8325480Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:31:53.9308257Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:31:53.9309819Z 
2026-05-05T08:31:53.9310159Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:31:54.2382212Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:54.2383590Z 
2026-05-05T08:31:54.2384243Z TASK [test_mysql_user : Attributes | Test creating a user with attributes in check mode] ***
2026-05-05T08:31:54.5430935Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1"}, "changed": true, "msg": "User added", "password_changed": null, "user": "db_user2"}␛[0m
2026-05-05T08:31:54.5432339Z 
2026-05-05T08:31:54.5433106Z TASK [test_mysql_user : Attributes | Run query to verify user creation did not take place in check mode] ***
2026-05-05T08:31:54.8385533Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT user FROM mysql.user WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.4737], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:31:54.8387388Z 
2026-05-05T08:31:54.8387846Z TASK [test_mysql_user : Attributes | Assert that user would have been created with attributes] ***
2026-05-05T08:31:54.9205276Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:54.9206431Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:54.9206926Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:54.9207345Z ␛[0;32m}␛[0m
2026-05-05T08:31:54.9207489Z 
2026-05-05T08:31:54.9207800Z TASK [test_mysql_user : Attributes | Test creating a user with attributes] *****
2026-05-05T08:31:55.2354328Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1"}, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:31:55.2355462Z 
2026-05-05T08:31:55.2355925Z TASK [test_mysql_user : Attributes | Run query to verify created user attributes] ***
2026-05-05T08:31:55.5250656Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.6298], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:55.5251958Z 
2026-05-05T08:31:55.5252257Z TASK [test_mysql_user : Attributes | Assert that user was created with attributes] ***
2026-05-05T08:31:55.6254961Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:55.6255382Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:55.6255787Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:55.6256163Z ␛[0;32m}␛[0m
2026-05-05T08:31:55.6256296Z 
2026-05-05T08:31:55.6256682Z TASK [test_mysql_user : Attributes | Test appending attributes to an existing user in check mode] ***
2026-05-05T08:31:55.9385067Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1", "key2": "value2"}, "changed": true, "msg": "Attributes updated: key2: value2", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:55.9385971Z 
2026-05-05T08:31:55.9386629Z TASK [test_mysql_user : Attributes | Run query to check appended attributes in check mode] ***
2026-05-05T08:31:56.2349860Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.5861], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:56.2351485Z 
2026-05-05T08:31:56.2352049Z TASK [test_mysql_user : Attributes | Assert that attribute would have been appended and existing attribute stays] ***
2026-05-05T08:31:56.3381997Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:56.3382403Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:56.3382779Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:56.3383106Z ␛[0;32m}␛[0m
2026-05-05T08:31:56.3383224Z 
2026-05-05T08:31:56.3383507Z TASK [test_mysql_user : Attributes | Test appending attributes to an existing user] ***
2026-05-05T08:31:56.6615642Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1", "key2": "value2"}, "changed": true, "msg": "Attributes updated: key2: value2", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:56.6616815Z 
2026-05-05T08:31:56.6617171Z TASK [test_mysql_user : Attributes | Run query to check appended attributes] ***
2026-05-05T08:31:56.9635506Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.7082], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:56.9636997Z 
2026-05-05T08:31:56.9637452Z TASK [test_mysql_user : Attributes | Assert that new attribute was appended and existing attribute stays] ***
2026-05-05T08:31:57.0683381Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:57.0683815Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:57.0684198Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:57.0684589Z ␛[0;32m}␛[0m
2026-05-05T08:31:57.0684721Z 
2026-05-05T08:31:57.0685143Z TASK [test_mysql_user : Attributes | Test updating attributes on an existing user in check mode] ***
2026-05-05T08:31:57.3861744Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": true, "msg": "Attributes updated: key2: new_value2", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:57.3862850Z 
2026-05-05T08:31:57.3863261Z TASK [test_mysql_user : Attributes | Run query to verify updated attribute in check mode] ***
2026-05-05T08:31:57.6832612Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.6435], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:57.6834145Z 
2026-05-05T08:31:57.6834497Z TASK [test_mysql_user : Attributes | Assert that attribute would have been updated] ***
2026-05-05T08:31:57.7889107Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:57.7889684Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:57.7890101Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:57.7890489Z ␛[0;32m}␛[0m
2026-05-05T08:31:57.7890642Z 
2026-05-05T08:31:57.7890967Z TASK [test_mysql_user : Attributes | Test updating attributes on an existing user] ***
2026-05-05T08:31:58.1040874Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": true, "msg": "Attributes updated: key2: new_value2", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:58.1042110Z 
2026-05-05T08:31:58.1042475Z TASK [test_mysql_user : Attributes | Run query to verify updated attribute] ****
2026-05-05T08:31:58.4104041Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.5643], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:58.4105953Z 
2026-05-05T08:31:58.4106300Z TASK [test_mysql_user : Attributes | Assert that attribute was updated] ********
2026-05-05T08:31:58.5102770Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:58.5103353Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:58.5103938Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:58.5104477Z ␛[0;32m}␛[0m
2026-05-05T08:31:58.5104689Z 
2026-05-05T08:31:58.5105485Z TASK [test_mysql_user : Attributes | Test attribute idempotency by trying to change an already correct attribute in check mode] ***
2026-05-05T08:31:58.8203117Z ␛[0;32mok: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:58.8203936Z 
2026-05-05T08:31:58.8204395Z TASK [test_mysql_user : Attributes | Run query to verify idempotency of already correct attribute in check mode] ***
2026-05-05T08:31:59.1113561Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.6307], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:59.1114959Z 
2026-05-05T08:31:59.1115291Z TASK [test_mysql_user : Attributes | Assert that attribute would not have been updated] ***
2026-05-05T08:31:59.2175877Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:59.2177426Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:59.2177899Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:59.2178305Z ␛[0;32m}␛[0m
2026-05-05T08:31:59.2178638Z 
2026-05-05T08:31:59.2179177Z TASK [test_mysql_user : Attributes | Test attribute idempotency by trying to change an already correct attribute] ***
2026-05-05T08:31:59.5406614Z ␛[0;32mok: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:31:59.5408047Z 
2026-05-05T08:31:59.5408777Z TASK [test_mysql_user : Attributes | Run query to verify idempotency of already correct attribute] ***
2026-05-05T08:31:59.8417652Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.5836], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:31:59.8419606Z 
2026-05-05T08:31:59.8419926Z TASK [test_mysql_user : Attributes | Assert that attribute was not updated] ****
2026-05-05T08:31:59.9467416Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:31:59.9468009Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:31:59.9468566Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:31:59.9468969Z ␛[0;32m}␛[0m
2026-05-05T08:31:59.9469107Z 
2026-05-05T08:31:59.9469674Z TASK [test_mysql_user : Attributes | Test attribute idempotency by not specifying attribute parameter in check mode] ***
2026-05-05T08:32:00.2601790Z ␛[0;32mok: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:00.2602550Z 
2026-05-05T08:32:00.2603029Z TASK [test_mysql_user : Attributes | Run query to verify idempotency when not specifying attribute parameter in check mode] ***
2026-05-05T08:32:00.5450822Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.6011], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:00.5452269Z 
2026-05-05T08:32:00.5452584Z TASK [test_mysql_user : Attributes | Assert that attribute is returned in check mode] ***
2026-05-05T08:32:00.6425257Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:00.6426034Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:00.6426435Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:00.6426794Z ␛[0;32m}␛[0m
2026-05-05T08:32:00.6426928Z 
2026-05-05T08:32:00.6427333Z TASK [test_mysql_user : Attributes | Test attribute idempotency by not specifying attribute parameter] ***
2026-05-05T08:32:00.9556441Z ␛[0;32mok: [testhost] => {"attributes": {"key1": "value1", "key2": "new_value2"}, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:00.9557420Z 
2026-05-05T08:32:00.9557980Z TASK [test_mysql_user : Attributes | Run query to verify idempotency when not specifying attribute parameter] ***
2026-05-05T08:32:01.2440222Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.5801], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:01.2441889Z 
2026-05-05T08:32:01.2442219Z TASK [test_mysql_user : Attributes | Assert that attribute is returned] ********
2026-05-05T08:32:01.3424734Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:01.3425238Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:01.3425625Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:01.3425990Z ␛[0;32m}␛[0m
2026-05-05T08:32:01.3426115Z 
2026-05-05T08:32:01.3426489Z TASK [test_mysql_user : Attributes | Test deleting attributes on an existing user in check mode] ***
2026-05-05T08:32:01.6510002Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1"}, "changed": true, "msg": "Attributes updated: key2: None", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:01.6510992Z 
2026-05-05T08:32:01.6511415Z TASK [test_mysql_user : Attributes | Run query to verify deleted attribute in check mode] ***
2026-05-05T08:32:01.9389758Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.581], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\", \"key2\": \"new_value2\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:01.9391453Z 
2026-05-05T08:32:01.9391813Z TASK [test_mysql_user : Attributes | Assert that attribute would have been deleted] ***
2026-05-05T08:32:02.0380279Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:02.0380800Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:02.0381265Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:02.0381685Z ␛[0;32m}␛[0m
2026-05-05T08:32:02.0381840Z 
2026-05-05T08:32:02.0382215Z TASK [test_mysql_user : Attributes | Test deleting attributes on an existing user] ***
2026-05-05T08:32:02.3435306Z ␛[0;33mchanged: [testhost] => {"attributes": {"key1": "value1"}, "changed": true, "msg": "Attributes updated: key2: None", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:02.3436366Z 
2026-05-05T08:32:02.3436730Z TASK [test_mysql_user : Attributes | Run query to verify deleted attribute] ****
2026-05-05T08:32:02.6340201Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SELECT attribute FROM INFORMATION_SCHEMA.USER_ATTRIBUTES WHERE user = \"db_user2\" AND host = \"%\""], "execution_time_ms": [0.6041], "query_result": [[{"ATTRIBUTE": "{\"key1\": \"value1\"}"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:02.6341615Z 
2026-05-05T08:32:02.6341932Z TASK [test_mysql_user : Attributes | Assert that attribute was deleted] ********
2026-05-05T08:32:02.7321568Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:02.7322000Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:02.7322380Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:02.7322739Z ␛[0;32m}␛[0m
2026-05-05T08:32:02.7322866Z 
2026-05-05T08:32:02.7323292Z TASK [test_mysql_user : Attributes | Test attributes return value when no attributes exist in check mode] ***
2026-05-05T08:32:03.0382430Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Attributes updated: key1: None", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:03.0383210Z 
2026-05-05T08:32:03.0383655Z TASK [test_mysql_user : Attributes | Assert attributes return value when no attributes exist in check mode] ***
2026-05-05T08:32:03.1239600Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:03.1240130Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:03.1240609Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:03.1241017Z ␛[0;32m}␛[0m
2026-05-05T08:32:03.1241168Z 
2026-05-05T08:32:03.1241571Z TASK [test_mysql_user : Attributes | Test attributes return value when no attributes exist] ***
2026-05-05T08:32:03.4380968Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Attributes updated: key1: None", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:03.4381845Z 
2026-05-05T08:32:03.4382263Z TASK [test_mysql_user : Attributes | Assert attributes return value when no attributes exist] ***
2026-05-05T08:32:03.5215907Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:03.5216443Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:03.5216900Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:03.5217328Z ␛[0;32m}␛[0m
2026-05-05T08:32:03.5217490Z 
2026-05-05T08:32:03.5217786Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:03.6175677Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:03.6176704Z 
2026-05-05T08:32:03.6176945Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:32:03.9260890Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:03.9261654Z 
2026-05-05T08:32:03.9261973Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:04.2936769Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_tls_requirements.yml for testhost␛[0m
2026-05-05T08:32:04.2937967Z 
2026-05-05T08:32:04.2938620Z TASK [test_mysql_user : Tls reqs | Create user with TLS requirements in check mode (expect changed=true)] ***
2026-05-05T08:32:04.5997940Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": null, "user": "db_user1"}␛[0m
2026-05-05T08:32:04.5999317Z 
2026-05-05T08:32:04.5999860Z TASK [test_mysql_user : Tls reqs | Assert check mode user create reports changed state] ***
2026-05-05T08:32:04.6773644Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:04.6774178Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:04.6774541Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:04.6774934Z ␛[0;32m}␛[0m
2026-05-05T08:32:04.6775069Z 
2026-05-05T08:32:04.6775299Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:04.7615938Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:04.7617671Z 
2026-05-05T08:32:04.7617967Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user1] ******
2026-05-05T08:32:05.0245344Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user1'"], "delta": "0:00:00.018194", "end": "2026-05-05 08:32:04.992019", "msg": "", "rc": 0, "start": "2026-05-05 08:32:04.973825", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:05.0247870Z 
2026-05-05T08:32:05.0248177Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:05.0978648Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:05.0979219Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:05.0979810Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:05.0980299Z ␛[0;32m}␛[0m
2026-05-05T08:32:05.0980481Z 
2026-05-05T08:32:05.0981052Z TASK [test_mysql_user : Tls reqs | Create user with TLS requirements state=present (expect changed=true)] ***
2026-05-05T08:32:05.9094135Z ␛[0;33mchanged: [testhost] => (item=['db_user1', {'SSL': None}]) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user1", {"SSL": null}], "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:32:05.9096800Z ␛[0;33mchanged: [testhost] => (item=['db_user2', {'X509': None}]) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user2", {"X509": null}], "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:32:05.9101212Z ␛[0;33mchanged: [testhost] => (item=['db_user3', {'subject': '/CN=alice/O=MyDom, Inc./C=US/ST=Oregon/L=Portland', 'cipher': 'ECDHE-ECDSA-AES256-SHA384', 'issuer': '/CN=org/O=MyDom, Inc./C=US/ST=Oregon/L=Portland'}]) => {"ansible_loop_var": "item", "attributes": null, "changed": true, "item": ["db_user3", {"cipher": "ECDHE-ECDSA-AES256-SHA384", "issuer": "/CN=org/O=MyDom, Inc./C=US/ST=Oregon/L=Portland", "subject": "/CN=alice/O=MyDom, Inc./C=US/ST=Oregon/L=Portland"}], "msg": "User added", "password_changed": true, "user": "db_user3"}␛[0m
2026-05-05T08:32:05.9103823Z 
2026-05-05T08:32:05.9104242Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in old database version] ***
2026-05-05T08:32:05.9997009Z ␛[0;36mskipping: [testhost] => (item=db_user1)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.1', '<='))", "item": "db_user1", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:05.9999438Z ␛[0;36mskipping: [testhost] => (item=db_user2)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.1', '<='))", "item": "db_user2", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:06.0001604Z ␛[0;36mskipping: [testhost] => (item=db_user3)  => {"ansible_loop_var": "item", "changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.1', '<='))", "item": "db_user3", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:06.0002897Z ␛[0;36mskipping: [testhost] => {"changed": false, "msg": "All items skipped"}␛[0m
2026-05-05T08:32:06.0003226Z 
2026-05-05T08:32:06.0003432Z TASK [test_mysql_user : Tls reqs | Set old database separator] *****************
2026-05-05T08:32:06.0734242Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.1', '<='))", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:06.0735280Z 
2026-05-05T08:32:06.0735622Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in new database version] ***
2026-05-05T08:32:06.7463728Z ␛[0;33mchanged: [testhost] => (item=db_user1) => {"ansible_loop_var": "item", "changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user1'@'localhost'"], "delta": "0:00:00.018055", "end": "2026-05-05 08:32:06.312931", "item": "db_user1", "msg": "", "rc": 0, "start": "2026-05-05 08:32:06.294876", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SSL PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SSL PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:06.7476863Z ␛[0;33mchanged: [testhost] => (item=db_user2) => {"ansible_loop_var": "item", "changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user2'@'localhost'"], "delta": "0:00:00.017649", "end": "2026-05-05 08:32:06.515480", "item": "db_user2", "msg": "", "rc": 0, "start": "2026-05-05 08:32:06.497831", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user2`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE X509 PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user2`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE X509 PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:06.7490576Z ␛[0;33mchanged: [testhost] => (item=db_user3) => {"ansible_loop_var": "item", "changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user3'@'localhost'"], "delta": "0:00:00.017486", "end": "2026-05-05 08:32:06.711705", "item": "db_user3", "msg": "", "rc": 0, "start": "2026-05-05 08:32:06.694219", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user3`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SUBJECT '/CN=alice/O=MyDom, Inc./C=US/ST=Oregon/L=Portland' ISSUER '/CN=org/O=MyDom, Inc./C=US/ST=Oregon/L=Portland' CIPHER 'ECDHE-ECDSA-AES256-SHA384' PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user3`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SUBJECT '/CN=alice/O=MyDom, Inc./C=US/ST=Oregon/L=Portland' ISSUER '/CN=org/O=MyDom, Inc./C=US/ST=Oregon/L=Portland' CIPHER 'ECDHE-ECDSA-AES256-SHA384' PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:06.7495320Z 
2026-05-05T08:32:06.7495533Z TASK [test_mysql_user : Tls reqs | Set new database separator] *****************
2026-05-05T08:32:06.8313812Z ␛[0;32mok: [testhost] => {"ansible_facts": {"separator": "PASSWORD"}, "changed": false}␛[0m
2026-05-05T08:32:06.8314404Z 
2026-05-05T08:32:06.8314717Z TASK [test_mysql_user : Tls reqs | Assert user1 TLS requirements] **************
2026-05-05T08:32:06.9371825Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:06.9372343Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:06.9372845Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:06.9373265Z ␛[0;32m}␛[0m
2026-05-05T08:32:06.9373742Z 
2026-05-05T08:32:06.9374227Z TASK [test_mysql_user : Tls reqs | Assert user2 TLS requirements] **************
2026-05-05T08:32:07.0456001Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:07.0456379Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:07.0456737Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:07.0457061Z ␛[0;32m}␛[0m
2026-05-05T08:32:07.0457182Z 
2026-05-05T08:32:07.0457428Z TASK [test_mysql_user : Tls reqs | Assert user3 TLS requirements] **************
2026-05-05T08:32:07.1731369Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:07.1731732Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:07.1732080Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:07.1732392Z ␛[0;32m}␛[0m
2026-05-05T08:32:07.1732507Z 
2026-05-05T08:32:07.1732925Z TASK [test_mysql_user : Tls reqs | Modify user with TLS requirements state=present in check mode (expect changed=true)] ***
2026-05-05T08:32:07.4831503Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "TLS requires updated", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:07.4832410Z 
2026-05-05T08:32:07.4832819Z TASK [test_mysql_user : Tls reqs | Assert check mode user update reports changed state] ***
2026-05-05T08:32:07.5618535Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:07.5619005Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:07.5619392Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:07.5619745Z ␛[0;32m}␛[0m
2026-05-05T08:32:07.5619882Z 
2026-05-05T08:32:07.5620243Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in old database version] ***
2026-05-05T08:32:07.6356197Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.2', '<'))", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:07.6357121Z 
2026-05-05T08:32:07.6357421Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in new database version] ***
2026-05-05T08:32:07.9057654Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user1'@'localhost'"], "delta": "0:00:00.017175", "end": "2026-05-05 08:32:07.870820", "msg": "", "rc": 0, "start": "2026-05-05 08:32:07.853645", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SSL PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE SSL PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:07.9063824Z 
2026-05-05T08:32:07.9064192Z TASK [test_mysql_user : Tls reqs | Assert user1 TLS requirements was not changed] ***
2026-05-05T08:32:08.0042093Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:08.0042462Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:08.0042813Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:08.0043125Z ␛[0;32m}␛[0m
2026-05-05T08:32:08.0043240Z 
2026-05-05T08:32:08.0043588Z TASK [test_mysql_user : Tls reqs | Modify user with TLS requirements state=present (expect changed=true)] ***
2026-05-05T08:32:08.3167615Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "TLS requires updated", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:08.3168237Z 
2026-05-05T08:32:08.3168991Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in old database version] ***
2026-05-05T08:32:08.3904535Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "(db_engine == 'mysql' and db_version is version('5.6', '<=')) or (db_engine == 'mariadb' and db_version is version('10.2', '<'))", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:08.3905529Z 
2026-05-05T08:32:08.3905840Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users in new database version] ***
2026-05-05T08:32:08.6598536Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user1'@'localhost'"], "delta": "0:00:00.017054", "end": "2026-05-05 08:32:08.624675", "msg": "", "rc": 0, "start": "2026-05-05 08:32:08.607621", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE X509 PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE X509 PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:08.6603315Z 
2026-05-05T08:32:08.6603526Z TASK [test_mysql_user : Tls reqs | Assert user1 TLS requirements] **************
2026-05-05T08:32:08.7662483Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:08.7662972Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:08.7663398Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:08.7663795Z ␛[0;32m}␛[0m
2026-05-05T08:32:08.7663935Z 
2026-05-05T08:32:08.7664308Z TASK [test_mysql_user : Tls reqs | Remove TLS requirements from user (expect changed=true)] ***
2026-05-05T08:32:09.0837234Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "TLS requires updated", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:09.0837887Z 
2026-05-05T08:32:09.0838133Z TASK [test_mysql_user : Tls reqs | Retrieve TLS requirements for users] ********
2026-05-05T08:32:09.3496260Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-L", "-N", "-s", "-e", "SHOW CREATE USER 'db_user1'@'localhost'"], "delta": "0:00:00.018249", "end": "2026-05-05 08:32:09.317919", "msg": "", "rc": 0, "start": "2026-05-05 08:32:09.299670", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT", "stdout_lines": ["CREATE USER `db_user1`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*3C991CFA432A1347EB705C7A9F99A28B0967072A' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"]}␛[0m
2026-05-05T08:32:09.3501624Z 
2026-05-05T08:32:09.3501893Z TASK [test_mysql_user : Tls reqs | Assert user1 TLS requirements] **************
2026-05-05T08:32:09.4214742Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:09.4215118Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:09.4215473Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:09.4215794Z ␛[0;32m}␛[0m
2026-05-05T08:32:09.4215918Z 
2026-05-05T08:32:09.4216139Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:09.5124207Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:09.5125635Z 
2026-05-05T08:32:09.5125936Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:32:09.8149566Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:09.8150183Z 
2026-05-05T08:32:09.8150399Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:09.9013285Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:09.9014749Z 
2026-05-05T08:32:09.9015066Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:32:10.2224438Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:10.2225249Z 
2026-05-05T08:32:10.2225530Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:10.3156832Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:10.3158048Z 
2026-05-05T08:32:10.3158664Z TASK [test_mysql_user : Utils | Remove user db_user3] **************************
2026-05-05T08:32:10.6213404Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:32:10.6214234Z 
2026-05-05T08:32:10.6214557Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:10.7097979Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:10.7099606Z 
2026-05-05T08:32:10.7099932Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user1] ******
2026-05-05T08:32:10.9783383Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user1'"], "delta": "0:00:00.018435", "end": "2026-05-05 08:32:10.940369", "msg": "", "rc": 0, "start": "2026-05-05 08:32:10.921934", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:10.9785978Z 
2026-05-05T08:32:10.9786349Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:11.0542571Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:11.0543248Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:11.0543920Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:11.0544555Z ␛[0;32m}␛[0m
2026-05-05T08:32:11.0544776Z 
2026-05-05T08:32:11.0545202Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:11.1446359Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:11.1447481Z 
2026-05-05T08:32:11.1447749Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user2] ******
2026-05-05T08:32:11.4127562Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user2'"], "delta": "0:00:00.018076", "end": "2026-05-05 08:32:11.377546", "msg": "", "rc": 0, "start": "2026-05-05 08:32:11.359470", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:11.4130242Z 
2026-05-05T08:32:11.4130550Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:11.4879229Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:11.4879748Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:11.4880222Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:11.4880670Z ␛[0;32m}␛[0m
2026-05-05T08:32:11.4880831Z 
2026-05-05T08:32:11.4881133Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:11.5766409Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:11.5767671Z 
2026-05-05T08:32:11.5767977Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user3] ******
2026-05-05T08:32:11.8345107Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user3'"], "delta": "0:00:00.017510", "end": "2026-05-05 08:32:11.802568", "msg": "", "rc": 0, "start": "2026-05-05 08:32:11.785058", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:11.8347259Z 
2026-05-05T08:32:11.8347526Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:11.9140985Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:11.9141443Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:11.9141823Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:11.9142173Z ␛[0;32m}␛[0m
2026-05-05T08:32:11.9142292Z 
2026-05-05T08:32:11.9142535Z TASK [test_mysql_user : Issue-29511 | test setup | drop database] **************
2026-05-05T08:32:12.4290437Z ␛[0;32mok: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": false, "db": "foo", "db_list": ["foo"], "executed_commands": [], "item": "foo"}␛[0m
2026-05-05T08:32:12.4292078Z ␛[0;32mok: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": false, "db": "bar", "db_list": ["bar"], "executed_commands": [], "item": "bar"}␛[0m
2026-05-05T08:32:12.4292854Z 
2026-05-05T08:32:12.4293162Z TASK [test_mysql_user : Issue-29511 | test setup | create database] ************
2026-05-05T08:32:12.9558853Z ␛[0;33mchanged: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": true, "db": "foo", "db_list": ["foo"], "executed_commands": ["CREATE DATABASE `foo`"], "item": "foo"}␛[0m
2026-05-05T08:32:12.9560916Z ␛[0;33mchanged: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": true, "db": "bar", "db_list": ["bar"], "executed_commands": ["CREATE DATABASE `bar`"], "item": "bar"}␛[0m
2026-05-05T08:32:12.9561615Z 
2026-05-05T08:32:12.9561859Z TASK [test_mysql_user : Issue-29511 | Copy SQL scripts to remote] **************
2026-05-05T08:32:14.0999124Z ␛[0;31m--- before␛[0m
2026-05-05T08:32:14.1000665Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/files/create-function.sql␛[0m
2026-05-05T08:32:14.1001765Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,8 @@␛[0m
2026-05-05T08:32:14.1002097Z ␛[0;36m␛[0m␛[0;32m+USE foo;␛[0m
2026-05-05T08:32:14.1002407Z ␛[0;32m␛[0m␛[0;32m+DELIMITER ;;␛[0m
2026-05-05T08:32:14.1002918Z ␛[0;32m␛[0m␛[0;32m+CREATE FUNCTION `function` () RETURNS tinyint(4) DETERMINISTIC␛[0m
2026-05-05T08:32:14.1003412Z ␛[0;32m␛[0m␛[0;32m+BEGIN␛[0m
2026-05-05T08:32:14.1004263Z ␛[0;32m␛[0m␛[0;32m+  DECLARE NAME_FOUND tinyint DEFAULT 0;␛[0m
2026-05-05T08:32:14.1004685Z ␛[0;32m␛[0m␛[0;32m+  RETURN NAME_FOUND;␛[0m
2026-05-05T08:32:14.1005034Z ␛[0;32m␛[0m␛[0;32m+END;;␛[0m
2026-05-05T08:32:14.1005334Z ␛[0;32m␛[0m␛[0;32m+DELIMITER ;␛[0m
2026-05-05T08:32:14.1005630Z ␛[0;32m␛[0m
2026-05-05T08:32:14.1008234Z ␛[0;33mchanged: [testhost] => (item=create-function.sql) => {"ansible_loop_var": "item", "changed": true, "checksum": "6d25c4df5911d6ec312364363a3eef7aa5edd251", "dest": "/tmp/ansible.7ibx0chb.test/create-function.sql", "gid": 0, "group": "root", "item": "create-function.sql", "md5sum": "a3cf5acfb3ac5d7ce375fdf41a67e706", "mode": "0644", "owner": "root", "size": 170, "src": "/root/.ansible/tmp/ansible-tmp-1777969933.0399806-7230-223079154081132/.source.sql", "state": "file", "uid": 0}␛[0m
2026-05-05T08:32:14.1011095Z ␛[0;31m--- before␛[0m
2026-05-05T08:32:14.1012316Z ␛[0;31m␛[0m␛[0;32m+++ after: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/files/create-procedure.sql␛[0m
2026-05-05T08:32:14.1013494Z ␛[0;32m␛[0m␛[0;36m@@ -0,0 +1,5 @@␛[0m
2026-05-05T08:32:14.1013829Z ␛[0;36m␛[0m␛[0;32m+USE bar;␛[0m
2026-05-05T08:32:14.1014153Z ␛[0;32m␛[0m␛[0;32m+DELIMITER ;;␛[0m
2026-05-05T08:32:14.1014553Z ␛[0;32m␛[0m␛[0;32m+CREATE PROCEDURE `procedure` ()␛[0m
2026-05-05T08:32:14.1014981Z ␛[0;32m␛[0m␛[0;32m+SELECT * FROM bar;;␛[0m
2026-05-05T08:32:14.1015334Z ␛[0;32m␛[0m␛[0;32m+DELIMITER ;␛[0m
2026-05-05T08:32:14.1015631Z ␛[0;32m␛[0m
2026-05-05T08:32:14.1017552Z ␛[0;33mchanged: [testhost] => (item=create-procedure.sql) => {"ansible_loop_var": "item", "changed": true, "checksum": "564f5067e6780be47486a770a6c930ad8f47c553", "dest": "/tmp/ansible.7ibx0chb.test/create-procedure.sql", "gid": 0, "group": "root", "item": "create-procedure.sql", "md5sum": "b00162ccd979c9bd7fc83d153fa93e0a", "mode": "0644", "owner": "root", "size": 86, "src": "/root/.ansible/tmp/ansible-tmp-1777969933.562267-7230-152328149959436/.source.sql", "state": "file", "uid": 0}␛[0m
2026-05-05T08:32:14.1019482Z 
2026-05-05T08:32:14.1019695Z TASK [test_mysql_user : Issue-29511 | Create function for test] ****************
2026-05-05T08:32:14.3620354Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp < /tmp/ansible.7ibx0chb.test/create-function.sql", "delta": "0:00:00.019517", "end": "2026-05-05 08:32:14.329587", "msg": "", "rc": 0, "start": "2026-05-05 08:32:14.310070", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:14.3622256Z 
2026-05-05T08:32:14.3622483Z TASK [test_mysql_user : Issue-29511 | Create procedure for test] ***************
2026-05-05T08:32:14.6277259Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp < /tmp/ansible.7ibx0chb.test/create-procedure.sql", "delta": "0:00:00.019144", "end": "2026-05-05 08:32:14.592744", "msg": "", "rc": 0, "start": "2026-05-05 08:32:14.573600", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:14.9429292Z 
2026-05-05T08:32:14.9430027Z TASK [test_mysql_user : Issue-29511 | Create user with FUNCTION and PROCEDURE privileges] ***
2026-05-05T08:32:14.9431601Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:32:14.9432374Z 
2026-05-05T08:32:14.9432833Z TASK [test_mysql_user : Issue-29511 | Assert Create user with FUNCTION and PROCEDURE privileges] ***
2026-05-05T08:32:15.0202805Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:15.0203178Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:15.0203944Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:15.0204237Z ␛[0;32m}␛[0m
2026-05-05T08:32:15.0204343Z 
2026-05-05T08:32:15.0204690Z TASK [test_mysql_user : Issue-29511 | Create user with FUNCTION and PROCEDURE privileges - Idempotent check] ***
2026-05-05T08:32:15.3369335Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:15.3370179Z 
2026-05-05T08:32:15.3370667Z TASK [test_mysql_user : Issue-29511 | Assert Create user with FUNCTION and PROCEDURE privileges] ***
2026-05-05T08:32:15.4134593Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:15.4134945Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:15.4135275Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:15.4135558Z ␛[0;32m}␛[0m
2026-05-05T08:32:15.4135667Z 
2026-05-05T08:32:15.4135882Z TASK [test_mysql_user : Issue-29511 | Test teardown | cleanup databases] *******
2026-05-05T08:32:15.9333179Z ␛[0;33mchanged: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": true, "db": "foo", "db_list": ["foo"], "executed_commands": ["DROP DATABASE `foo`"], "item": "foo"}␛[0m
2026-05-05T08:32:15.9335185Z ␛[0;33mchanged: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": true, "db": "bar", "db_list": ["bar"], "executed_commands": ["DROP DATABASE `bar`"], "item": "bar"}␛[0m
2026-05-05T08:32:15.9335881Z 
2026-05-05T08:32:15.9336095Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:16.0151860Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:16.0152998Z 
2026-05-05T08:32:16.0153283Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:32:16.3240994Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:16.3241903Z 
2026-05-05T08:32:16.3242221Z TASK [test_mysql_user : Issue-64560 | Set root password] ***********************
2026-05-05T08:32:16.6381264Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Password updated (new style)", "password_changed": true, "user": "root"}␛[0m
2026-05-05T08:32:16.6382093Z 
2026-05-05T08:32:16.6382408Z TASK [test_mysql_user : Issue-64560 | Assert root password is changed] *********
2026-05-05T08:32:16.7196992Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:16.7197545Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:16.7197923Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:16.7198255Z ␛[0;32m}␛[0m
2026-05-05T08:32:16.7198573Z 
2026-05-05T08:32:16.7198847Z TASK [test_mysql_user : Issue-64560 | Set root password again] *****************
2026-05-05T08:32:17.0324449Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "root"}␛[0m
2026-05-05T08:32:17.0325094Z 
2026-05-05T08:32:17.0325349Z TASK [test_mysql_user : Issue-64560 | Assert root password is not changed] *****
2026-05-05T08:32:17.1113164Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:17.1113648Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:17.1114015Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:17.1114350Z ␛[0;32m}␛[0m
2026-05-05T08:32:17.1114492Z 
2026-05-05T08:32:17.1114743Z TASK [test_mysql_user : Issue-64560 | Set root password again] *****************
2026-05-05T08:32:17.4256746Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Password updated (new style)", "password_changed": true, "user": "root"}␛[0m
2026-05-05T08:32:17.4257637Z 
2026-05-05T08:32:17.4257958Z TASK [test_mysql_user : Issue-671| test setup | drop database] *****************
2026-05-05T08:32:17.9501474Z ␛[0;32mok: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": false, "db": "foo", "db_list": ["foo"], "executed_commands": [], "item": "foo"}␛[0m
2026-05-05T08:32:17.9503035Z ␛[0;32mok: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": false, "db": "bar", "db_list": ["bar"], "executed_commands": [], "item": "bar"}␛[0m
2026-05-05T08:32:17.9503748Z 
2026-05-05T08:32:17.9504014Z TASK [test_mysql_user : Issue-671| test setup | create database] ***************
2026-05-05T08:32:18.4853643Z ␛[0;33mchanged: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": true, "db": "foo", "db_list": ["foo"], "executed_commands": ["CREATE DATABASE `foo`"], "item": "foo"}␛[0m
2026-05-05T08:32:18.4855703Z ␛[0;33mchanged: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": true, "db": "bar", "db_list": ["bar"], "executed_commands": ["CREATE DATABASE `bar`"], "item": "bar"}␛[0m
2026-05-05T08:32:18.4856702Z 
2026-05-05T08:32:18.7731093Z TASK [test_mysql_user : Issue-671| test setup | get value of GLOBAL.sql_mode] ***
2026-05-05T08:32:18.7733782Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["select @@GLOBAL.sql_mode AS sql_mode"], "execution_time_ms": [0.4142], "query_result": [[{"sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:18.7735563Z 
2026-05-05T08:32:18.7735879Z TASK [test_mysql_user : Issue-671| Assert sql_mode_orig] ***********************
2026-05-05T08:32:18.8450841Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:18.8451350Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:18.8451821Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:18.8452258Z ␛[0;32m}␛[0m
2026-05-05T08:32:18.8452414Z 
2026-05-05T08:32:18.8452722Z TASK [test_mysql_user : Issue-671| enable sql_mode ANSI_QUOTES] ****************
2026-05-05T08:32:19.3503719Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "queries": ["SET PERSIST `sql_mode` = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES"]}␛[0m
2026-05-05T08:32:19.3505127Z 
2026-05-05T08:32:19.3505344Z TASK [test_mysql_user : Issue-671| Copy SQL scripts to remote] *****************
2026-05-05T08:32:20.1897220Z ␛[0;32mok: [testhost] => (item=create-function.sql) => {"ansible_loop_var": "item", "changed": false, "checksum": "6d25c4df5911d6ec312364363a3eef7aa5edd251", "dest": "/tmp/ansible.7ibx0chb.test/create-function.sql", "gid": 0, "group": "root", "item": "create-function.sql", "mode": "0644", "owner": "root", "path": "/tmp/ansible.7ibx0chb.test/create-function.sql", "size": 170, "state": "file", "uid": 0}␛[0m
2026-05-05T08:32:20.1902556Z ␛[0;32mok: [testhost] => (item=create-procedure.sql) => {"ansible_loop_var": "item", "changed": false, "checksum": "564f5067e6780be47486a770a6c930ad8f47c553", "dest": "/tmp/ansible.7ibx0chb.test/create-procedure.sql", "gid": 0, "group": "root", "item": "create-procedure.sql", "mode": "0644", "owner": "root", "path": "/tmp/ansible.7ibx0chb.test/create-procedure.sql", "size": 86, "state": "file", "uid": 0}␛[0m
2026-05-05T08:32:20.1904903Z 
2026-05-05T08:32:20.1905252Z TASK [test_mysql_user : Issue-671| Create function for test] *******************
2026-05-05T08:32:20.4693429Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp < /tmp/ansible.7ibx0chb.test/create-function.sql", "delta": "0:00:00.020713", "end": "2026-05-05 08:32:20.429088", "msg": "", "rc": 0, "start": "2026-05-05 08:32:20.408375", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:20.4695910Z 
2026-05-05T08:32:20.4696213Z TASK [test_mysql_user : Issue-671| Create procedure for test] ******************
2026-05-05T08:32:20.7346026Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp < /tmp/ansible.7ibx0chb.test/create-procedure.sql", "delta": "0:00:00.019898", "end": "2026-05-05 08:32:20.699750", "msg": "", "rc": 0, "start": "2026-05-05 08:32:20.679852", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:20.7348198Z 
2026-05-05T08:32:20.7348713Z TASK [test_mysql_user : Issue-671| Create user with FUNCTION and PROCEDURE privileges] ***
2026-05-05T08:32:21.0553273Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user2"}␛[0m
2026-05-05T08:32:21.0553901Z 
2026-05-05T08:32:21.0554314Z TASK [test_mysql_user : Issue-671| Grant the privileges again, remove ANSI_QUOTES from the session variable] ***
2026-05-05T08:32:21.3755173Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:21.3756014Z 
2026-05-05T08:32:21.3756292Z TASK [test_mysql_user : Issue-671| Test teardown | cleanup databases] **********
2026-05-05T08:32:21.9131158Z ␛[0;33mchanged: [testhost] => (item=foo) => {"ansible_loop_var": "item", "changed": true, "db": "foo", "db_list": ["foo"], "executed_commands": ["DROP DATABASE `foo`"], "item": "foo"}␛[0m
2026-05-05T08:32:21.9132773Z ␛[0;33mchanged: [testhost] => (item=bar) => {"ansible_loop_var": "item", "changed": true, "db": "bar", "db_list": ["bar"], "executed_commands": ["DROP DATABASE `bar`"], "item": "bar"}␛[0m
2026-05-05T08:32:21.9133445Z 
2026-05-05T08:32:21.9133681Z TASK [test_mysql_user : Issue-671| set sql_mode back to original value] ********
2026-05-05T08:32:22.2072854Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=ANSI_QUOTES,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "queries": ["SET PERSIST `sql_mode` = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"]}␛[0m
2026-05-05T08:32:22.2075186Z 
2026-05-05T08:32:22.2075510Z TASK [test_mysql_user : Issue-671| Teardown user_name_2] ***********************
2026-05-05T08:32:22.2840272Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:22.2841538Z 
2026-05-05T08:32:22.2841874Z TASK [test_mysql_user : Utils | Remove user db_user2] **************************
2026-05-05T08:32:22.5859230Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user2"}␛[0m
2026-05-05T08:32:22.5859834Z 
2026-05-05T08:32:22.5860054Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:22.8800968Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/issue-265.yml for testhost␛[0m
2026-05-05T08:32:22.8802028Z 
2026-05-05T08:32:22.8802294Z TASK [test_mysql_user : Issue-265 | Drop mysql user if exists] *****************
2026-05-05T08:32:23.1764374Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:23.1764943Z 
2026-05-05T08:32:23.1765165Z TASK [test_mysql_user : Issue-265 | Create mysql user db_user1] ****************
2026-05-05T08:32:23.4782047Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:32:23.4782609Z 
2026-05-05T08:32:23.4783459Z TASK [test_mysql_user : Issue-265 | Assert user was created] *******************
2026-05-05T08:32:23.5534504Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:23.5534854Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:23.5535171Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:23.5535476Z ␛[0;32m}␛[0m
2026-05-05T08:32:23.5535586Z 
2026-05-05T08:32:23.5535779Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:23.6366515Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:32:23.6369292Z 
2026-05-05T08:32:23.6369698Z TASK [test_mysql_user : Utils | Assert user | Query for user db_user1] *********
2026-05-05T08:32:23.9015648Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='db_user1'"], "delta": "0:00:00.019062", "end": "2026-05-05 08:32:23.866756", "msg": "", "rc": 0, "start": "2026-05-05 08:32:23.847694", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ndb_user1", "stdout_lines": ["user", "db_user1"]}␛[0m
2026-05-05T08:32:23.9018585Z 
2026-05-05T08:32:23.9018914Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:32:23.9747434Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:23.9747954Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:23.9748323Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:23.9748934Z ␛[0;32m}␛[0m
2026-05-05T08:32:23.9749046Z 
2026-05-05T08:32:23.9749310Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user db_user1] ***
2026-05-05T08:32:24.0485449Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "priv is defined", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:24.0486035Z 
2026-05-05T08:32:24.0486281Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:32:24.1220075Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "priv is defined", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:24.1220940Z 
2026-05-05T08:32:24.1221276Z TASK [test_mysql_user : Issue-265 | remove mysql user db_user1] ****************
2026-05-05T08:32:24.4380031Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:24.4380979Z 
2026-05-05T08:32:24.4381338Z TASK [test_mysql_user : Issue-265 | Assert user was removed] *******************
2026-05-05T08:32:24.5144086Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:24.5144602Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:24.5145146Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:24.5145624Z ␛[0;32m}␛[0m
2026-05-05T08:32:24.5145787Z 
2026-05-05T08:32:24.5146159Z TASK [test_mysql_user : Issue-265 | Create blank mysql user to be removed later] ***
2026-05-05T08:32:24.8171336Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": ""}␛[0m
2026-05-05T08:32:24.8172074Z 
2026-05-05T08:32:24.8172475Z TASK [test_mysql_user : Issue-265 | Remove blank mysql user with hosts=all (expect changed)] ***
2026-05-05T08:32:25.1157890Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:32:25.1158855Z 
2026-05-05T08:32:25.1159273Z TASK [test_mysql_user : Issue-265 | Assert changed is true for removing all blank users] ***
2026-05-05T08:32:25.1919087Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:25.1919463Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:25.1920089Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:25.1920522Z ␛[0;32m}␛[0m
2026-05-05T08:32:25.1920634Z 
2026-05-05T08:32:25.1920907Z TASK [test_mysql_user : Issue-265 | Remove blank mysql user with hosts=all (expect ok)] ***
2026-05-05T08:32:25.4864960Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:32:25.4865784Z 
2026-05-05T08:32:25.4866180Z TASK [test_mysql_user : Issue-265 | Assert changed is true for removing all blank users] ***
2026-05-05T08:32:25.5611754Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:25.5612300Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:25.5612802Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:25.5613245Z ␛[0;32m}␛[0m
2026-05-05T08:32:25.5613396Z 
2026-05-05T08:32:25.5613696Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:25.6432348Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:25.6433651Z 
2026-05-05T08:32:25.6433975Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user1] ******
2026-05-05T08:32:25.9018532Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user1'"], "delta": "0:00:00.017266", "end": "2026-05-05 08:32:25.871210", "msg": "", "rc": 0, "start": "2026-05-05 08:32:25.853944", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:25.9020727Z 
2026-05-05T08:32:25.9021012Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:25.9734791Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:25.9735181Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:25.9735494Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:25.9735791Z ␛[0;32m}␛[0m
2026-05-05T08:32:25.9735895Z 
2026-05-05T08:32:25.9736115Z TASK [test_mysql_user : Issue-265 | Drop mysql user if exists] *****************
2026-05-05T08:32:26.2732992Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:26.2733836Z 
2026-05-05T08:32:26.2734186Z TASK [test_mysql_user : Issue-265 | Create mysql user db_user1] ****************
2026-05-05T08:32:26.5880873Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:32:26.5881496Z 
2026-05-05T08:32:26.5881789Z TASK [test_mysql_user : Issue-265 | Assert output message mysql user was created] ***
2026-05-05T08:32:26.6641384Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:26.6641807Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:26.6642136Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:26.6642403Z ␛[0;32m}␛[0m
2026-05-05T08:32:26.6642507Z 
2026-05-05T08:32:26.6642691Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:26.7512150Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user.yml for testhost␛[0m
2026-05-05T08:32:26.7513398Z 
2026-05-05T08:32:26.7513675Z TASK [test_mysql_user : Utils | Assert user | Query for user db_user1] *********
2026-05-05T08:32:27.0190191Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT user FROM mysql.user where user='db_user1'"], "delta": "0:00:00.017311", "end": "2026-05-05 08:32:26.983521", "msg": "", "rc": 0, "start": "2026-05-05 08:32:26.966210", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "user\ndb_user1", "stdout_lines": ["user", "db_user1"]}␛[0m
2026-05-05T08:32:27.0193308Z 
2026-05-05T08:32:27.0193640Z TASK [test_mysql_user : Utils | Assert user | Assert user is present] **********
2026-05-05T08:32:27.0924204Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:27.0924703Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:27.0925252Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:27.0925690Z ␛[0;32m}␛[0m
2026-05-05T08:32:27.0925864Z 
2026-05-05T08:32:27.0926240Z TASK [test_mysql_user : Utils | Assert user | Query for privileges of user db_user1] ***
2026-05-05T08:32:27.1654044Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "priv is defined", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:27.1654631Z 
2026-05-05T08:32:27.1654881Z TASK [test_mysql_user : Utils | Assert user | Assert user has given privileges] ***
2026-05-05T08:32:27.2419079Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "priv is defined", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:27.2419739Z 
2026-05-05T08:32:27.2419991Z TASK [test_mysql_user : Issue-265 | Remove mysql user db_user1] ****************
2026-05-05T08:32:27.5405251Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:27.5405898Z 
2026-05-05T08:32:27.5406172Z TASK [test_mysql_user : Issue-265 | Assert output message mysql user was removed] ***
2026-05-05T08:32:27.6164846Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:27.6165277Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:27.6165637Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:27.6165956Z ␛[0;32m}␛[0m
2026-05-05T08:32:27.6166082Z 
2026-05-05T08:32:27.6166408Z TASK [test_mysql_user : Issue-265 | Create blank mysql user to be removed later] ***
2026-05-05T08:32:27.9244428Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": ""}␛[0m
2026-05-05T08:32:27.9245028Z 
2026-05-05T08:32:27.9245346Z TASK [test_mysql_user : Issue-265 | Remove blank mysql user with hosts=all (expect changed)] ***
2026-05-05T08:32:28.2207753Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:32:28.2208735Z 
2026-05-05T08:32:28.2209158Z TASK [test_mysql_user : Issue-265 | Assert changed is true for removing all blank users] ***
2026-05-05T08:32:28.3108210Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:28.3108950Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:28.3109468Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:28.3109938Z ␛[0;32m}␛[0m
2026-05-05T08:32:28.3110106Z 
2026-05-05T08:32:28.3110560Z TASK [test_mysql_user : Issue-265 | Remove blank mysql user with hosts=all (expect ok)] ***
2026-05-05T08:32:28.6167235Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": ""}␛[0m
2026-05-05T08:32:28.6168161Z 
2026-05-05T08:32:28.6168785Z TASK [test_mysql_user : Issue-265 | Assert changed is true for removing all blank users] ***
2026-05-05T08:32:28.6927441Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:28.6927835Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:28.6928156Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:28.6928682Z ␛[0;32m}␛[0m
2026-05-05T08:32:28.6928788Z 
2026-05-05T08:32:28.6928984Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:28.7820597Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_no_user.yml for testhost␛[0m
2026-05-05T08:32:28.7822206Z 
2026-05-05T08:32:28.7822684Z TASK [test_mysql_user : Utils | Assert no user | Query for user db_user1] ******
2026-05-05T08:32:29.0424370Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SELECT User FROM mysql.user where user='db_user1'"], "delta": "0:00:00.017092", "end": "2026-05-05 08:32:29.007593", "msg": "", "rc": 0, "start": "2026-05-05 08:32:28.990501", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:32:29.0426476Z 
2026-05-05T08:32:29.0426769Z TASK [test_mysql_user : Utils | Assert no user | Assert mysql user is not present] ***
2026-05-05T08:32:29.1142587Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:29.1142938Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:29.1143303Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:29.1143586Z ␛[0;32m}␛[0m
2026-05-05T08:32:29.1143698Z 
2026-05-05T08:32:29.1143885Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:29.4375756Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_user_grants_with_roles_applied.yml for testhost␛[0m
2026-05-05T08:32:29.4377254Z 
2026-05-05T08:32:29.4377597Z TASK [test_mysql_user : User grants with roles applied | Skip unsupported versions] ***
2026-05-05T08:32:29.4378913Z ␛[0;36mskipping: [testhost] => {"msg": "end_play", "skip_reason": "end_play conditional evaluated to False, continuing play"}␛[0m
2026-05-05T08:32:29.4379575Z 
2026-05-05T08:32:29.4379907Z TASK [test_mysql_user : User grants with roles applied | Create test databases] ***
2026-05-05T08:32:29.9559236Z ␛[0;32mok: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": false, "db": "data1", "db_list": ["data1"], "executed_commands": [], "item": "data1"}␛[0m
2026-05-05T08:32:29.9560668Z ␛[0;32mok: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": false, "db": "data2", "db_list": ["data2"], "executed_commands": [], "item": "data2"}␛[0m
2026-05-05T08:32:29.9561334Z 
2026-05-05T08:32:29.9561631Z TASK [test_mysql_user : User grants with roles applied | Create user with privileges] ***
2026-05-05T08:32:30.2855723Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user3"}␛[0m
2026-05-05T08:32:30.2856529Z 
2026-05-05T08:32:30.2857134Z TASK [test_mysql_user : User grants with roles applied | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:32:30.5547191Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user3'@'localhost'"], "delta": "0:00:00.018038", "end": "2026-05-05 08:32:30.516107", "msg": "", "rc": 0, "start": "2026-05-05 08:32:30.498069", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user3@localhost\nGRANT USAGE ON *.* TO `db_user3`@`localhost`\nGRANT SELECT ON `data1`.* TO `db_user3`@`localhost`\nGRANT SELECT ON `data2`.* TO `db_user3`@`localhost`", "stdout_lines": ["Grants for db_user3@localhost", "GRANT USAGE ON *.* TO `db_user3`@`localhost`", "GRANT SELECT ON `data1`.* TO `db_user3`@`localhost`", "GRANT SELECT ON `data2`.* TO `db_user3`@`localhost`"]}␛[0m
2026-05-05T08:32:30.5552141Z 
2026-05-05T08:32:30.5552494Z TASK [test_mysql_user : Assert user has giving privileges] *********************
2026-05-05T08:32:30.6293089Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:30.6293632Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:30.6294517Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:30.6295252Z ␛[0;32m}␛[0m
2026-05-05T08:32:30.6295433Z 
2026-05-05T08:32:30.6295802Z TASK [test_mysql_user : User grants with roles applied | Create role] **********
2026-05-05T08:32:31.1882369Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:32:31.1882748Z 
2026-05-05T08:32:31.1883069Z TASK [test_mysql_user : User grants with roles applied | Try to change privs] ***
2026-05-05T08:32:31.5122032Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['INSERT'], revoked ['SELECT']", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:32:31.5123070Z 
2026-05-05T08:32:31.5123678Z TASK [test_mysql_user : User grants with roles applied | Run command to show privileges for user (expect privileges in stdout)] ***
2026-05-05T08:32:31.7772394Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e", "SHOW GRANTS FOR 'db_user3'@'localhost'"], "delta": "0:00:00.018252", "end": "2026-05-05 08:32:31.740192", "msg": "", "rc": 0, "start": "2026-05-05 08:32:31.721940", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Grants for db_user3@localhost\nGRANT USAGE ON *.* TO `db_user3`@`localhost`\nGRANT INSERT ON `data1`.* TO `db_user3`@`localhost`\nGRANT INSERT ON `data2`.* TO `db_user3`@`localhost`\nGRANT `test231`@`%` TO `db_user3`@`localhost`", "stdout_lines": ["Grants for db_user3@localhost", "GRANT USAGE ON *.* TO `db_user3`@`localhost`", "GRANT INSERT ON `data1`.* TO `db_user3`@`localhost`", "GRANT INSERT ON `data2`.* TO `db_user3`@`localhost`", "GRANT `test231`@`%` TO `db_user3`@`localhost`"]}␛[0m
2026-05-05T08:32:31.7777357Z 
2026-05-05T08:32:31.7777789Z TASK [test_mysql_user : User grants with roles applied | Assert user has giving privileges] ***
2026-05-05T08:32:31.8506759Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:31.8507172Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:31.8507558Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:31.8507914Z ␛[0;32m}␛[0m
2026-05-05T08:32:31.8508039Z 
2026-05-05T08:32:31.8508313Z TASK [test_mysql_user : User grants with roles applied | Drop test databases] ***
2026-05-05T08:32:32.3822897Z ␛[0;33mchanged: [testhost] => (item=data1) => {"ansible_loop_var": "item", "changed": true, "db": "data1", "db_list": ["data1"], "executed_commands": ["DROP DATABASE `data1`"], "item": "data1"}␛[0m
2026-05-05T08:32:32.3824653Z ␛[0;33mchanged: [testhost] => (item=data2) => {"ansible_loop_var": "item", "changed": true, "db": "data2", "db_list": ["data2"], "executed_commands": ["DROP DATABASE `data2`"], "item": "data2"}␛[0m
2026-05-05T08:32:32.3825491Z 
2026-05-05T08:32:32.3825733Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:32.4586587Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:32.4587895Z 
2026-05-05T08:32:32.4588194Z TASK [test_mysql_user : Utils | Remove user db_user3] **************************
2026-05-05T08:32:32.7781929Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user3"}␛[0m
2026-05-05T08:32:32.7782709Z 
2026-05-05T08:32:32.7783009Z TASK [test_mysql_user : User grants with roles applied | Drop test role] *******
2026-05-05T08:32:33.0930981Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:32:33.0931266Z 
2026-05-05T08:32:33.0931462Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:33.3773576Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/test_revoke_only_grant.yml for testhost␛[0m
2026-05-05T08:32:33.3774971Z 
2026-05-05T08:32:33.3775250Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:33.4533220Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:33.4534578Z 
2026-05-05T08:32:33.4534910Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:32:33.7555400Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User doesn't exist", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:33.7556009Z 
2026-05-05T08:32:33.7556255Z TASK [test_mysql_user : Revoke only grants | Create user with two grants] ******
2026-05-05T08:32:34.0787462Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:32:34.0788247Z 
2026-05-05T08:32:34.0788699Z TASK [test_mysql_user : Revoke only grants | Revoke grant priv from db_user1] ***
2026-05-05T08:32:34.4048074Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted [], revoked ['GRANT']", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:34.4049509Z 
2026-05-05T08:32:34.4049928Z TASK [test_mysql_user : Revoke only grants | Assert that db_user1 only have one priv left] ***
2026-05-05T08:32:34.4787820Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:34.4788220Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:34.4788811Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:34.4789167Z ␛[0;32m}␛[0m
2026-05-05T08:32:34.4789293Z 
2026-05-05T08:32:34.4789608Z TASK [test_mysql_user : Revoke only grants | Update db_user1 again to test idempotence] ***
2026-05-05T08:32:34.7914936Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:34.7915786Z 
2026-05-05T08:32:34.7916123Z TASK [test_mysql_user : Revoke only grants | Assert that task is idempotent] ***
2026-05-05T08:32:34.8659167Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:34.8659704Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:34.8660218Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:34.8660655Z ␛[0;32m}␛[0m
2026-05-05T08:32:34.8660825Z 
2026-05-05T08:32:34.8661132Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:34.9417468Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/remove_user.yml for testhost␛[0m
2026-05-05T08:32:34.9418878Z 
2026-05-05T08:32:34.9419166Z TASK [test_mysql_user : Utils | Remove user db_user1] **************************
2026-05-05T08:32:35.2494486Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:35.2495164Z 
2026-05-05T08:32:35.2495453Z TASK [test_mysql_user : Mysql_user Column case sensitive | Create a test table] ***
2026-05-05T08:32:35.5581776Z ␛[0;33mchanged: [testhost] => {"changed": true, "executed_queries": ["CREATE DATABASE mysql_user_column_case", "CREATE TABLE mysql_user_column_case.t1 (a int, B int, cC int, Dd int)", "INSERT INTO mysql_user_column_case.t1 (a, B, cC, Dd) VALUES (1,2,3,4)"], "execution_time_ms": [10.6518, 5.743, 1.265], "query_result": [[], [], []], "rowcount": [1, 0, 1]}␛[0m
2026-05-05T08:32:35.5583637Z 
2026-05-05T08:32:35.5583978Z TASK [test_mysql_user : Mysql_user Column case sensitive | Create test user] ***
2026-05-05T08:32:35.8672532Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "column_case_sensitive"}␛[0m
2026-05-05T08:32:35.8673233Z 
2026-05-05T08:32:35.8674092Z TASK [test_mysql_user : Mysql_user Column case sensitive | Assert user privileges are all caps] ***
2026-05-05T08:32:36.1638772Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR column_case_sensitive@'%'"], "execution_time_ms": [0.4089], "failed_when_result": false, "query_result": [[{"Grants for column_case_sensitive@%": "GRANT USAGE ON *.* TO `column_case_sensitive`@`%`"}, {"Grants for column_case_sensitive@%": "GRANT SELECT (`A`, `B`, `CC`, `DD`) ON `mysql_user_column_case`.`t1` TO `column_case_sensitive`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:32:36.1640576Z 
2026-05-05T08:32:36.1640958Z TASK [test_mysql_user : Mysql_user Column case sensitive | Assert 1 column is accessible on MySQL 5.7] ***
2026-05-05T08:32:36.2322072Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "db_engine == 'mysql' and db_version is version('5.7', '<=')", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:32:36.2323138Z 
2026-05-05T08:32:36.2323768Z TASK [test_mysql_user : Mysql_user Column case sensitive | Assert 4 column are accessible on MariaDB and MySQL 8+] ***
2026-05-05T08:32:36.5399424Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["DESC mysql_user_column_case.t1"], "execution_time_ms": [1.378], "failed_when_result": false, "query_result": [[{"Default": null, "Extra": "", "Field": "a", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "B", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "cC", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "Dd", "Key": "", "Null": "YES", "Type": "int"}]], "rowcount": [4]}␛[0m
2026-05-05T08:32:36.5402047Z 
2026-05-05T08:32:36.5402501Z TASK [test_mysql_user : Mysql_user Column case sensitive | Create users with case sensitive] ***
2026-05-05T08:32:36.8615072Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['SELECT(a, B, cC, Dd)'], revoked ['SELECT (A, B, CC, DD)']", "password_changed": false, "user": "column_case_sensitive"}␛[0m
2026-05-05T08:32:36.8616259Z 
2026-05-05T08:32:36.8616698Z TASK [test_mysql_user : Mysql_user Column case sensitive | Assert user privileges are case sensitive] ***
2026-05-05T08:32:37.1590925Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR column_case_sensitive@'%'"], "execution_time_ms": [0.3654], "failed_when_result": false, "query_result": [[{"Grants for column_case_sensitive@%": "GRANT USAGE ON *.* TO `column_case_sensitive`@`%`"}, {"Grants for column_case_sensitive@%": "GRANT SELECT (`B`, `Dd`, `a`, `cC`) ON `mysql_user_column_case`.`t1` TO `column_case_sensitive`@`%`"}]], "rowcount": [2]}␛[0m
2026-05-05T08:32:37.1593336Z 
2026-05-05T08:32:37.1593791Z TASK [test_mysql_user : Mysql_user Column case sensitive | Assert 4 columns are accessible] ***
2026-05-05T08:32:37.5896694Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["DESC mysql_user_column_case.t1"], "execution_time_ms": [1.4149], "failed_when_result": false, "query_result": [[{"Default": null, "Extra": "", "Field": "a", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "B", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "cC", "Key": "", "Null": "YES", "Type": "int"}, {"Default": null, "Extra": "", "Field": "Dd", "Key": "", "Null": "YES", "Type": "int"}]], "rowcount": [4]}␛[0m
2026-05-05T08:32:37.5898221Z 
2026-05-05T08:32:37.5898580Z TASK [test_mysql_user : Mysql_user Column case sensitive | Delete test users] ***
2026-05-05T08:32:37.8970097Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "column_case_sensitive"}␛[0m
2026-05-05T08:32:37.8970871Z 
2026-05-05T08:32:37.8971170Z TASK [test_mysql_user : Mysql_user Column case sensitive | Delete test database] ***
2026-05-05T08:32:38.4348170Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "mysql_user_column_case", "db_list": ["mysql_user_column_case"], "executed_commands": ["DROP DATABASE `mysql_user_column_case`"]}␛[0m
2026-05-05T08:32:38.4349625Z 
2026-05-05T08:32:38.4349914Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:38.5564665Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test1', 'update_password': 'always', 'expect_change': True})␛[0m
2026-05-05T08:32:38.5569276Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test2', 'update_password': 'on_create', 'expect_change': True})␛[0m
2026-05-05T08:32:38.5573050Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'on_new_username', 'expect_change': True})␛[0m
2026-05-05T08:32:38.5576124Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test1', 'update_password': 'always', 'expect_change': False})␛[0m
2026-05-05T08:32:38.5578631Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test2', 'update_password': 'on_create', 'expect_change': False})␛[0m
2026-05-05T08:32:38.5580980Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'on_new_username', 'expect_change': False})␛[0m
2026-05-05T08:32:38.5582117Z 
2026-05-05T08:32:38.5582375Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test1] ***
2026-05-05T08:32:38.8773889Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test1"}␛[0m
2026-05-05T08:32:38.8774626Z 
2026-05-05T08:32:38.8774950Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:38.9742613Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:38.9743022Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:38.9743408Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:38.9743770Z ␛[0;32m}␛[0m
2026-05-05T08:32:38.9743894Z 
2026-05-05T08:32:38.9744295Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test1] ***
2026-05-05T08:32:39.2409588Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test1' and host='%'"], "delta": "0:00:00.017863", "end": "2026-05-05 08:32:39.202727", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:39.184864", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:39.2413238Z 
2026-05-05T08:32:39.2413624Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test2] ***
2026-05-05T08:32:39.5666659Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test2"}␛[0m
2026-05-05T08:32:39.5667475Z 
2026-05-05T08:32:39.5667763Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:39.6635810Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:39.6636198Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:39.6636585Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:39.6636934Z ␛[0;32m}␛[0m
2026-05-05T08:32:39.6637064Z 
2026-05-05T08:32:39.6637463Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test2] ***
2026-05-05T08:32:39.9298247Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test2' and host='%'"], "delta": "0:00:00.017371", "end": "2026-05-05 08:32:39.892664", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:39.875293", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:39.9302385Z 
2026-05-05T08:32:39.9302771Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:40.2492843Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test3"}␛[0m
2026-05-05T08:32:40.2493673Z 
2026-05-05T08:32:40.2494085Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:40.3570401Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:40.3570909Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:40.3571393Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:40.3571874Z ␛[0;32m}␛[0m
2026-05-05T08:32:40.3572030Z 
2026-05-05T08:32:40.3572644Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:40.6250222Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='%'"], "delta": "0:00:00.017445", "end": "2026-05-05 08:32:40.583700", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:40.566255", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:40.6253861Z 
2026-05-05T08:32:40.6254250Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test1] ***
2026-05-05T08:32:40.9479623Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test1"}␛[0m
2026-05-05T08:32:40.9480370Z 
2026-05-05T08:32:40.9480691Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:41.0427192Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:41.0427636Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:41.0428025Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:41.0428567Z ␛[0;32m}␛[0m
2026-05-05T08:32:41.0428709Z 
2026-05-05T08:32:41.0429108Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test1] ***
2026-05-05T08:32:41.3054632Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test1' and host='%'"], "delta": "0:00:00.017156", "end": "2026-05-05 08:32:41.268185", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:41.251029", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:41.3058843Z 
2026-05-05T08:32:41.3059241Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test2] ***
2026-05-05T08:32:41.6216176Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test2"}␛[0m
2026-05-05T08:32:41.6216984Z 
2026-05-05T08:32:41.6217329Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:41.7158721Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:41.7159287Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:41.7159765Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:41.7160189Z ␛[0;32m}␛[0m
2026-05-05T08:32:41.7160345Z 
2026-05-05T08:32:41.7160823Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test2] ***
2026-05-05T08:32:41.9853713Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test2' and host='%'"], "delta": "0:00:00.017062", "end": "2026-05-05 08:32:41.944304", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:41.927242", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:41.9857571Z 
2026-05-05T08:32:41.9857970Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:42.3038609Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test3"}␛[0m
2026-05-05T08:32:42.3039449Z 
2026-05-05T08:32:42.3039823Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:42.4003461Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:42.4003873Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:42.4004272Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:42.4004631Z ␛[0;32m}␛[0m
2026-05-05T08:32:42.4004764Z 
2026-05-05T08:32:42.4005154Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:42.6654338Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='%'"], "delta": "0:00:00.017209", "end": "2026-05-05 08:32:42.625994", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:42.608785", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:42.6657302Z 
2026-05-05T08:32:42.6657545Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:42.7769143Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test1', 'update_password': 'always', 'expect_change': True, 'expect_password_hash': '*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A'})␛[0m
2026-05-05T08:32:42.7773683Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test2', 'update_password': 'on_create', 'expect_change': False, 'expect_password_hash': '*AF6A7F9D038475C17EE46564F154104877EE5037'})␛[0m
2026-05-05T08:32:42.7777948Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'on_new_username', 'expect_change': False, 'expect_password_hash': '*AF6A7F9D038475C17EE46564F154104877EE5037'})␛[0m
2026-05-05T08:32:42.7780067Z 
2026-05-05T08:32:42.7780437Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test1] ***
2026-05-05T08:32:43.1007413Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Password updated (new style)", "password_changed": true, "user": "test1"}␛[0m
2026-05-05T08:32:43.1008262Z 
2026-05-05T08:32:43.1008828Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:43.1975416Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:43.1975835Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:43.1976228Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:43.1976584Z ␛[0;32m}␛[0m
2026-05-05T08:32:43.1976711Z 
2026-05-05T08:32:43.1977099Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test1] ***
2026-05-05T08:32:43.4635785Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test1' and host='%'"], "delta": "0:00:00.017383", "end": "2026-05-05 08:32:43.425514", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:43.408131", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "stdout_lines": ["mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A"]}␛[0m
2026-05-05T08:32:43.4639507Z 
2026-05-05T08:32:43.4639868Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test2] ***
2026-05-05T08:32:43.7815746Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test2"}␛[0m
2026-05-05T08:32:43.7816508Z 
2026-05-05T08:32:43.7816801Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:43.8750493Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:43.8750867Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:43.8751208Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:43.8751519Z ␛[0;32m}␛[0m
2026-05-05T08:32:43.8751630Z 
2026-05-05T08:32:43.8751982Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test2] ***
2026-05-05T08:32:44.1394381Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test2' and host='%'"], "delta": "0:00:00.017362", "end": "2026-05-05 08:32:44.099910", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:44.082548", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:44.1398030Z 
2026-05-05T08:32:44.1398526Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:44.4520921Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "test3"}␛[0m
2026-05-05T08:32:44.4521549Z 
2026-05-05T08:32:44.4521812Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:44.5480584Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:44.5480938Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:44.5481287Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:44.5481604Z ␛[0;32m}␛[0m
2026-05-05T08:32:44.5481749Z 
2026-05-05T08:32:44.5482097Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:44.8082147Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='%'"], "delta": "0:00:00.017078", "end": "2026-05-05 08:32:44.771077", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:44.753999", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:44.8086036Z 
2026-05-05T08:32:44.8086343Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:44.9281207Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test1', 'update_password': 'always', 'expect_change': True, 'expect_password_change': True, 'password': 'kbB9tcx5WOGVGfzV', 'expect_password_hash': '*AF6A7F9D038475C17EE46564F154104877EE5037'})␛[0m
2026-05-05T08:32:44.9285600Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test2', 'update_password': 'on_create', 'expect_change': True, 'expect_password_change': True, 'password': 'XBYjpHmjIctMxl1y', 'expect_password_hash': '*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A'})␛[0m
2026-05-05T08:32:44.9290071Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'on_new_username', 'expect_change': True, 'expect_password_change': False, 'password': 'XBYjpHmjIctMxl1y', 'expect_password_hash': '*AF6A7F9D038475C17EE46564F154104877EE5037'})␛[0m
2026-05-05T08:32:44.9294425Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'always', 'expect_change': True, 'expect_password_change': True, 'password': 'XBYjpHmjIctMxl1y', 'expect_password_hash': '*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A'})␛[0m
2026-05-05T08:32:44.9296498Z 
2026-05-05T08:32:44.9296762Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test1] ***
2026-05-05T08:32:45.2423245Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test1"}␛[0m
2026-05-05T08:32:45.2423866Z 
2026-05-05T08:32:45.2424131Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:45.3429013Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:45.3429508Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:45.3430022Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:45.3430465Z ␛[0;32m}␛[0m
2026-05-05T08:32:45.3430626Z 
2026-05-05T08:32:45.3431108Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test1] ***
2026-05-05T08:32:45.6067080Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test1' and host='::1'"], "delta": "0:00:00.017299", "end": "2026-05-05 08:32:45.570599", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:45.553300", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:45.6070512Z 
2026-05-05T08:32:45.6070847Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test2] ***
2026-05-05T08:32:45.9215127Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test2"}␛[0m
2026-05-05T08:32:45.9215949Z 
2026-05-05T08:32:45.9216318Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:46.0149331Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:46.0149776Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:46.0150171Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:46.0150530Z ␛[0;32m}␛[0m
2026-05-05T08:32:46.0150658Z 
2026-05-05T08:32:46.0151056Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test2] ***
2026-05-05T08:32:46.2843425Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test2' and host='::1'"], "delta": "0:00:00.017554", "end": "2026-05-05 08:32:46.243418", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:46.225864", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "stdout_lines": ["mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A"]}␛[0m
2026-05-05T08:32:46.2846956Z 
2026-05-05T08:32:46.2847320Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:46.5975626Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": false, "user": "test3"}␛[0m
2026-05-05T08:32:46.5976639Z 
2026-05-05T08:32:46.5977079Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:46.6964237Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:46.6964786Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:46.6965307Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:46.6965809Z ␛[0;32m}␛[0m
2026-05-05T08:32:46.6965992Z 
2026-05-05T08:32:46.6966539Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:46.9592075Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='::1'"], "delta": "0:00:00.017341", "end": "2026-05-05 08:32:46.922092", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:46.904751", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037", "stdout_lines": ["mysql_native_password\t*AF6A7F9D038475C17EE46564F154104877EE5037"]}␛[0m
2026-05-05T08:32:46.9596062Z 
2026-05-05T08:32:46.9596473Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:47.2839375Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Password updated (new style)", "password_changed": true, "user": "test3"}␛[0m
2026-05-05T08:32:47.2840785Z 
2026-05-05T08:32:47.2841296Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:47.3803056Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:47.3803614Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:47.3804149Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:47.3804640Z ␛[0;32m}␛[0m
2026-05-05T08:32:47.3804824Z 
2026-05-05T08:32:47.3805360Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:47.6413403Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='::1'"], "delta": "0:00:00.017316", "end": "2026-05-05 08:32:47.605661", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:47.588345", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "stdout_lines": ["mysql_native_password\t*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A"]}␛[0m
2026-05-05T08:32:47.6417311Z 
2026-05-05T08:32:47.6417625Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:47.7598642Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test1', 'update_password': 'always'})␛[0m
2026-05-05T08:32:47.7602329Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test2', 'update_password': 'on_create'})␛[0m
2026-05-05T08:32:47.7605543Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/utils/assert_user_password.yml for testhost => (item={'username': 'test3', 'update_password': 'on_new_username'})␛[0m
2026-05-05T08:32:47.7607085Z 
2026-05-05T08:32:47.7607435Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test1] ***
2026-05-05T08:32:48.0748019Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test1"}␛[0m
2026-05-05T08:32:48.0749244Z 
2026-05-05T08:32:48.0749686Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:48.1711931Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:48.1712473Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:48.1713010Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:48.1713495Z ␛[0;32m}␛[0m
2026-05-05T08:32:48.1714074Z 
2026-05-05T08:32:48.1714827Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test1] ***
2026-05-05T08:32:48.4483315Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test1' and host='2001:db8::1'"], "delta": "0:00:00.020396", "end": "2026-05-05 08:32:48.406364", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:48.385968", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "stdout_lines": ["mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7"]}␛[0m
2026-05-05T08:32:48.4486934Z 
2026-05-05T08:32:48.4487331Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test2] ***
2026-05-05T08:32:48.7630215Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test2"}␛[0m
2026-05-05T08:32:48.7630833Z 
2026-05-05T08:32:48.7631107Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:48.8598691Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:48.8599753Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:48.8600230Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:48.8600594Z ␛[0;32m}␛[0m
2026-05-05T08:32:48.8600724Z 
2026-05-05T08:32:48.8601121Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test2] ***
2026-05-05T08:32:49.1329249Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test2' and host='2001:db8::1'"], "delta": "0:00:00.017896", "end": "2026-05-05 08:32:49.085129", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:49.067233", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "stdout_lines": ["mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7"]}␛[0m
2026-05-05T08:32:49.1332803Z 
2026-05-05T08:32:49.1333173Z TASK [test_mysql_user : Utils | Assert user password | Apply update_password to test3] ***
2026-05-05T08:32:49.4468690Z ␛[1;35m[WARNING]: An account with the username test3 has a different password than the␛[0m
2026-05-05T08:32:49.4470467Z ␛[1;35mothers existing accounts. Thus on_new_username can't decide which password to␛[0m
2026-05-05T08:32:49.4471567Z ␛[1;35mreuse so it will use your provided password instead. If no password is␛[0m
2026-05-05T08:32:49.4472520Z ␛[1;35mprovided, the account will have an empty password!␛[0m
2026-05-05T08:32:49.4559874Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test3"}␛[0m
2026-05-05T08:32:49.4561631Z 
2026-05-05T08:32:49.4561992Z TASK [test_mysql_user : Utils | Assert user password | Assert a change occurred] ***
2026-05-05T08:32:49.5619569Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:32:49.5620045Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:32:49.5620505Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:32:49.5620932Z ␛[0;32m}␛[0m
2026-05-05T08:32:49.5621084Z 
2026-05-05T08:32:49.5621553Z TASK [test_mysql_user : Utils | Assert user password | Assert expect_hash is in user stdout for test3] ***
2026-05-05T08:32:49.8303675Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT plugin, authentication_string FROM mysql.user where user='test3' and host='2001:db8::1'"], "delta": "0:00:00.017185", "end": "2026-05-05 08:32:49.791561", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:49.774376", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "stdout_lines": ["mysql_native_password\t*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7"]}␛[0m
2026-05-05T08:32:49.8307553Z 
2026-05-05T08:32:49.8308008Z TASK [test_mysql_user : update_password | Create account with on_new_username while omit password] ***
2026-05-05T08:32:50.1455386Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "test3"}␛[0m
2026-05-05T08:32:50.1456170Z 
2026-05-05T08:32:50.1456757Z TASK [test_mysql_user : update_password | Assert create account with on_new_username while omit password produce empty auth string] ***
2026-05-05T08:32:50.4167984Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-BNe", "SELECT user, host, plugin, authentication_string FROM mysql.user where user='test3' and host='10.10.10.10'"], "delta": "0:00:00.021207", "end": "2026-05-05 08:32:50.379685", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:32:50.358478", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "test3\t10.10.10.10\tcaching_sha2_password\t", "stdout_lines": ["test3\t10.10.10.10\tcaching_sha2_password\t"]}␛[0m
2026-05-05T08:32:50.4171277Z 
2026-05-05T08:32:50.4171559Z TASK [test_mysql_user : Mysql_user Lock user | Create a test database] *********
2026-05-05T08:32:50.7093799Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "mysql_lock_user_test", "db_list": ["mysql_lock_user_test"], "executed_commands": ["CREATE DATABASE `mysql_lock_user_test`"]}␛[0m
2026-05-05T08:32:50.7094669Z 
2026-05-05T08:32:50.7094959Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Create test user] ***
2026-05-05T08:32:51.0191965Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:51.0192634Z 
2026-05-05T08:32:51.0192961Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Assert that test user is locked] ***
2026-05-05T08:32:51.3023684Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.441], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:51.3026357Z 
2026-05-05T08:32:51.3026654Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Idempotence check] ***
2026-05-05T08:32:51.6132772Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:51.6133800Z 
2026-05-05T08:32:51.6134333Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Check that absense of locked does not unlock the user] ***
2026-05-05T08:32:51.9237830Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:51.9239081Z 
2026-05-05T08:32:51.9239792Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Unlock test user check_mode: true] ***
2026-05-05T08:32:52.2330973Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User will be unlocked", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:52.2331685Z 
2026-05-05T08:32:52.2332018Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Assert that test user is locked] ***
2026-05-05T08:32:52.5224317Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4287], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:52.5227700Z 
2026-05-05T08:32:52.5228104Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Unlock test user] ***
2026-05-05T08:32:52.8300080Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User unlocked", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:52.8300884Z 
2026-05-05T08:32:52.8301297Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Assert that test user is not locked] ***
2026-05-05T08:32:53.1145849Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4507], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:53.1148260Z 
2026-05-05T08:32:53.1148735Z TASK [test_mysql_user : Mysql_user Lock user | create locked | Remove test user] ***
2026-05-05T08:32:53.4099272Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:53.4099995Z 
2026-05-05T08:32:53.4100285Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Create test user] ***
2026-05-05T08:32:53.7311338Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:53.7312171Z 
2026-05-05T08:32:53.7312621Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Assert that test user is not locked] ***
2026-05-05T08:32:54.0217738Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4425], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:54.0220349Z 
2026-05-05T08:32:54.0220643Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Idempotence check] ***
2026-05-05T08:32:54.3345475Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "failed_when_result": false, "msg": "User unchanged", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:54.3346333Z 
2026-05-05T08:32:54.3346691Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Lock test user check_mode: true] ***
2026-05-05T08:32:54.6402900Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User will be locked", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:54.6404363Z 
2026-05-05T08:32:54.6404928Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Assert that test user is not locked] ***
2026-05-05T08:32:54.9245204Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4173], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:54.9248341Z 
2026-05-05T08:32:54.9248966Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Lock test user] ***
2026-05-05T08:32:55.2336881Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User locked", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:55.2337523Z 
2026-05-05T08:32:55.2337837Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Assert that test user is locked] ***
2026-05-05T08:32:55.5179692Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4599], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT LOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:55.5182091Z 
2026-05-05T08:32:55.5182374Z TASK [test_mysql_user : Mysql_user Lock user | create unlocked | Remove test user] ***
2026-05-05T08:32:55.8187367Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:55.8188161Z 
2026-05-05T08:32:55.8188692Z TASK [test_mysql_user : Mysql_user Lock user | create default | Create test user] ***
2026-05-05T08:32:56.1270014Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:56.1270917Z 
2026-05-05T08:32:56.1271381Z TASK [test_mysql_user : Mysql_user Lock user | create default | Assert that test user is not locked] ***
2026-05-05T08:32:56.4167151Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW CREATE USER 'mysql_locked_user'@'localhost'"], "execution_time_ms": [0.4331], "failed_when_result": false, "query_result": [[{"CREATE USER for mysql_locked_user@localhost": "CREATE USER `mysql_locked_user`@`localhost` IDENTIFIED WITH 'mysql_native_password' AS '*6C387FC3893DBA1E3BA155E74754DA6682D04747' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT"}]], "rowcount": [1]}␛[0m
2026-05-05T08:32:56.4170274Z 
2026-05-05T08:32:56.4170596Z TASK [test_mysql_user : Mysql_user Lock user | create default | Remove test user] ***
2026-05-05T08:32:56.7170782Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "mysql_locked_user"}␛[0m
2026-05-05T08:32:56.7171662Z 
2026-05-05T08:32:56.7172009Z TASK [test_mysql_user : Mysql_user Lock user | Delete test database] ***********
2026-05-05T08:32:57.0115246Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "mysql_lock_user_test", "db_list": ["mysql_lock_user_test"], "executed_commands": ["DROP DATABASE `mysql_lock_user_test`"]}␛[0m
2026-05-05T08:32:57.0116319Z 
2026-05-05T08:32:57.0116637Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:57.2951694Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/issue-710.yml for testhost␛[0m
2026-05-05T08:32:57.2953027Z 
2026-05-05T08:32:57.2953324Z TASK [test_mysql_user : Issue-710 | Create user with DEFAULT privileges] *******
2026-05-05T08:32:57.6002488Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User added", "password_changed": true, "user": "db_user1"}␛[0m
2026-05-05T08:32:57.6003188Z 
2026-05-05T08:32:57.6003474Z TASK [test_mysql_user : Issue-710 | Create role to use as default] *************
2026-05-05T08:32:57.9164167Z ␛[0;33mchanged: [testhost] => {"changed": true}␛[0m
2026-05-05T08:32:57.9164494Z 
2026-05-05T08:32:57.9164765Z TASK [test_mysql_user : Issue-710 | Set default role for db_user1] *************
2026-05-05T08:32:58.2165999Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SET DEFAULT ROLE developers TO db_user1@localhost"], "execution_time_ms": [0.8699], "query_result": [[]], "rowcount": [0]}␛[0m
2026-05-05T08:32:58.2167170Z 
2026-05-05T08:32:58.2167513Z TASK [test_mysql_user : Issue-710 | Ensure db_user1 can still be altered] ******
2026-05-05T08:32:58.5371264Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['ALL'], revoked []", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:58.5372245Z 
2026-05-05T08:32:58.5372569Z TASK [test_mysql_user : Issue-710 | Ensure mysql_info can still be executed] ***
2026-05-05T08:32:58.9114957Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "users_info": [{"host": "%", "name": "developers", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "%", "name": "role1", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:USAGE"}, {"host": "%", "name": "root", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "%", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "%", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "%", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "%", "name": "test_user_plugin_auth", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "priv": "*.*:SELECT"}, {"host": "%", "name": "user0", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "%", "name": "user1", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "%", "name": "user2", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "10.10.10.10", "name": "test3", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:USAGE"}, {"host": "172.18.0.1", "name": "replication_user", "plugin": "mysql_native_password", "plugin_hash_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "priv": "*.*:REPLICATION SLAVE"}, {"host": "2001:db8::1", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "2001:db8::1", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "2001:db8::1", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "localhost", "name": "db_user1", "plugin": "mysql_native_password", "plugin_hash_string": "*3C991CFA432A1347EB705C7A9F99A28B0967072A", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "user_issue_465", "plugin": "mysql_native_password", "plugin_hash_string": "*3B4A3CC0F31028170898EAF1BA106FBE9A1B3D96", "priv": "*.*:USAGE"}, {"host": "users_info.com", "name": "users_info_caching_sha2", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "users_info.com", "name": "users_info_sha256", "plugin": "sha256_password", "plugin_hash_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}]}␛[0m
2026-05-05T08:32:58.9156352Z 
2026-05-05T08:32:58.9156558Z TASK [test_mysql_user : include_tasks] *****************************************
2026-05-05T08:32:59.2102419Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_user/tasks/issue-744.yml for testhost␛[0m
2026-05-05T08:32:59.2103700Z 
2026-05-05T08:32:59.2103988Z TASK [test_mysql_user : Issue-744 | Create test database] **********************
2026-05-05T08:32:59.5049541Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "issue744_testdb", "db_list": ["issue744_testdb"], "executed_commands": ["CREATE DATABASE `issue744_testdb`"]}␛[0m
2026-05-05T08:32:59.5050477Z 
2026-05-05T08:32:59.5050807Z TASK [test_mysql_user : Issue-744 | Create user with USAGE privileges only] ****
2026-05-05T08:32:59.8340227Z ␛[0;32mok: [testhost] => {"attributes": null, "changed": false, "msg": "User unchanged", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:32:59.8340884Z 
2026-05-05T08:32:59.8341185Z TASK [test_mysql_user : Issue-744 | Grant USAGE with GRANT OPTION on specific database] ***
2026-05-05T08:33:00.1536837Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['USAGE'], revoked ['TRANSACTION_GTID_TAG', 'INNODB_REDO_LOG_ENABLE', 'OPTIMIZE_LOCAL_TABLE', 'SERVICE_CONNECTION_ADMIN', 'FILE', 'DROP ROLE', 'CREATE TEMPORARY TABLES', 'SHOW VIEW', 'LOCK TABLES', 'SYSTEM_VARIABLES_ADMIN', 'FLUSH_STATUS', 'PASSWORDLESS_USER_ADMIN', 'ENCRYPTION_KEY_ADMIN', 'SELECT', 'SESSION_VARIABLES_ADMIN', 'GROUP_REPLICATION_ADMIN', 'INDEX', 'RESOURCE_GROUP_ADMIN', 'CREATE ROUTINE', 'UPDATE', 'REPLICATION_APPLIER', 'SHOW_ROUTINE', 'TELEMETRY_LOG_ADMIN', 'RESOURCE_GROUP_USER', 'SYSTEM_USER', 'GROUP_REPLICATION_STREAM', 'AUTHENTICATION_POLICY_ADMIN', 'BACKUP_ADMIN', 'SUPER', 'EVENT', 'CREATE USER', 'RELOAD', 'INSERT', 'AUDIT_ADMIN', 'APPLICATION_PASSWORD_ADMIN', 'CREATE TABLESPACE', 'PROCESS', 'ALTER ROUTINE', 'BINLOG_ENCRYPTION_ADMIN', 'SET_ANY_DEFINER', 'EXECUTE', 'PERSIST_RO_VARIABLES_ADMIN', 'DELETE', 'ALLOW_NONEXISTENT_DEFINER', 'AUDIT_ABORT_EXEMPT', 'CREATE', 'ALTER', 'CREATE ROLE', 'XA_RECOVER_ADMIN', 'FLUSH_TABLES', 'TABLE_ENCRYPTION_ADMIN', 'FIREWALL_EXEMPT', 'SENSITIVE_VARIABLES_OBSERVER', 'FLUSH_PRIVILEGES', 'REPLICATION CLIENT', 'SHUTDOWN', 'CREATE VIEW', 'FLUSH_USER_RESOURCES', 'DROP', 'TRIGGER', 'CLONE_ADMIN', 'CONNECTION_ADMIN', 'FLUSH_OPTIMIZER_COSTS', 'INNODB_REDO_LOG_ARCHIVE', 'REFERENCES', 'BINLOG_ADMIN', 'REPLICATION SLAVE', 'REPLICATION_SLAVE_ADMIN', 'ROLE_ADMIN', 'SHOW DATABASES']", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:33:00.1545401Z 
2026-05-05T08:33:00.1545780Z TASK [test_mysql_user : Issue-744 | Show grants to verify USAGE with GRANT OPTION] ***
2026-05-05T08:33:00.4445457Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR 'db_user1'@'localhost'"], "execution_time_ms": [0.3923], "query_result": [[{"Grants for db_user1@localhost": "GRANT USAGE ON *.* TO `db_user1`@`localhost`"}, {"Grants for db_user1@localhost": "GRANT USAGE ON `issue744_testdb`.* TO `db_user1`@`localhost` WITH GRANT OPTION"}, {"Grants for db_user1@localhost": "GRANT `developers`@`%` TO `db_user1`@`localhost`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:33:00.4448224Z 
2026-05-05T08:33:00.4448799Z TASK [test_mysql_user : Issue-744 | Verify user has USAGE with GRANT OPTION] ***
2026-05-05T08:33:00.5362466Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:00.5362871Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:00.5363249Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:00.5363599Z ␛[0;32m}␛[0m
2026-05-05T08:33:00.5363722Z 
2026-05-05T08:33:00.5364103Z TASK [test_mysql_user : Issue-744 | Modify user permissions (this should now succeed with the fix)] ***
2026-05-05T08:33:00.8522081Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "Privileges updated: granted ['SELECT'], revoked ['USAGE', 'GRANT']", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:33:00.8523205Z 
2026-05-05T08:33:00.8523567Z TASK [test_mysql_user : Issue-744 | Debug modification result] *****************
2026-05-05T08:33:00.9229577Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:00.9230181Z ␛[0;32m    "modify_perms_result": {␛[0m
2026-05-05T08:33:00.9230675Z ␛[0;32m        "attributes": null,␛[0m
2026-05-05T08:33:00.9231131Z ␛[0;32m        "changed": true,␛[0m
2026-05-05T08:33:00.9231558Z ␛[0;32m        "failed": false,␛[0m
2026-05-05T08:33:00.9232324Z ␛[0;32m        "msg": "Privileges updated: granted ['SELECT'], revoked ['USAGE', 'GRANT']",␛[0m
2026-05-05T08:33:00.9233097Z ␛[0;32m        "password_changed": false,␛[0m
2026-05-05T08:33:00.9233649Z ␛[0;32m        "user": "db_user1"␛[0m
2026-05-05T08:33:00.9234066Z ␛[0;32m    }␛[0m
2026-05-05T08:33:00.9234370Z ␛[0;32m}␛[0m
2026-05-05T08:33:00.9234535Z 
2026-05-05T08:33:00.9234874Z TASK [test_mysql_user : Issue-744 | Verify that modification succeeded] ********
2026-05-05T08:33:00.9953246Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:00.9953789Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:00.9954294Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:00.9954776Z ␛[0;32m}␛[0m
2026-05-05T08:33:00.9954934Z 
2026-05-05T08:33:00.9955329Z TASK [test_mysql_user : Issue-744 | Show final grants to verify SELECT privilege] ***
2026-05-05T08:33:01.2843359Z ␛[0;32mok: [testhost] => {"changed": false, "executed_queries": ["SHOW GRANTS FOR 'db_user1'@'localhost'"], "execution_time_ms": [0.3834], "query_result": [[{"Grants for db_user1@localhost": "GRANT USAGE ON *.* TO `db_user1`@`localhost`"}, {"Grants for db_user1@localhost": "GRANT SELECT ON `issue744_testdb`.* TO `db_user1`@`localhost`"}, {"Grants for db_user1@localhost": "GRANT `developers`@`%` TO `db_user1`@`localhost`"}]], "rowcount": [3]}␛[0m
2026-05-05T08:33:01.2845785Z 
2026-05-05T08:33:01.2846131Z TASK [test_mysql_user : Issue-744 | Verify user now has SELECT privilege] ******
2026-05-05T08:33:01.3786079Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:01.3786539Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:01.3787011Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:01.3787429Z ␛[0;32m}␛[0m
2026-05-05T08:33:01.3787610Z 
2026-05-05T08:33:01.3787929Z TASK [test_mysql_user : Issue-744 | Cleanup - Remove test user] ****************
2026-05-05T08:33:01.6732165Z ␛[0;33mchanged: [testhost] => {"attributes": null, "changed": true, "msg": "User deleted", "password_changed": false, "user": "db_user1"}␛[0m
2026-05-05T08:33:01.6732853Z 
2026-05-05T08:33:01.6733126Z TASK [test_mysql_user : Issue-744 | Cleanup - Remove test database] ************
2026-05-05T08:33:01.9788877Z ␛[0;33mchanged: [testhost] => {"changed": true, "db": "issue744_testdb", "db_list": ["issue744_testdb"], "executed_commands": ["DROP DATABASE `issue744_testdb`"]}␛[0m
2026-05-05T08:33:01.9789816Z 
2026-05-05T08:33:01.9790157Z RUNNING HANDLER [setup_remote_tmp_dir : delete temporary directory] ************
2026-05-05T08:33:02.0517543Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_user-g3bdb8ll-ÅÑŚÌβŁÈ/tests/integration/targets/setup_remote_tmp_dir/tasks/default-cleanup.yml for testhost␛[0m
2026-05-05T08:33:02.0519811Z 
2026-05-05T08:33:02.0520362Z RUNNING HANDLER [setup_remote_tmp_dir : delete temporary directory] ************
2026-05-05T08:33:02.5599492Z ␛[0;33mchanged: [testhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}␛[0m
2026-05-05T08:33:02.5600370Z 
2026-05-05T08:33:02.5600589Z PLAY RECAP *********************************************************************
2026-05-05T08:33:02.5601764Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=903 ␛[0m ␛[0;33mchanged=330 ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=86  ␛[0m rescued=0    ␛[1;35mignored=22  ␛[0m
2026-05-05T08:33:02.5602547Z 
2026-05-05T08:33:02.7702977Z ␛[32mConfiguring target inventory.␛[0m
2026-05-05T08:33:02.7705030Z Running test_mysql_variables integration test role
2026-05-05T08:33:02.7745285Z ␛[32mStream command: ansible-playbook test_mysql_variables-mbdyb1hl.yml -i inventory --diff -v␛[0m
2026-05-05T08:33:03.5368285Z ␛[0;34mUsing /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/integration.cfg as config file␛[0m
2026-05-05T08:33:03.5369481Z ␛[0;34mrunning playbook inside collection ansible.mysql␛[0m
2026-05-05T08:33:03.5369737Z 
2026-05-05T08:33:03.5369899Z PLAY [testhost] ****************************************************************
2026-05-05T08:33:03.5370162Z 
2026-05-05T08:33:03.5370326Z TASK [Gathering Facts] *********************************************************
2026-05-05T08:33:04.4855201Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:33:04.4855517Z 
2026-05-05T08:33:04.4855843Z TASK [setup_controller : setup_controller | Fake root | Ensure folder] *********
2026-05-05T08:33:04.8312542Z ␛[0;31m--- before␛[0m
2026-05-05T08:33:04.8312975Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:33:04.8313371Z ␛[0;32m␛[0m␛[0;36m@@ -1,4 +1,4 @@␛[0m
2026-05-05T08:33:04.8313720Z ␛[0;36m␛[0m {
2026-05-05T08:33:04.8314737Z      "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root",
2026-05-05T08:33:04.8315978Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:33:04.8316392Z ␛[0;31m␛[0m␛[0;32m+    "state": "directory"␛[0m
2026-05-05T08:33:04.8316789Z ␛[0;32m␛[0m }
2026-05-05T08:33:04.8316946Z 
2026-05-05T08:33:04.8319165Z ␛[0;33mchanged: [testhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/root", "size": 4096, "state": "directory", "uid": 0}␛[0m
2026-05-05T08:33:04.8320710Z 
2026-05-05T08:33:04.8321084Z TASK [setup_controller : setup_controller | Fake root | Ensure default file exists] ***
2026-05-05T08:33:05.0782821Z ␛[0;31m--- before␛[0m
2026-05-05T08:33:05.0783191Z ␛[0;31m␛[0m␛[0;32m+++ after␛[0m
2026-05-05T08:33:05.0783573Z ␛[0;32m␛[0m␛[0;36m@@ -1,6 +1,6 @@␛[0m
2026-05-05T08:33:05.0783926Z ␛[0;36m␛[0m {
2026-05-05T08:33:05.0784283Z ␛[0;31m-    "atime": 1777969985.0441241,␛[0m
2026-05-05T08:33:05.0784741Z ␛[0;31m␛[0m␛[0;31m-    "mtime": 1777969985.0441241,␛[0m
2026-05-05T08:33:05.0785229Z ␛[0;31m␛[0m␛[0;32m+    "atime": 1777969985.0459507,␛[0m
2026-05-05T08:33:05.0785694Z ␛[0;32m␛[0m␛[0;32m+    "mtime": 1777969985.0459507,␛[0m
2026-05-05T08:33:05.0787055Z ␛[0;32m␛[0m     "path": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-\u00c5\u00d1\u015a\u00cc\u03b2\u0141\u00c8/tests/integration/root/.my.cnf",
2026-05-05T08:33:05.0788256Z ␛[0;31m-    "state": "absent"␛[0m
2026-05-05T08:33:05.0788870Z ␛[0;31m␛[0m␛[0;32m+    "state": "touch"␛[0m
2026-05-05T08:33:05.0789226Z ␛[0;32m␛[0m }
2026-05-05T08:33:05.0789363Z 
2026-05-05T08:33:05.0791280Z ␛[0;33mchanged: [testhost] => {"changed": true, "dest": "/root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/root/.my.cnf", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "size": 0, "state": "file", "uid": 0}␛[0m
2026-05-05T08:33:05.0792936Z 
2026-05-05T08:33:05.0793307Z TASK [setup_controller : setup_controller | Setvars | Install tools gather network facts] ***
2026-05-05T08:33:06.0787430Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:33:06.0787980Z 
2026-05-05T08:33:06.0788266Z TASK [setup_controller : setup_controller | Setvars | Gather facts] ************
2026-05-05T08:33:06.7907357Z ␛[0;32mok: [testhost]␛[0m
2026-05-05T08:33:06.7907675Z 
2026-05-05T08:33:06.7908030Z TASK [setup_controller : setup_controller | Setvars | Set Fact] ****************
2026-05-05T08:33:06.8665404Z ␛[0;32mok: [testhost] => {"ansible_facts": {"ansible_version_lookup": "stable-2.17", "connector_name_lookup": "pymysql", "connector_version_lookup": "0.9.3", "db_engine_name_lookup": "mysql", "db_engine_version_lookup": "8.4.1", "gateway_addr": "172.18.0.1"}, "changed": false}␛[0m
2026-05-05T08:33:06.8666706Z 
2026-05-05T08:33:06.8667029Z TASK [setup_controller : setup_controller | Setvars | Set Fact using above facts] ***
2026-05-05T08:33:06.9429448Z ␛[0;32mok: [testhost] => {"ansible_facts": {"connector_name": "pymysql", "connector_version": "0.9.3", "db_engine": "mysql", "db_version": "8.4.1", "mysql_command": "mysql -h172.18.0.1 -P3307 -uroot -pmsandbox --protocol=tcp", "mysql_command_wo_port": "mysql -h172.18.0.1 -uroot -pmsandbox --protocol=tcp", "test_ansible_version": "2.17"}, "changed": false}␛[0m
2026-05-05T08:33:06.9431390Z 
2026-05-05T08:33:06.9431790Z TASK [setup_controller : setup_controller | Setvars | Output test informations] ***
2026-05-05T08:33:07.0118517Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:07.0119027Z ␛[0;32m    "msg": [␛[0m
2026-05-05T08:33:07.0119471Z ␛[0;32m        "connector_name: pymysql",␛[0m
2026-05-05T08:33:07.0120001Z ␛[0;32m        "connector_version: 0.9.3",␛[0m
2026-05-05T08:33:07.0120477Z ␛[0;32m        "db_engine: mysql",␛[0m
2026-05-05T08:33:07.0120930Z ␛[0;32m        "db_version: 8.4.1",␛[0m
2026-05-05T08:33:07.0121417Z ␛[0;32m        "test_ansible_version: 2.17"␛[0m
2026-05-05T08:33:07.0121855Z ␛[0;32m    ]␛[0m
2026-05-05T08:33:07.0122166Z ␛[0;32m}␛[0m
2026-05-05T08:33:07.0122315Z 
2026-05-05T08:33:07.0122630Z TASK [setup_controller : Add MySQL GPG key to trusted keyring] *****************
2026-05-05T08:33:07.5392157Z ␛[0;32mok: [testhost] => {"changed": false, "checksum": "bf80db3a9de09c4a228f48ed1a1ab656046b9dc9", "dest": "/etc/apt/trusted.gpg.d/mysql.asc", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/apt/trusted.gpg.d/mysql.asc", "size": 3175, "state": "file", "uid": 0}␛[0m
2026-05-05T08:33:07.5393678Z 
2026-05-05T08:33:07.5394046Z TASK [setup_controller : Install python3-debian for deb822_repository module] ***
2026-05-05T08:33:08.3881566Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:33:08.3882229Z 
2026-05-05T08:33:08.3882599Z TASK [setup_controller : Add MySQL 8.4 repository] *****************************
2026-05-05T08:33:08.8473812Z ␛[0;32mok: [testhost] => {"changed": false, "dest": "/etc/apt/sources.list.d/mysql.sources", "gid": 0, "group": "root", "key_filename": "/etc/apt/trusted.gpg.d/mysql.asc", "mode": "0644", "owner": "root", "repo": "Components: mysql-8.4-lts mysql-tools\nX-Repolib-Name: mysql\nSigned-By: /etc/apt/trusted.gpg.d/mysql.asc\nSuites: jammy\nTypes: deb\nURIs: http://repo.mysql.com/apt/ubuntu\n", "size": 168, "state": "file", "uid": 0}␛[0m
2026-05-05T08:33:08.8475497Z 
2026-05-05T08:33:08.8475789Z TASK [setup_controller : setup_controller | Requirements | Install Linux packages] ***
2026-05-05T08:33:12.5831658Z ␛[0;32mok: [testhost] => {"cache_update_time": 1777969523, "cache_updated": false, "changed": false}␛[0m
2026-05-05T08:33:12.5832330Z 
2026-05-05T08:33:12.5832715Z TASK [setup_controller : setup_controller | Requirements | Install Python packages] ***
2026-05-05T08:33:13.4109177Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": ["/usr/bin/python3.10", "-m", "pip.__main__", "install", "pymysql==0.9.3"], "name": ["pymysql==0.9.3"], "requirements": null, "state": "present", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv"], "stdout": "Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)\n", "stdout_lines": ["Requirement already satisfied: pymysql==0.9.3 in /usr/local/lib/python3.10/dist-packages (0.9.3)"], "version": null, "virtualenv": null}␛[0m
2026-05-05T08:33:13.4113215Z 
2026-05-05T08:33:13.4113544Z TASK [setup_controller : Query Primary container over TCP for MySQL/MariaDB version] ***
2026-05-05T08:33:13.8456477Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "server_engine": "MySQL", "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:33:13.8457518Z 
2026-05-05T08:33:13.8457904Z TASK [setup_controller : Assert that test container runs the expected MySQL/MariaDB version] ***
2026-05-05T08:33:13.9141896Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:13.9142253Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:13.9142599Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:13.9142918Z ␛[0;32m}␛[0m
2026-05-05T08:33:13.9143038Z 
2026-05-05T08:33:13.9143346Z TASK [setup_controller : Assert that mysql_info module used the expected version of pymysql] ***
2026-05-05T08:33:13.9856113Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:13.9856469Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:13.9856801Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:13.9857139Z ␛[0;32m}␛[0m
2026-05-05T08:33:13.9857260Z 
2026-05-05T08:33:13.9857491Z TASK [setup_controller : Get the python version in use] ************************
2026-05-05T08:33:14.3333836Z ␛[0;32mok: [testhost] => {"changed": false, "cmd": "echo $( $(command -v python || command -v python3) -V )", "delta": "0:00:00.014842", "end": "2026-05-05 08:33:14.302407", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-05-05 08:33:14.287565", "stderr": "", "stderr_lines": [], "stdout": "Python 3.10.12", "stdout_lines": ["Python 3.10.12"]}␛[0m
2026-05-05T08:33:14.3335332Z 
2026-05-05T08:33:14.3335611Z TASK [setup_controller : Display the python version in use] ********************
2026-05-05T08:33:14.4076492Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:14.4076988Z ␛[0;32m    "msg": "Python in use inside the test container: Python 3.10.12\n"␛[0m
2026-05-05T08:33:14.4077397Z ␛[0;32m}␛[0m
2026-05-05T08:33:14.4077506Z 
2026-05-05T08:33:14.4077730Z TASK [setup_controller : Assert that we run the expected ansible version] ******
2026-05-05T08:33:14.4828778Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:14.4829254Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:14.4829695Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:14.4830092Z ␛[0;32m}␛[0m
2026-05-05T08:33:14.4830254Z 
2026-05-05T08:33:14.4830533Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:14.5481751Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "version"}, "changed": false}␛[0m
2026-05-05T08:33:14.5482173Z 
2026-05-05T08:33:14.5482645Z TASK [test_mysql_variables : read mysql variables (expect changed=false)] ******
2026-05-05T08:33:14.9272186Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "8.4.1"}␛[0m
2026-05-05T08:33:14.9272583Z 
2026-05-05T08:33:14.9272879Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:15.0203945Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml for testhost␛[0m
2026-05-05T08:33:15.0205342Z 
2026-05-05T08:33:15.0205638Z TASK [test_mysql_variables : assert output message changed value] **************
2026-05-05T08:33:15.1254819Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:15.1255199Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:15.1255530Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:15.1255818Z ␛[0;32m}␛[0m
2026-05-05T08:33:15.1255926Z 
2026-05-05T08:33:15.1256123Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:15.1942761Z ␛[0;32mok: [testhost] => {"ansible_facts": {"key_name": "version", "key_value": "8"}, "changed": false}␛[0m
2026-05-05T08:33:15.1943400Z 
2026-05-05T08:33:15.1943735Z TASK [test_mysql_variables : run mysql command to show variable] ***************
2026-05-05T08:33:15.4543355Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'version'"], "delta": "0:00:00.018791", "end": "2026-05-05 08:33:15.417975", "msg": "", "rc": 0, "start": "2026-05-05 08:33:15.399184", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nversion\t8.4.1", "stdout_lines": ["Variable_name\tValue", "version\t8.4.1"]}␛[0m
2026-05-05T08:33:15.4545895Z 
2026-05-05T08:33:15.4546214Z TASK [test_mysql_variables : assert output variable info match mysql variable info] ***
2026-05-05T08:33:15.5601678Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:15.5602126Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:15.5602571Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:15.5602980Z ␛[0;32m}␛[0m
2026-05-05T08:33:15.5603129Z 
2026-05-05T08:33:15.5603395Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:15.6247877Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "delay_key_write", "set_value": "ON"}, "changed": false}␛[0m
2026-05-05T08:33:15.6248775Z 
2026-05-05T08:33:15.6249097Z TASK [test_mysql_variables : set mysql variable] *******************************
2026-05-05T08:33:15.9048628Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value."}␛[0m
2026-05-05T08:33:15.9049170Z 
2026-05-05T08:33:15.9049482Z TASK [test_mysql_variables : update mysql variable to same value (expect changed=false)] ***
2026-05-05T08:33:16.1869704Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value."}␛[0m
2026-05-05T08:33:16.1870390Z 
2026-05-05T08:33:16.1870732Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:16.2810759Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:16.2812498Z 
2026-05-05T08:33:16.2812791Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:16.3687815Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:16.3688276Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:16.3688915Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:16.3689375Z ␛[0;32m}␛[0m
2026-05-05T08:33:16.3689540Z 
2026-05-05T08:33:16.3689873Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:16.6248296Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'delay_key_write'"], "delta": "0:00:00.018288", "end": "2026-05-05 08:33:16.591220", "msg": "", "rc": 0, "start": "2026-05-05 08:33:16.572932", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\ndelay_key_write\tON", "stdout_lines": ["Variable_name\tValue", "delay_key_write\tON"]}␛[0m
2026-05-05T08:33:16.6251802Z 
2026-05-05T08:33:16.6252129Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:16.7203814Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:16.7204316Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:16.7204787Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:16.7205233Z ␛[0;32m}␛[0m
2026-05-05T08:33:16.7205391Z 
2026-05-05T08:33:16.7205688Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:16.7856314Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "wait_timeout", "set_value": "300"}, "changed": false}␛[0m
2026-05-05T08:33:16.7856970Z 
2026-05-05T08:33:16.7857316Z TASK [test_mysql_variables : set mysql variable to a temp value] ***************
2026-05-05T08:33:17.0651531Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=28800", "queries": ["SET GLOBAL `wait_timeout` = 200"]}␛[0m
2026-05-05T08:33:17.0652858Z 
2026-05-05T08:33:17.0653383Z TASK [test_mysql_variables : update mysql variable value (expect changed=true)] ***
2026-05-05T08:33:17.3494435Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=200", "queries": ["SET GLOBAL `wait_timeout` = 300"]}␛[0m
2026-05-05T08:33:17.3495231Z 
2026-05-05T08:33:17.3495513Z TASK [test_mysql_variables : assert] *******************************************
2026-05-05T08:33:17.4196662Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:17.4197138Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:17.4197592Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:17.4198013Z ␛[0;32m}␛[0m
2026-05-05T08:33:17.4198173Z 
2026-05-05T08:33:17.4198644Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:17.5170512Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:17.5171816Z 
2026-05-05T08:33:17.5172161Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:17.6057256Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:17.6057689Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:17.6058083Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:17.6058597Z ␛[0;32m}␛[0m
2026-05-05T08:33:17.6058729Z 
2026-05-05T08:33:17.6059003Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:17.8622789Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'wait_timeout'"], "delta": "0:00:00.018398", "end": "2026-05-05 08:33:17.830778", "msg": "", "rc": 0, "start": "2026-05-05 08:33:17.812380", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nwait_timeout\t300", "stdout_lines": ["Variable_name\tValue", "wait_timeout\t300"]}␛[0m
2026-05-05T08:33:17.8625804Z 
2026-05-05T08:33:17.8626133Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:17.9596405Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:17.9596766Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:17.9597110Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:17.9597417Z ␛[0;32m}␛[0m
2026-05-05T08:33:17.9597533Z 
2026-05-05T08:33:17.9597742Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:18.0253395Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "wait_timeout", "set_value": "400"}, "changed": false}␛[0m
2026-05-05T08:33:18.0254360Z 
2026-05-05T08:33:18.0254613Z TASK [test_mysql_variables : set mysql variable to a temp value] ***************
2026-05-05T08:33:18.3064642Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=300", "queries": ["SET GLOBAL `wait_timeout` = 200"]}␛[0m
2026-05-05T08:33:18.3065333Z 
2026-05-05T08:33:18.3065609Z TASK [test_mysql_variables : update mysql variable value (expect changed=true)] ***
2026-05-05T08:33:18.5968898Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=200", "queries": ["SET GLOBAL `wait_timeout` = 400"]}␛[0m
2026-05-05T08:33:18.5969812Z 
2026-05-05T08:33:18.5970139Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:18.6951329Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:18.6952722Z 
2026-05-05T08:33:18.6953032Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:18.7877427Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:18.7877877Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:18.7878268Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:18.7878775Z ␛[0;32m}␛[0m
2026-05-05T08:33:18.7878913Z 
2026-05-05T08:33:18.7879185Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:19.0532786Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'wait_timeout'"], "delta": "0:00:00.019788", "end": "2026-05-05 08:33:19.019159", "msg": "", "rc": 0, "start": "2026-05-05 08:33:18.999371", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nwait_timeout\t400", "stdout_lines": ["Variable_name\tValue", "wait_timeout\t400"]}␛[0m
2026-05-05T08:33:19.0535252Z 
2026-05-05T08:33:19.0535532Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:19.1526895Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:19.1527393Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:19.1527774Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:19.1528151Z ␛[0;32m}␛[0m
2026-05-05T08:33:19.1528284Z 
2026-05-05T08:33:19.1528745Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:19.2204400Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "wait_timeout", "set_value": 500}, "changed": false}␛[0m
2026-05-05T08:33:19.2205051Z 
2026-05-05T08:33:19.2205366Z TASK [test_mysql_variables : set mysql variable to a temp value] ***************
2026-05-05T08:33:19.5098989Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=400", "queries": ["SET GLOBAL `wait_timeout` = 200"]}␛[0m
2026-05-05T08:33:19.5099905Z 
2026-05-05T08:33:19.5100255Z TASK [test_mysql_variables : update mysql variable value (expect changed=true)] ***
2026-05-05T08:33:19.8064873Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=200", "queries": ["SET GLOBAL `wait_timeout` = 500"]}␛[0m
2026-05-05T08:33:19.8065699Z 
2026-05-05T08:33:19.8065997Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:19.9057262Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:19.9058778Z 
2026-05-05T08:33:19.9059107Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:19.9989338Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:19.9990332Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:19.9990695Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:19.9991012Z ␛[0;32m}␛[0m
2026-05-05T08:33:19.9991124Z 
2026-05-05T08:33:19.9991359Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:20.2677363Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'wait_timeout'"], "delta": "0:00:00.019217", "end": "2026-05-05 08:33:20.230759", "msg": "", "rc": 0, "start": "2026-05-05 08:33:20.211542", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nwait_timeout\t500", "stdout_lines": ["Variable_name\tValue", "wait_timeout\t500"]}␛[0m
2026-05-05T08:33:20.2680673Z 
2026-05-05T08:33:20.2681043Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:20.3667358Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:20.3667895Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:20.3668616Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:20.3669117Z ␛[0;32m}␛[0m
2026-05-05T08:33:20.3669286Z 
2026-05-05T08:33:20.3669649Z TASK [test_mysql_variables : set mysql variable value to an expression] ********
2026-05-05T08:33:20.6641618Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "(1232, \"Incorrect argument type to variable 'max_connect_errors'\")"}␛[0m
2026-05-05T08:33:20.6642500Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:20.6642692Z 
2026-05-05T08:33:20.6642977Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:20.7664768Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:20.7666761Z 
2026-05-05T08:33:20.7667106Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:20.8426482Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:20.8426937Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:20.8427304Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:20.8427638Z ␛[0;32m}␛[0m
2026-05-05T08:33:20.8427755Z 
2026-05-05T08:33:20.8428032Z TASK [test_mysql_variables : Set mysql variable value to a number out of range] ***
2026-05-05T08:33:21.1220020Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "(1292, \"Truncated incorrect max_connect_errors value: '-1'\")"}␛[0m
2026-05-05T08:33:21.1221216Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:21.1221486Z 
2026-05-05T08:33:21.1221894Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:21.1859167Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "connector_name == 'pymsql'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:21.1860228Z 
2026-05-05T08:33:21.1860652Z TASK [test_mysql_variables : set mysql variable value to a non-valid value number] ***
2026-05-05T08:33:21.4742912Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "(1232, \"Incorrect argument type to variable 'max_connect_errors'\")"}␛[0m
2026-05-05T08:33:21.4743788Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:21.4743985Z 
2026-05-05T08:33:21.4744267Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:21.5745937Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:21.5747225Z 
2026-05-05T08:33:21.5747546Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:21.6541942Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:21.6543164Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:21.6543650Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:21.6544101Z ␛[0;32m}␛[0m
2026-05-05T08:33:21.6544263Z 
2026-05-05T08:33:21.6544599Z TASK [test_mysql_variables : set a non mysql variable] *************************
2026-05-05T08:33:21.9463822Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "Variable not available \"my_sql_variable\""}␛[0m
2026-05-05T08:33:21.9464479Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:21.9464631Z 
2026-05-05T08:33:21.9464876Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:22.0509316Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:22.0510539Z 
2026-05-05T08:33:22.0510871Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:22.1286453Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:22.1286953Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:22.1287382Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:22.1287780Z ␛[0;32m}␛[0m
2026-05-05T08:33:22.1287922Z 
2026-05-05T08:33:22.1288229Z TASK [test_mysql_variables : set value of a read only mysql variable] **********
2026-05-05T08:33:22.4212780Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "(1238, \"Variable 'character_set_system' is a read only variable\")"}␛[0m
2026-05-05T08:33:22.4213740Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:22.4213938Z 
2026-05-05T08:33:22.4214247Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:22.5213704Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:22.5215116Z 
2026-05-05T08:33:22.5215445Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:22.5956016Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:22.5956421Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:22.5956746Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:22.5957055Z ␛[0;32m}␛[0m
2026-05-05T08:33:22.5957168Z 
2026-05-05T08:33:22.5957385Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:22.6621620Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "wait_timeout", "set_value": 77}, "changed": false}␛[0m
2026-05-05T08:33:22.6622175Z 
2026-05-05T08:33:22.6622534Z TASK [test_mysql_variables : query mysql_variable using login_user and password_password] ***
2026-05-05T08:33:22.9468345Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "500"}␛[0m
2026-05-05T08:33:22.9469076Z 
2026-05-05T08:33:22.9469540Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:23.0515538Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var_output.yml for testhost␛[0m
2026-05-05T08:33:23.0516810Z 
2026-05-05T08:33:23.0517119Z TASK [test_mysql_variables : assert output message changed value] **************
2026-05-05T08:33:23.1436869Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:23.1437351Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:23.1437811Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:23.1438238Z ␛[0;32m}␛[0m
2026-05-05T08:33:23.1438622Z 
2026-05-05T08:33:23.1438922Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:23.2149175Z ␛[0;32mok: [testhost] => {"ansible_facts": {"key_name": "wait_timeout", "key_value": "5"}, "changed": false}␛[0m
2026-05-05T08:33:23.2149799Z 
2026-05-05T08:33:23.2150108Z TASK [test_mysql_variables : run mysql command to show variable] ***************
2026-05-05T08:33:23.4774843Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'wait_timeout'"], "delta": "0:00:00.018513", "end": "2026-05-05 08:33:23.444154", "msg": "", "rc": 0, "start": "2026-05-05 08:33:23.425641", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nwait_timeout\t500", "stdout_lines": ["Variable_name\tValue", "wait_timeout\t500"]}␛[0m
2026-05-05T08:33:23.4777710Z 
2026-05-05T08:33:23.4778063Z TASK [test_mysql_variables : assert output variable info match mysql variable info] ***
2026-05-05T08:33:23.5572541Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:23.5572993Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:23.5573394Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:23.5573800Z ␛[0;32m}␛[0m
2026-05-05T08:33:23.5573948Z 
2026-05-05T08:33:23.5574441Z TASK [test_mysql_variables : set mysql variable to temp value using user login and password (expect changed=true)] ***
2026-05-05T08:33:23.8515841Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=500", "queries": ["SET GLOBAL `wait_timeout` = 20"]}␛[0m
2026-05-05T08:33:23.8516681Z 
2026-05-05T08:33:23.8517178Z TASK [test_mysql_variables : update mysql variable value using user login and password (expect changed=true)] ***
2026-05-05T08:33:24.1377820Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=20", "queries": ["SET GLOBAL `wait_timeout` = 77"]}␛[0m
2026-05-05T08:33:24.1378820Z 
2026-05-05T08:33:24.1379111Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:24.2439681Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:24.2441118Z 
2026-05-05T08:33:24.2441480Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:24.3322391Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:24.3322922Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:24.3323262Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:24.3323574Z ␛[0;32m}␛[0m
2026-05-05T08:33:24.3323682Z 
2026-05-05T08:33:24.3323908Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:24.5951009Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'wait_timeout'"], "delta": "0:00:00.018633", "end": "2026-05-05 08:33:24.560231", "msg": "", "rc": 0, "start": "2026-05-05 08:33:24.541598", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nwait_timeout\t77", "stdout_lines": ["Variable_name\tValue", "wait_timeout\t77"]}␛[0m
2026-05-05T08:33:24.5954124Z 
2026-05-05T08:33:24.5954468Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:24.6932341Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:24.6932953Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:24.6933373Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:24.6933766Z ␛[0;32m}␛[0m
2026-05-05T08:33:24.6933905Z 
2026-05-05T08:33:24.6934184Z TASK [test_mysql_variables : Get server version] *******************************
2026-05-05T08:33:25.1985731Z ␛[0;32mok: [testhost] => {"changed": false, "connector_name": "pymysql", "connector_version": "0.9.3", "databases": {"data3": {"size": 16384, "tables": 1}, "information_schema": {"size": 0, "tables": 78}, "mysql": {"size": 8437760, "tables": 38}, "performance_schema": {"size": 0, "tables": 113}, "sys": {"size": 16384, "tables": 101}}, "engines": {"ARCHIVE": {"Comment": "Archive storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "BLACKHOLE": {"Comment": "/dev/null storage engine (anything you write to it disappears)", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "CSV": {"Comment": "CSV storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "FEDERATED": {"Comment": "Federated MySQL storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "InnoDB": {"Comment": "Supports transactions, row-level locking, and foreign keys", "Savepoints": "YES", "Support": "DEFAULT", "Transactions": "YES", "XA": "YES"}, "MEMORY": {"Comment": "Hash based, stored in memory, useful for temporary tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MRG_MYISAM": {"Comment": "Collection of identical MyISAM tables", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "MyISAM": {"Comment": "MyISAM storage engine", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "PERFORMANCE_SCHEMA": {"Comment": "Performance Schema", "Savepoints": "NO", "Support": "YES", "Transactions": "NO", "XA": "NO"}, "ndbcluster": {"Comment": "Clustered, fault-tolerant tables", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}, "ndbinfo": {"Comment": "MySQL Cluster system information storage engine", "Savepoints": null, "Support": "NO", "Transactions": null, "XA": null}}, "global_status": {"Aborted_clients": 3, "Aborted_connects": 7, "Acl_cache_items_count": 0, "Binlog_cache_disk_use": 0, "Binlog_cache_use": 512, "Binlog_stmt_cache_disk_use": 0, "Binlog_stmt_cache_use": 36, "Bytes_received": 563876, "Bytes_sent": 5588224, "Caching_sha2_password_rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Com_admin_commands": 86, "Com_alter_db": 0, "Com_alter_event": 0, "Com_alter_function": 0, "Com_alter_instance": 0, "Com_alter_procedure": 0, "Com_alter_resource_group": 0, "Com_alter_server": 0, "Com_alter_table": 0, "Com_alter_tablespace": 0, "Com_alter_user": 30, "Com_alter_user_default_role": 10, "Com_analyze": 0, "Com_assign_to_keycache": 0, "Com_begin": 0, "Com_binlog": 0, "Com_call_procedure": 0, "Com_change_db": 41, "Com_change_repl_filter": 0, "Com_change_replication_source": 0, "Com_check": 0, "Com_checksum": 0, "Com_clone": 0, "Com_commit": 5, "Com_create_db": 32, "Com_create_event": 0, "Com_create_function": 2, "Com_create_index": 0, "Com_create_procedure": 3, "Com_create_resource_group": 0, "Com_create_role": 12, "Com_create_server": 0, "Com_create_spatial_reference_system": 0, "Com_create_table": 53, "Com_create_trigger": 0, "Com_create_udf": 0, "Com_create_user": 96, "Com_create_view": 1, "Com_dealloc_sql": 0, "Com_delete": 2, "Com_delete_multi": 0, "Com_do": 0, "Com_drop_db": 27, "Com_drop_event": 0, "Com_drop_function": 0, "Com_drop_index": 0, "Com_drop_procedure": 1, "Com_drop_resource_group": 0, "Com_drop_role": 10, "Com_drop_server": 0, "Com_drop_spatial_reference_system": 0, "Com_drop_table": 1, "Com_drop_trigger": 0, "Com_drop_user": 78, "Com_drop_view": 0, "Com_empty_query": 0, "Com_execute_sql": 0, "Com_explain_other": 0, "Com_flush": 37, "Com_get_diagnostics": 0, "Com_grant": 147, "Com_grant_roles": 9, "Com_group_replication_start": 0, "Com_group_replication_stop": 0, "Com_ha_close": 0, "Com_ha_open": 0, "Com_ha_read": 0, "Com_help": 0, "Com_import": 0, "Com_insert": 7, "Com_insert_select": 0, "Com_install_component": 0, "Com_install_plugin": 0, "Com_kill": 0, "Com_load": 0, "Com_lock_instance": 0, "Com_lock_tables": 0, "Com_optimize": 0, "Com_preload_keys": 0, "Com_prepare_sql": 0, "Com_purge": 0, "Com_purge_before_date": 0, "Com_release_savepoint": 0, "Com_rename_table": 1, "Com_rename_user": 0, "Com_repair": 0, "Com_replace": 2, "Com_replace_select": 0, "Com_replica_start": 0, "Com_replica_stop": 0, "Com_reset": 1, "Com_resignal": 0, "Com_restart": 0, "Com_revoke": 37, "Com_revoke_all": 0, "Com_revoke_roles": 3, "Com_rollback": 0, "Com_rollback_to_savepoint": 0, "Com_savepoint": 0, "Com_select": 3671, "Com_set_option": 418, "Com_set_password": 0, "Com_set_resource_group": 0, "Com_set_role": 1, "Com_show_binary_log_status": 17, "Com_show_binlog_events": 0, "Com_show_binlogs": 0, "Com_show_charsets": 0, "Com_show_collations": 0, "Com_show_create_db": 6, "Com_show_create_event": 0, "Com_show_create_func": 0, "Com_show_create_proc": 0, "Com_show_create_table": 36, "Com_show_create_trigger": 0, "Com_show_create_user": 247, "Com_show_databases": 7, "Com_show_engine_logs": 0, "Com_show_engine_mutex": 0, "Com_show_engine_status": 0, "Com_show_errors": 0, "Com_show_events": 0, "Com_show_fields": 76, "Com_show_function_code": 0, "Com_show_function_status": 0, "Com_show_grants": 389, "Com_show_keys": 0, "Com_show_open_tables": 0, "Com_show_parse_tree": 0, "Com_show_plugins": 0, "Com_show_privileges": 0, "Com_show_procedure_code": 0, "Com_show_procedure_status": 0, "Com_show_processlist": 0, "Com_show_profile": 0, "Com_show_profiles": 0, "Com_show_relaylog_events": 0, "Com_show_replica_status": 5, "Com_show_replicas": 5, "Com_show_status": 6, "Com_show_storage_engines": 5, "Com_show_table_status": 36, "Com_show_tables": 2, "Com_show_triggers": 34, "Com_show_variables": 56, "Com_show_warnings": 82, "Com_shutdown": 0, "Com_signal": 0, "Com_stmt_close": 0, "Com_stmt_execute": 0, "Com_stmt_fetch": 0, "Com_stmt_prepare": 0, "Com_stmt_reprepare": 0, "Com_stmt_reset": 0, "Com_stmt_send_long_data": 0, "Com_truncate": 1, "Com_uninstall_component": 0, "Com_uninstall_plugin": 0, "Com_unlock_instance": 0, "Com_unlock_tables": 0, "Com_update": 2, "Com_update_multi": 0, "Com_xa_commit": 0, "Com_xa_end": 0, "Com_xa_prepare": 0, "Com_xa_recover": 0, "Com_xa_rollback": 0, "Com_xa_start": 0, "Connection_errors_accept": 0, "Connection_errors_internal": 0, "Connection_errors_max_connections": 0, "Connection_errors_peer_address": 0, "Connection_errors_select": 0, "Connection_errors_tcpwrap": 0, "Connections": 908, "Created_tmp_disk_tables": 0, "Created_tmp_files": 5, "Created_tmp_tables": 196, "Current_tls_ca": "ca.pem", "Current_tls_capath": "", "Current_tls_cert": "server-cert.pem", "Current_tls_cipher": "", "Current_tls_ciphersuites": "", "Current_tls_crl": "", "Current_tls_crlpath": "", "Current_tls_key": "server-key.pem", "Current_tls_version": "TLSv1.2,TLSv1.3", "Delayed_errors": 0, "Delayed_insert_threads": 0, "Delayed_writes": 0, "Deprecated_use_fk_on_non_standard_key_count": 0, "Deprecated_use_fk_on_non_standard_key_last_timestamp": 0, "Deprecated_use_i_s_processlist_count": 0, "Deprecated_use_i_s_processlist_last_timestamp": 0, "Error_log_buffered_bytes": 1640, "Error_log_buffered_events": 11, "Error_log_expired_events": 0, "Error_log_latest_write": 1777969652772067, "Flush_commands": 6, "Global_connection_memory": 0, "Handler_commit": 9571, "Handler_delete": 1108, "Handler_discover": 0, "Handler_external_lock": 54443, "Handler_mrr_init": 0, "Handler_prepare": 1896, "Handler_read_first": 1412, "Handler_read_key": 27986, "Handler_read_last": 0, "Handler_read_next": 31587, "Handler_read_prev": 0, "Handler_read_rnd": 595, "Handler_read_rnd_next": 188323, "Handler_rollback": 66, "Handler_savepoint": 0, "Handler_savepoint_rollback": 0, "Handler_update": 4897, "Handler_write": 19434, "Innodb_buffer_pool_bytes_data": 28491776, "Innodb_buffer_pool_bytes_dirty": 0, "Innodb_buffer_pool_dump_status": "Dumping of buffer pool not started", "Innodb_buffer_pool_load_status": "Buffer pool(s) load completed at 260505  8:19:50", "Innodb_buffer_pool_pages_data": 1739, "Innodb_buffer_pool_pages_dirty": 0, "Innodb_buffer_pool_pages_flushed": 3050, "Innodb_buffer_pool_pages_free": 6453, "Innodb_buffer_pool_pages_misc": 0, "Innodb_buffer_pool_pages_total": 8192, "Innodb_buffer_pool_read_ahead": 187, "Innodb_buffer_pool_read_ahead_evicted": 0, "Innodb_buffer_pool_read_ahead_rnd": 0, "Innodb_buffer_pool_read_requests": 147786, "Innodb_buffer_pool_reads": 1156, "Innodb_buffer_pool_resize_status": "", "Innodb_buffer_pool_resize_status_code": 0, "Innodb_buffer_pool_resize_status_progress": 0, "Innodb_buffer_pool_wait_free": 0, "Innodb_buffer_pool_write_requests": 20504, "Innodb_data_fsyncs": 2571, "Innodb_data_pending_fsyncs": 0, "Innodb_data_pending_reads": 0, "Innodb_data_pending_writes": 0, "Innodb_data_read": 22120960, "Innodb_data_reads": 1366, "Innodb_data_writes": 5840, "Innodb_data_written": 54642688, "Innodb_dblwr_pages_written": 2909, "Innodb_dblwr_writes": 189, "Innodb_log_waits": 0, "Innodb_log_write_requests": 13864, "Innodb_log_writes": 2458, "Innodb_num_open_files": 16, "Innodb_os_log_fsyncs": 1987, "Innodb_os_log_pending_fsyncs": 0, "Innodb_os_log_pending_writes": 0, "Innodb_os_log_written": 3481088, "Innodb_page_size": 16384, "Innodb_pages_created": 420, "Innodb_pages_read": 1345, "Innodb_pages_written": 3050, "Innodb_redo_log_capacity_resized": 104857600, "Innodb_redo_log_checkpoint_lsn": 34928318, "Innodb_redo_log_current_lsn": 34928318, "Innodb_redo_log_enabled": "ON", "Innodb_redo_log_flushed_to_disk_lsn": 34928318, "Innodb_redo_log_logical_size": 512, "Innodb_redo_log_physical_size": 6553600, "Innodb_redo_log_read_only": "OFF", "Innodb_redo_log_resize_status": "OK", "Innodb_redo_log_uuid": 272202935, "Innodb_row_lock_current_waits": 0, "Innodb_row_lock_time": 0, "Innodb_row_lock_time_avg": 0, "Innodb_row_lock_time_max": 0, "Innodb_row_lock_waits": 0, "Innodb_rows_deleted": 1, "Innodb_rows_inserted": 12, "Innodb_rows_read": 32, "Innodb_rows_updated": 2, "Innodb_sampled_pages_read": 0, "Innodb_sampled_pages_skipped": 0, "Innodb_system_rows_deleted": 1107, "Innodb_system_rows_inserted": 1300, "Innodb_system_rows_read": 180866, "Innodb_system_rows_updated": 653, "Innodb_truncated_status_writes": 0, "Innodb_undo_tablespaces_active": 2, "Innodb_undo_tablespaces_explicit": 0, "Innodb_undo_tablespaces_implicit": 2, "Innodb_undo_tablespaces_total": 2, "Key_blocks_not_flushed": 0, "Key_blocks_unused": 6698, "Key_blocks_used": 0, "Key_read_requests": 0, "Key_reads": 0, "Key_write_requests": 0, "Key_writes": 0, "Locked_connects": 0, "Max_execution_time_exceeded": 0, "Max_execution_time_set": 0, "Max_execution_time_set_failed": 0, "Max_used_connections": 3, "Max_used_connections_time": "2026-05-05 08:27:56", "Mysqlx_aborted_clients": 0, "Mysqlx_address": "::", "Mysqlx_bytes_received": 0, "Mysqlx_bytes_received_compressed_payload": 0, "Mysqlx_bytes_received_uncompressed_frame": 0, "Mysqlx_bytes_sent": 0, "Mysqlx_bytes_sent_compressed_payload": 0, "Mysqlx_bytes_sent_uncompressed_frame": 0, "Mysqlx_compression_algorithm": "", "Mysqlx_compression_level": "", "Mysqlx_connection_accept_errors": 0, "Mysqlx_connection_errors": 0, "Mysqlx_connections_accepted": 0, "Mysqlx_connections_closed": 0, "Mysqlx_connections_rejected": 0, "Mysqlx_crud_create_view": 0, "Mysqlx_crud_delete": 0, "Mysqlx_crud_drop_view": 0, "Mysqlx_crud_find": 0, "Mysqlx_crud_insert": 0, "Mysqlx_crud_modify_view": 0, "Mysqlx_crud_update": 0, "Mysqlx_cursor_close": 0, "Mysqlx_cursor_fetch": 0, "Mysqlx_cursor_open": 0, "Mysqlx_errors_sent": 0, "Mysqlx_errors_unknown_message_type": 0, "Mysqlx_expect_close": 0, "Mysqlx_expect_open": 0, "Mysqlx_init_error": 0, "Mysqlx_messages_sent": 0, "Mysqlx_notice_global_sent": 0, "Mysqlx_notice_other_sent": 0, "Mysqlx_notice_warning_sent": 0, "Mysqlx_notified_by_group_replication": 0, "Mysqlx_port": 33060, "Mysqlx_prep_deallocate": 0, "Mysqlx_prep_execute": 0, "Mysqlx_prep_prepare": 0, "Mysqlx_rows_sent": 0, "Mysqlx_sessions": 0, "Mysqlx_sessions_accepted": 0, "Mysqlx_sessions_closed": 0, "Mysqlx_sessions_fatal_error": 0, "Mysqlx_sessions_killed": 0, "Mysqlx_sessions_rejected": 0, "Mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "Mysqlx_ssl_accepts": 0, "Mysqlx_ssl_active": "", "Mysqlx_ssl_cipher": "", "Mysqlx_ssl_cipher_list": "", "Mysqlx_ssl_ctx_verify_depth": 18446744073709551615, "Mysqlx_ssl_ctx_verify_mode": 5, "Mysqlx_ssl_finished_accepts": 0, "Mysqlx_ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Mysqlx_ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Mysqlx_ssl_verify_depth": "", "Mysqlx_ssl_verify_mode": "", "Mysqlx_ssl_version": "", "Mysqlx_stmt_create_collection": 0, "Mysqlx_stmt_create_collection_index": 0, "Mysqlx_stmt_disable_notices": 0, "Mysqlx_stmt_drop_collection": 0, "Mysqlx_stmt_drop_collection_index": 0, "Mysqlx_stmt_enable_notices": 0, "Mysqlx_stmt_ensure_collection": 0, "Mysqlx_stmt_execute_mysqlx": 0, "Mysqlx_stmt_execute_sql": 0, "Mysqlx_stmt_execute_xplugin": 0, "Mysqlx_stmt_get_collection_options": 0, "Mysqlx_stmt_kill_client": 0, "Mysqlx_stmt_list_clients": 0, "Mysqlx_stmt_list_notices": 0, "Mysqlx_stmt_list_objects": 0, "Mysqlx_stmt_modify_collection_options": 0, "Mysqlx_stmt_ping": 0, "Mysqlx_worker_threads": 2, "Mysqlx_worker_threads_active": 0, "Not_flushed_delayed_rows": 0, "Ongoing_anonymous_transaction_count": 0, "Open_files": 8, "Open_streams": 0, "Open_table_definitions": 159, "Open_tables": 800, "Opened_files": 8, "Opened_table_definitions": 464, "Opened_tables": 2542, "Performance_schema_accounts_lost": 0, "Performance_schema_cond_classes_lost": 0, "Performance_schema_cond_instances_lost": 0, "Performance_schema_digest_lost": 0, "Performance_schema_file_classes_lost": 0, "Performance_schema_file_handles_lost": 0, "Performance_schema_file_instances_lost": 0, "Performance_schema_hosts_lost": 0, "Performance_schema_index_stat_lost": 0, "Performance_schema_locker_lost": 0, "Performance_schema_memory_classes_lost": 0, "Performance_schema_metadata_lock_lost": 0, "Performance_schema_meter_lost": 0, "Performance_schema_metric_lost": 0, "Performance_schema_mutex_classes_lost": 0, "Performance_schema_mutex_instances_lost": 0, "Performance_schema_nested_statement_lost": 0, "Performance_schema_prepared_statements_lost": 0, "Performance_schema_program_lost": 0, "Performance_schema_rwlock_classes_lost": 0, "Performance_schema_rwlock_instances_lost": 0, "Performance_schema_session_connect_attrs_longest_seen": 179, "Performance_schema_session_connect_attrs_lost": 0, "Performance_schema_socket_classes_lost": 0, "Performance_schema_socket_instances_lost": 0, "Performance_schema_stage_classes_lost": 0, "Performance_schema_statement_classes_lost": 0, "Performance_schema_table_handles_lost": 0, "Performance_schema_table_instances_lost": 0, "Performance_schema_table_lock_stat_lost": 0, "Performance_schema_thread_classes_lost": 0, "Performance_schema_thread_instances_lost": 0, "Performance_schema_users_lost": 0, "Prepared_stmt_count": 0, "Queries": 6865, "Questions": 6783, "Replica_open_temp_tables": 0, "Resource_group_supported": "ON", "Rsa_public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3RKvWDHRHLUdzqqPLGPz\nPdXKoz9wk0GY41SqFdEgAkT4yBG6AQ8EsRUZhNCjxupbqroFkVvYKhKEEEAXloRw\nJgp8sKrx/v5sBmOThu6uD6AEihFLpLMchbCna6ZkS+aG2JuyJ7MKeVKZr4D1OYrO\nW+LAzmyEmxplEPTXB7/LDBPYGWQBAZdxFSJP2/Q8KizRfADKwQGgLqx451r1VCbT\na6FO2Qv1cES0b11KFYeX50MIh3nqlIECkxANkQOfyjMh3mocHUEWiEOA8DSZwPdX\nk7O3D/Nx1QchWY5AXTL6+/AVT6L7/dTksaMOfuZPBlERPGfT7qsJSoBf50hsuwWZ\n1wIDAQAB\n-----END PUBLIC KEY-----\n", "Secondary_engine_execution_count": 0, "Select_full_join": 54, "Select_full_range_join": 0, "Select_range": 0, "Select_range_check": 0, "Select_scan": 882, "Slave_open_temp_tables": 0, "Slow_launch_threads": 0, "Slow_queries": 0, "Sort_merge_passes": 0, "Sort_range": 0, "Sort_rows": 854, "Sort_scan": 321, "Ssl_accept_renegotiates": 0, "Ssl_accepts": 178, "Ssl_callback_cache_hits": 0, "Ssl_cipher": "", "Ssl_cipher_list": "", "Ssl_client_connects": 0, "Ssl_connect_renegotiates": 0, "Ssl_ctx_verify_depth": 18446744073709551615, "Ssl_ctx_verify_mode": 5, "Ssl_default_timeout": 0, "Ssl_finished_accepts": 178, "Ssl_finished_connects": 0, "Ssl_server_not_after": "May  2 08:19:34 2036 GMT", "Ssl_server_not_before": "May  5 08:19:34 2026 GMT", "Ssl_session_cache_hits": 0, "Ssl_session_cache_misses": 0, "Ssl_session_cache_mode": "SERVER", "Ssl_session_cache_overflows": 0, "Ssl_session_cache_size": 128, "Ssl_session_cache_timeout": 300, "Ssl_session_cache_timeouts": 0, "Ssl_sessions_reused": 0, "Ssl_used_session_cache_entries": 0, "Ssl_verify_depth": 0, "Ssl_verify_mode": 0, "Ssl_version": "", "Table_locks_immediate": 64, "Table_locks_waited": 0, "Table_open_cache_hits": 25878, "Table_open_cache_misses": 2542, "Table_open_cache_overflows": 0, "Tc_log_max_pages_used": 0, "Tc_log_page_size": 0, "Tc_log_page_waits": 0, "Telemetry_metrics_supported": "ON", "Telemetry_traces_supported": "ON", "Threads_cached": 2, "Threads_connected": 1, "Threads_created": 3, "Threads_running": 2, "Tls_library_version": "OpenSSL 3.0.7 1 Nov 2022", "Uptime": 814, "Uptime_since_flush_status": 814}, "master_status": {"Binlog_Do_DB": "", "Binlog_Ignore_DB": "", "Executed_Gtid_Set": "", "File": "primary-bin.000001", "Position": 106104}, "server_engine": "MySQL", "settings": {"activate_all_roles_on_login": "OFF", "admin_address": "", "admin_port": 33062, "admin_ssl_ca": "", "admin_ssl_capath": "", "admin_ssl_cert": "", "admin_ssl_cipher": "", "admin_ssl_crl": "", "admin_ssl_crlpath": "", "admin_ssl_key": "", "admin_tls_ciphersuites": "", "admin_tls_version": "TLSv1.2,TLSv1.3", "authentication_policy": "*,,", "auto_generate_certs": "ON", "auto_increment_increment": 1, "auto_increment_offset": 1, "autocommit": "ON", "automatic_sp_privileges": "ON", "back_log": 151, "basedir": "/usr/", "big_tables": "OFF", "bind_address": "*", "binlog_cache_size": 32768, "binlog_checksum": "CRC32", "binlog_direct_non_transactional_updates": "OFF", "binlog_encryption": "OFF", "binlog_error_action": "ABORT_SERVER", "binlog_expire_logs_auto_purge": "ON", "binlog_expire_logs_seconds": 2592000, "binlog_format": "ROW", "binlog_group_commit_sync_delay": 0, "binlog_group_commit_sync_no_delay_count": 0, "binlog_gtid_simple_recovery": "ON", "binlog_max_flush_queue_time": 0, "binlog_order_commits": "ON", "binlog_rotate_encryption_master_key_at_startup": "OFF", "binlog_row_event_max_size": 8192, "binlog_row_image": "FULL", "binlog_row_metadata": "MINIMAL", "binlog_row_value_options": "", "binlog_rows_query_log_events": "OFF", "binlog_stmt_cache_size": 32768, "binlog_transaction_compression": "OFF", "binlog_transaction_compression_level_zstd": 3, "binlog_transaction_dependency_history_size": 25000, "block_encryption_mode": "aes-128-ecb", "build_id": "e1f916ae1a4eb90541cc38cf2dbf277be6107b2c", "bulk_insert_buffer_size": 8388608, "caching_sha2_password_auto_generate_rsa_keys": "ON", "caching_sha2_password_digest_rounds": 5000, "caching_sha2_password_private_key_path": "private_key.pem", "caching_sha2_password_public_key_path": "public_key.pem", "character_set_client": "utf8mb4", "character_set_connection": "utf8mb4", "character_set_database": "utf8mb4", "character_set_filesystem": "binary", "character_set_results": "utf8mb4", "character_set_server": "utf8mb4", "character_set_system": "utf8mb3", "character_sets_dir": "/usr/share/mysql-8.4/charsets/", "check_proxy_users": "OFF", "collation_connection": "utf8mb4_0900_ai_ci", "collation_database": "utf8mb4_0900_ai_ci", "collation_server": "utf8mb4_0900_ai_ci", "completion_type": "NO_CHAIN", "concurrent_insert": "AUTO", "connect_timeout": 10, "connection_memory_chunk_size": 8192, "connection_memory_limit": 18446744073709551615, "core_file": "OFF", "create_admin_listener_thread": "OFF", "cte_max_recursion_depth": 1000, "datadir": "/var/lib/mysql/", "default_collation_for_utf8mb4": "utf8mb4_0900_ai_ci", "default_password_lifetime": 0, "default_storage_engine": "InnoDB", "default_table_encryption": "OFF", "default_tmp_storage_engine": "InnoDB", "default_week_format": 0, "delay_key_write": "ON", "delayed_insert_limit": 100, "delayed_insert_timeout": 300, "delayed_queue_size": 1000, "disabled_storage_engines": "", "disconnect_on_expired_password": "ON", "div_precision_increment": 4, "end_markers_in_json": "OFF", "enforce_gtid_consistency": "OFF", "eq_range_index_dive_limit": 200, "event_scheduler": "ON", "explain_format": "TRADITIONAL", "explain_json_format_version": 1, "explicit_defaults_for_timestamp": "ON", "flush": "OFF", "flush_time": 0, "foreign_key_checks": "ON", "ft_boolean_syntax": "+ -><()~*:\"\"&|", "ft_max_word_len": 84, "ft_min_word_len": 4, "ft_query_expansion_limit": 20, "ft_stopword_file": "(built-in)", "general_log": "OFF", "general_log_file": "/var/lib/mysql/7fb66b4ace44.log", "generated_random_password_length": 20, "global_connection_memory_limit": 18446744073709551615, "global_connection_memory_tracking": "OFF", "group_concat_max_len": 1024, "group_replication_consistency": "BEFORE_ON_PRIMARY_FAILOVER", "gtid_executed": "", "gtid_executed_compression_period": 0, "gtid_mode": "OFF", "gtid_owned": "", "gtid_purged": "", "have_compress": "YES", "have_dynamic_loading": "YES", "have_geometry": "YES", "have_profiling": "YES", "have_query_cache": "NO", "have_rtree_keys": "YES", "have_statement_timeout": "YES", "have_symlink": "DISABLED", "histogram_generation_max_mem_size": 20000000, "host_cache_size": 0, "hostname": "7fb66b4ace44", "information_schema_stats_expiry": 86400, "init_connect": "", "init_file": "", "init_replica": "", "init_slave": "", "innodb_adaptive_flushing": "ON", "innodb_adaptive_flushing_lwm": 10, "innodb_adaptive_hash_index": "OFF", "innodb_adaptive_hash_index_parts": 8, "innodb_adaptive_max_sleep_delay": 150000, "innodb_api_bk_commit_interval": 5, "innodb_api_disable_rowlock": "OFF", "innodb_api_enable_binlog": "OFF", "innodb_api_enable_mdl": "OFF", "innodb_api_trx_level": 0, "innodb_autoextend_increment": 64, "innodb_autoinc_lock_mode": 2, "innodb_buffer_pool_chunk_size": 134217728, "innodb_buffer_pool_dump_at_shutdown": "ON", "innodb_buffer_pool_dump_now": "OFF", "innodb_buffer_pool_dump_pct": 25, "innodb_buffer_pool_filename": "ib_buffer_pool", "innodb_buffer_pool_in_core_file": "OFF", "innodb_buffer_pool_instances": 1, "innodb_buffer_pool_load_abort": "OFF", "innodb_buffer_pool_load_at_startup": "ON", "innodb_buffer_pool_load_now": "OFF", "innodb_buffer_pool_size": 134217728, "innodb_change_buffer_max_size": 25, "innodb_change_buffering": "none", "innodb_checksum_algorithm": "crc32", "innodb_cmp_per_index_enabled": "OFF", "innodb_commit_concurrency": 0, "innodb_compression_failure_threshold_pct": 5, "innodb_compression_level": 6, "innodb_compression_pad_pct_max": 50, "innodb_concurrency_tickets": 5000, "innodb_data_file_path": "ibdata1:12M:autoextend", "innodb_data_home_dir": "", "innodb_ddl_buffer_size": 1048576, "innodb_ddl_threads": 4, "innodb_deadlock_detect": "ON", "innodb_dedicated_server": "OFF", "innodb_default_row_format": "dynamic", "innodb_directories": "", "innodb_disable_sort_file_cache": "OFF", "innodb_doublewrite": "ON", "innodb_doublewrite_batch_size": 0, "innodb_doublewrite_dir": "", "innodb_doublewrite_files": 2, "innodb_doublewrite_pages": 128, "innodb_extend_and_initialize": "ON", "innodb_fast_shutdown": 1, "innodb_file_per_table": "ON", "innodb_fill_factor": 100, "innodb_flush_log_at_timeout": 1, "innodb_flush_log_at_trx_commit": 1, "innodb_flush_method": "O_DIRECT", "innodb_flush_neighbors": 0, "innodb_flush_sync": "ON", "innodb_flushing_avg_loops": 30, "innodb_force_load_corrupted": "OFF", "innodb_force_recovery": 0, "innodb_fsync_threshold": 0, "innodb_ft_aux_table": "", "innodb_ft_cache_size": 8000000, "innodb_ft_enable_diag_print": "OFF", "innodb_ft_enable_stopword": "ON", "innodb_ft_max_token_size": 84, "innodb_ft_min_token_size": 3, "innodb_ft_num_word_optimize": 2000, "innodb_ft_result_cache_limit": 2000000000, "innodb_ft_server_stopword_table": "", "innodb_ft_sort_pll_degree": 2, "innodb_ft_total_cache_size": 640000000, "innodb_ft_user_stopword_table": "", "innodb_idle_flush_pct": 100, "innodb_io_capacity": 10000, "innodb_io_capacity_max": 20000, "innodb_lock_wait_timeout": 50, "innodb_log_buffer_size": 67108864, "innodb_log_checksums": "ON", "innodb_log_compressed_pages": "ON", "innodb_log_file_size": 50331648, "innodb_log_files_in_group": 2, "innodb_log_group_home_dir": "./", "innodb_log_spin_cpu_abs_lwm": 80, "innodb_log_spin_cpu_pct_hwm": 50, "innodb_log_wait_for_flush_spin_hwm": 400, "innodb_log_write_ahead_size": 8192, "innodb_log_writer_threads": "ON", "innodb_lru_scan_depth": 1024, "innodb_max_dirty_pages_pct": "90.000000", "innodb_max_dirty_pages_pct_lwm": "10.000000", "innodb_max_purge_lag": 0, "innodb_max_purge_lag_delay": 0, "innodb_max_undo_log_size": 1073741824, "innodb_monitor_disable": "", "innodb_monitor_enable": "", "innodb_monitor_reset": "", "innodb_monitor_reset_all": "", "innodb_old_blocks_pct": 37, "innodb_old_blocks_time": 1000, "innodb_online_alter_log_max_size": 134217728, "innodb_open_files": 4000, "innodb_optimize_fulltext_only": "OFF", "innodb_page_cleaners": 1, "innodb_page_size": 16384, "innodb_parallel_read_threads": 4, "innodb_print_all_deadlocks": "OFF", "innodb_print_ddl_logs": "OFF", "innodb_purge_batch_size": 300, "innodb_purge_rseg_truncate_frequency": 128, "innodb_purge_threads": 1, "innodb_random_read_ahead": "OFF", "innodb_read_ahead_threshold": 56, "innodb_read_io_threads": 4, "innodb_read_only": "OFF", "innodb_redo_log_archive_dirs": "", "innodb_redo_log_capacity": 104857600, "innodb_redo_log_encrypt": "OFF", "innodb_replication_delay": 0, "innodb_rollback_on_timeout": "OFF", "innodb_rollback_segments": 128, "innodb_segment_reserve_factor": "12.500000", "innodb_sort_buffer_size": 1048576, "innodb_spin_wait_delay": 6, "innodb_spin_wait_pause_multiplier": 50, "innodb_stats_auto_recalc": "ON", "innodb_stats_include_delete_marked": "OFF", "innodb_stats_method": "nulls_equal", "innodb_stats_on_metadata": "OFF", "innodb_stats_persistent": "ON", "innodb_stats_persistent_sample_pages": 20, "innodb_stats_transient_sample_pages": 8, "innodb_status_output": "OFF", "innodb_status_output_locks": "OFF", "innodb_strict_mode": "ON", "innodb_sync_array_size": 1, "innodb_sync_spin_loops": 30, "innodb_table_locks": "ON", "innodb_temp_data_file_path": "ibtmp1:12M:autoextend", "innodb_temp_tablespaces_dir": "./#innodb_temp/", "innodb_thread_concurrency": 0, "innodb_thread_sleep_delay": 10000, "innodb_tmpdir": "", "innodb_undo_directory": "./", "innodb_undo_log_encrypt": "OFF", "innodb_undo_log_truncate": "ON", "innodb_undo_tablespaces": 2, "innodb_use_fdatasync": "ON", "innodb_use_native_aio": "ON", "innodb_validate_tablespace_paths": "ON", "innodb_version": "8.4.1", "innodb_write_io_threads": 4, "interactive_timeout": 28800, "internal_tmp_mem_storage_engine": "TempTable", "join_buffer_size": 262144, "keep_files_on_create": "OFF", "key_buffer_size": 8388608, "key_cache_age_threshold": 300, "key_cache_block_size": 1024, "key_cache_division_limit": 100, "keyring_operations": "ON", "large_files_support": "ON", "large_page_size": 0, "large_pages": "OFF", "lc_messages": "en_US", "lc_messages_dir": "/usr/share/mysql-8.4/", "lc_time_names": "en_US", "license": "GPL", "local_infile": "OFF", "lock_wait_timeout": 31536000, "locked_in_memory": "OFF", "log_bin": "ON", "log_bin_basename": "/var/lib/mysql/primary-bin", "log_bin_index": "/var/lib/mysql/primary-bin.index", "log_bin_trust_function_creators": "OFF", "log_error": "stderr", "log_error_services": "log_filter_internal; log_sink_internal", "log_error_suppression_list": "", "log_error_verbosity": 2, "log_output": "FILE", "log_queries_not_using_indexes": "OFF", "log_raw": "OFF", "log_replica_updates": "ON", "log_slave_updates": "ON", "log_slow_admin_statements": "OFF", "log_slow_extra": "OFF", "log_slow_replica_statements": "OFF", "log_slow_slave_statements": "OFF", "log_statements_unsafe_for_binlog": "ON", "log_throttle_queries_not_using_indexes": 0, "log_timestamps": "UTC", "long_query_time": "10.000000", "low_priority_updates": "OFF", "lower_case_file_system": "OFF", "lower_case_table_names": 0, "mandatory_roles": "", "master_verify_checksum": "OFF", "max_allowed_packet": 67108864, "max_binlog_cache_size": 18446744073709547520, "max_binlog_size": 1073741824, "max_binlog_stmt_cache_size": 18446744073709547520, "max_connect_errors": 1, "max_connections": 151, "max_delayed_threads": 20, "max_digest_length": 1024, "max_error_count": 1024, "max_execution_time": 0, "max_heap_table_size": 16777216, "max_insert_delayed_threads": 20, "max_join_size": 18446744073709551615, "max_length_for_sort_data": 4096, "max_points_in_geometry": 65536, "max_prepared_stmt_count": 16382, "max_relay_log_size": 0, "max_seeks_for_key": 18446744073709551615, "max_sort_length": 1024, "max_sp_recursion_depth": 0, "max_user_connections": 0, "max_write_lock_count": 18446744073709551615, "min_examined_row_limit": 0, "myisam_data_pointer_size": 6, "myisam_max_sort_file_size": 9223372036853727232, "myisam_mmap_size": 18446744073709551615, "myisam_recover_options": "OFF", "myisam_sort_buffer_size": 8388608, "myisam_stats_method": "nulls_unequal", "myisam_use_mmap": "OFF", "mysql_native_password_proxy_users": "OFF", "mysqlx_bind_address": "*", "mysqlx_compression_algorithms": "DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM", "mysqlx_connect_timeout": 30, "mysqlx_deflate_default_compression_level": 3, "mysqlx_deflate_max_client_compression_level": 5, "mysqlx_document_id_unique_prefix": 0, "mysqlx_enable_hello_notice": "ON", "mysqlx_idle_worker_thread_timeout": 60, "mysqlx_interactive_timeout": 28800, "mysqlx_lz4_default_compression_level": 2, "mysqlx_lz4_max_client_compression_level": 8, "mysqlx_max_allowed_packet": 67108864, "mysqlx_max_connections": 100, "mysqlx_min_worker_threads": 2, "mysqlx_port": 33060, "mysqlx_port_open_timeout": 0, "mysqlx_read_timeout": 30, "mysqlx_socket": "/var/run/mysqld/mysqlx.sock", "mysqlx_ssl_ca": "", "mysqlx_ssl_capath": "", "mysqlx_ssl_cert": "", "mysqlx_ssl_cipher": "", "mysqlx_ssl_crl": "", "mysqlx_ssl_crlpath": "", "mysqlx_ssl_key": "", "mysqlx_wait_timeout": 28800, "mysqlx_write_timeout": 60, "mysqlx_zstd_default_compression_level": 3, "mysqlx_zstd_max_client_compression_level": 11, "net_buffer_length": 16384, "net_read_timeout": 30, "net_retry_count": 10, "net_write_timeout": 60, "ngram_token_size": 2, "offline_mode": "OFF", "old_alter_table": "OFF", "open_files_limit": 65536, "optimizer_max_subgraph_pairs": 100000, "optimizer_prune_level": 1, "optimizer_search_depth": 62, "optimizer_switch": "index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on", "optimizer_trace": "enabled=off,one_line=off", "optimizer_trace_features": "greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on", "optimizer_trace_limit": 1, "optimizer_trace_max_mem_size": 1048576, "optimizer_trace_offset": -1, "parser_max_mem_size": 18446744073709551615, "partial_revokes": "OFF", "password_history": 0, "password_require_current": "OFF", "password_reuse_interval": 0, "performance_schema": "ON", "performance_schema_accounts_size": -1, "performance_schema_digests_size": 10000, "performance_schema_error_size": 5538, "performance_schema_events_stages_history_long_size": 10000, "performance_schema_events_stages_history_size": 10, "performance_schema_events_statements_history_long_size": 10000, "performance_schema_events_statements_history_size": 10, "performance_schema_events_transactions_history_long_size": 10000, "performance_schema_events_transactions_history_size": 10, "performance_schema_events_waits_history_long_size": 10000, "performance_schema_events_waits_history_size": 10, "performance_schema_hosts_size": -1, "performance_schema_max_cond_classes": 150, "performance_schema_max_cond_instances": -1, "performance_schema_max_digest_length": 1024, "performance_schema_max_digest_sample_age": 60, "performance_schema_max_file_classes": 80, "performance_schema_max_file_handles": 32768, "performance_schema_max_file_instances": -1, "performance_schema_max_index_stat": -1, "performance_schema_max_memory_classes": 470, "performance_schema_max_metadata_locks": -1, "performance_schema_max_meter_classes": 30, "performance_schema_max_metric_classes": 600, "performance_schema_max_mutex_classes": 350, "performance_schema_max_mutex_instances": -1, "performance_schema_max_prepared_statements_instances": -1, "performance_schema_max_program_instances": -1, "performance_schema_max_rwlock_classes": 100, "performance_schema_max_rwlock_instances": -1, "performance_schema_max_socket_classes": 10, "performance_schema_max_socket_instances": -1, "performance_schema_max_sql_text_length": 1024, "performance_schema_max_stage_classes": 175, "performance_schema_max_statement_classes": 220, "performance_schema_max_statement_stack": 10, "performance_schema_max_table_handles": -1, "performance_schema_max_table_instances": -1, "performance_schema_max_table_lock_stat": -1, "performance_schema_max_thread_classes": 100, "performance_schema_max_thread_instances": -1, "performance_schema_session_connect_attrs_size": 512, "performance_schema_setup_actors_size": -1, "performance_schema_setup_objects_size": -1, "performance_schema_show_processlist": "OFF", "performance_schema_users_size": -1, "persist_only_admin_x509_subject": "", "persist_sensitive_variables_in_plaintext": "ON", "persisted_globals_load": "ON", "pid_file": "/var/run/mysqld/mysqld.pid", "plugin_dir": "/usr/lib64/mysql/plugin/", "port": 3306, "preload_buffer_size": 32768, "print_identified_with_as_hex": "OFF", "profiling": "OFF", "profiling_history_size": 15, "protocol_compression_algorithms": "zlib,zstd,uncompressed", "protocol_version": 10, "query_alloc_block_size": 8192, "query_prealloc_size": 8192, "range_alloc_block_size": 4096, "range_optimizer_max_mem_size": 8388608, "rbr_exec_mode": "STRICT", "read_buffer_size": 131072, "read_only": "OFF", "read_rnd_buffer_size": 262144, "regexp_stack_limit": 8000000, "regexp_time_limit": 32, "relay_log": "7fb66b4ace44-relay-bin", "relay_log_basename": "/var/lib/mysql/7fb66b4ace44-relay-bin", "relay_log_index": "/var/lib/mysql/7fb66b4ace44-relay-bin.index", "relay_log_purge": "ON", "relay_log_recovery": "OFF", "relay_log_space_limit": 0, "replica_allow_batching": "ON", "replica_checkpoint_group": 512, "replica_checkpoint_period": 300, "replica_compressed_protocol": "OFF", "replica_exec_mode": "STRICT", "replica_load_tmpdir": "/tmp", "replica_max_allowed_packet": 1073741824, "replica_net_timeout": 60, "replica_parallel_type": "LOGICAL_CLOCK", "replica_parallel_workers": 4, "replica_pending_jobs_size_max": 134217728, "replica_preserve_commit_order": "ON", "replica_skip_errors": "OFF", "replica_sql_verify_checksum": "ON", "replica_transaction_retries": 10, "replica_type_conversions": "", "replication_optimize_for_static_plugin_config": "OFF", "replication_sender_observe_commit_only": "OFF", "report_host": "", "report_password": "", "report_port": 3306, "report_user": "", "require_secure_transport": "OFF", "restrict_fk_on_non_standard_key": "ON", "rpl_read_size": 8192, "rpl_stop_replica_timeout": 31536000, "rpl_stop_slave_timeout": 31536000, "schema_definition_cache": 256, "secondary_engine_cost_threshold": "100000.000000", "secure_file_priv": "/var/lib/mysql-files/", "select_into_buffer_size": 131072, "select_into_disk_sync": "OFF", "select_into_disk_sync_delay": 0, "server_id": 1, "server_id_bits": 32, "server_uuid": "25bcc386-485b-11f1-93ba-aa1a9528f026", "session_track_gtids": "OFF", "session_track_schema": "ON", "session_track_state_change": "OFF", "session_track_system_variables": "time_zone,autocommit,character_set_client,character_set_results,character_set_connection", "session_track_transaction_info": "OFF", "set_operations_buffer_size": 262144, "sha256_password_auto_generate_rsa_keys": "ON", "sha256_password_private_key_path": "private_key.pem", "sha256_password_proxy_users": "OFF", "sha256_password_public_key_path": "public_key.pem", "show_create_table_verbosity": "OFF", "show_gipk_in_create_table_and_information_schema": "ON", "skip_external_locking": "ON", "skip_name_resolve": "ON", "skip_networking": "OFF", "skip_replica_start": "OFF", "skip_show_database": "OFF", "skip_slave_start": "OFF", "slave_allow_batching": "ON", "slave_checkpoint_group": 512, "slave_checkpoint_period": 300, "slave_compressed_protocol": "OFF", "slave_exec_mode": "STRICT", "slave_load_tmpdir": "/tmp", "slave_max_allowed_packet": 1073741824, "slave_net_timeout": 60, "slave_parallel_type": "LOGICAL_CLOCK", "slave_parallel_workers": 4, "slave_pending_jobs_size_max": 134217728, "slave_preserve_commit_order": "ON", "slave_skip_errors": "OFF", "slave_sql_verify_checksum": "ON", "slave_transaction_retries": 10, "slave_type_conversions": "", "slow_launch_time": 2, "slow_query_log": "OFF", "slow_query_log_file": "/var/lib/mysql/7fb66b4ace44-slow.log", "socket": "/var/run/mysqld/mysqld.sock", "sort_buffer_size": 262144, "source_verify_checksum": "OFF", "sql_auto_is_null": "OFF", "sql_big_selects": "ON", "sql_buffer_result": "OFF", "sql_generate_invisible_primary_key": "OFF", "sql_log_off": "OFF", "sql_mode": "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION", "sql_notes": "ON", "sql_quote_show_create": "ON", "sql_replica_skip_counter": 0, "sql_require_primary_key": "OFF", "sql_safe_updates": "OFF", "sql_select_limit": 18446744073709551615, "sql_slave_skip_counter": 0, "sql_warnings": "OFF", "ssl_ca": "ca.pem", "ssl_capath": "", "ssl_cert": "server-cert.pem", "ssl_cipher": "", "ssl_crl": "", "ssl_crlpath": "", "ssl_fips_mode": "OFF", "ssl_key": "server-key.pem", "ssl_session_cache_mode": "ON", "ssl_session_cache_timeout": 300, "stored_program_cache": 256, "stored_program_definition_cache": 256, "super_read_only": "OFF", "sync_binlog": 1, "sync_master_info": 10000, "sync_relay_log": 10000, "sync_relay_log_info": 10000, "sync_source_info": 10000, "system_time_zone": "UTC", "table_definition_cache": 2000, "table_encryption_privilege_check": "OFF", "table_open_cache": 4000, "table_open_cache_instances": 16, "tablespace_definition_cache": 256, "temptable_max_mmap": 0, "temptable_max_ram": 1073741824, "temptable_use_mmap": "OFF", "terminology_use_previous": "NONE", "thread_cache_size": 9, "thread_handling": "one-thread-per-connection", "thread_stack": 1048576, "time_zone": "SYSTEM", "tls_certificates_enforced_validation": "OFF", "tls_ciphersuites": "", "tls_version": "TLSv1.2,TLSv1.3", "tmp_table_size": 16777216, "tmpdir": "/tmp", "transaction_alloc_block_size": 8192, "transaction_isolation": "REPEATABLE-READ", "transaction_prealloc_size": 4096, "transaction_read_only": "OFF", "unique_checks": "ON", "updatable_views_with_limit": "YES", "version": "8.4.1", "version_comment": "MySQL Community Server - GPL", "version_compile_machine": "x86_64", "version_compile_os": "Linux", "version_compile_zlib": "1.2.13", "wait_timeout": 77, "windowing_use_high_precision": "ON", "xa_detach_on_prepare": "ON"}, "slave_hosts": {}, "slave_status": {}, "users": {"%": {"developers": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:32:57", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "role1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "Y", "password_last_changed": "2026-05-05T08:28:48", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:17", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:43", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:39", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test3": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:40", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test_user_plugin_auth": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:30:55", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user0": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:36", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:28:37", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "10.10.10.10": {"test3": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:50", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "172.18.0.1": {"replication_user": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "Y", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:27:32", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "2001:db8::1": {"test1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:48", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:48", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test3": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:49", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "::1": {"test1": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:45", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test2": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:45", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "test3": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:32:47", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "localhost": {"mysql.infoschema": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "Y", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.session": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "mysql.sys": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "Y", "authentication_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:35", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "root": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "Y", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:19:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "user_issue_465": {"Alter_priv": "N", "Alter_routine_priv": "N", "Create_priv": "N", "Create_role_priv": "N", "Create_routine_priv": "N", "Create_tablespace_priv": "N", "Create_tmp_table_priv": "N", "Create_user_priv": "N", "Create_view_priv": "N", "Delete_priv": "N", "Drop_priv": "N", "Drop_role_priv": "N", "Event_priv": "N", "Execute_priv": "N", "File_priv": "N", "Grant_priv": "N", "Index_priv": "N", "Insert_priv": "N", "Lock_tables_priv": "N", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "N", "References_priv": "N", "Reload_priv": "N", "Repl_client_priv": "N", "Repl_slave_priv": "N", "Select_priv": "N", "Show_db_priv": "N", "Show_view_priv": "N", "Shutdown_priv": "N", "Super_priv": "N", "Trigger_priv": "N", "Update_priv": "N", "User_attributes": null, "account_locked": "N", "authentication_string": "*3B4A3CC0F31028170898EAF1BA106FBE9A1B3D96", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:31:51", "password_lifetime": null, "plugin": "mysql_native_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}, "users_info.com": {"users_info_caching_sha2": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "caching_sha2_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}, "users_info_sha256": {"Alter_priv": "Y", "Alter_routine_priv": "Y", "Create_priv": "Y", "Create_role_priv": "Y", "Create_routine_priv": "Y", "Create_tablespace_priv": "Y", "Create_tmp_table_priv": "Y", "Create_user_priv": "Y", "Create_view_priv": "Y", "Delete_priv": "Y", "Drop_priv": "Y", "Drop_role_priv": "Y", "Event_priv": "Y", "Execute_priv": "Y", "File_priv": "Y", "Grant_priv": "N", "Index_priv": "Y", "Insert_priv": "Y", "Lock_tables_priv": "Y", "Password_require_current": null, "Password_reuse_history": null, "Password_reuse_time": null, "Process_priv": "Y", "References_priv": "Y", "Reload_priv": "Y", "Repl_client_priv": "Y", "Repl_slave_priv": "Y", "Select_priv": "Y", "Show_db_priv": "Y", "Show_view_priv": "Y", "Shutdown_priv": "Y", "Super_priv": "Y", "Trigger_priv": "Y", "Update_priv": "Y", "User_attributes": null, "account_locked": "N", "authentication_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "max_connections": 0, "max_questions": 0, "max_updates": 0, "max_user_connections": 0, "password_expired": "N", "password_last_changed": "2026-05-05T08:25:40", "password_lifetime": null, "plugin": "sha256_password", "ssl_cipher": "", "ssl_type": "", "x509_issuer": "", "x509_subject": ""}}}, "users_info": [{"host": "%", "name": "developers", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "%", "name": "role1", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:USAGE"}, {"host": "%", "name": "root", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "%", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "%", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "%", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "%", "name": "test_user_plugin_auth", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$TDwqdanU82d0yNtvaabbOxuz.ylWzIObi8pFKn/yvBEFuemajEOemhei7XVFx53", "priv": "*.*:SELECT"}, {"host": "%", "name": "user0", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "%", "name": "user1", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "%", "name": "user2", "plugin": "mysql_native_password", "plugin_hash_string": "*6C387FC3893DBA1E3BA155E74754DA6682D04747", "priv": "*.*:USAGE"}, {"host": "10.10.10.10", "name": "test3", "plugin": "caching_sha2_password", "plugin_hash_string": "", "priv": "*.*:USAGE"}, {"host": "172.18.0.1", "name": "replication_user", "plugin": "mysql_native_password", "plugin_hash_string": "*3EE85F6674CACB95A26BE5BCE448F9622BA7ABF9", "priv": "*.*:REPLICATION SLAVE"}, {"host": "2001:db8::1", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "2001:db8::1", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "2001:db8::1", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*C7E7C2710702F20336F8D93BC0670C8FB66BDBC7", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test1", "plugin": "mysql_native_password", "plugin_hash_string": "*AF6A7F9D038475C17EE46564F154104877EE5037", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test2", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "::1", "name": "test3", "plugin": "mysql_native_password", "plugin_hash_string": "*9E22D1B35C68BDDF398B8F28AE482E5A865BAC0A", "priv": "*.*:USAGE"}, {"host": "localhost", "name": "mysql.infoschema", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SELECT,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER"}, {"host": "localhost", "name": "mysql.session", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:SHUTDOWN,SUPER,AUDIT_ABORT_EXEMPT,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN/performance_schema.*:SELECT/mysql.user:SELECT"}, {"host": "localhost", "name": "mysql.sys", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED", "priv": "*.*:USAGE,AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER/sys.*:TRIGGER/sys.sys_config:SELECT"}, {"host": "localhost", "name": "root", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$X{%Q\u0014\nhB\u0005;7y\u001f9A_B\u0014C(gFPU7mzJ1wh.eJPAz4eN4059FG5ZGSC5d/M/T4Bd80C", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,GRANT,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN,GRANT"}, {"host": "localhost", "name": "user_issue_465", "plugin": "mysql_native_password", "plugin_hash_string": "*3B4A3CC0F31028170898EAF1BA106FBE9A1B3D96", "priv": "*.*:USAGE"}, {"host": "users_info.com", "name": "users_info_caching_sha2", "plugin": "caching_sha2_password", "plugin_hash_string": "$A$005$\\\u001dSN8?(q=V_ASYx-lw:r.ksB2vHK3KB08vCqfN5PXtofadd9uWJU4aG8gG4KBGD", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}, {"host": "users_info.com", "name": "users_info_sha256", "plugin": "sha256_password", "plugin_hash_string": "$5$)_ \u0010,\u0013i7jK;D~\u0018V \u0015%^G$6CspLMllSqiUIIT2bo2sBczYaLT267CiUurjRH8XYV0", "priv": "*.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,SHUTDOWN,PROCESS,FILE,REFERENCES,INDEX,ALTER,SHOW DATABASES,SUPER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER,CREATE TABLESPACE,CREATE ROLE,DROP ROLE,ALLOW_NONEXISTENT_DEFINER,APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,OPTIMIZE_LOCAL_TABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN"}], "version": {"full": "8.4.1", "major": 8, "minor": 4, "release": 1, "suffix": ""}}␛[0m
2026-05-05T08:33:25.2231845Z 
2026-05-05T08:33:25.2232102Z TASK [test_mysql_variables : Set variable name when running on MySQL] **********
2026-05-05T08:33:25.2570253Z ␛[0;32mok: [testhost] => {"ansible_facts": {"log_slow_statements": "log_slow_replica_statements"}, "changed": false}␛[0m
2026-05-05T08:33:25.2571065Z 
2026-05-05T08:33:25.2571437Z TASK [test_mysql_variables : Set variable name when running on MariaDB] ********
2026-05-05T08:33:25.3261348Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "result.server_engine == 'MariaDB'", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:25.3262321Z 
2026-05-05T08:33:25.3262676Z TASK [test_mysql_variables : Set a boolean value using ON] *********************
2026-05-05T08:33:25.6105654Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=OFF", "queries": ["SET GLOBAL `log_slow_replica_statements` = ON"]}␛[0m
2026-05-05T08:33:25.6106379Z 
2026-05-05T08:33:25.6106623Z TASK [test_mysql_variables : Check that it changed] ****************************
2026-05-05T08:33:25.6862681Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:25.6863212Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:25.6863565Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:25.6863894Z ␛[0;32m}␛[0m
2026-05-05T08:33:25.6864302Z 
2026-05-05T08:33:25.6864690Z TASK [test_mysql_variables : Set a boolean value again using ON] ***************
2026-05-05T08:33:25.9681574Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value."}␛[0m
2026-05-05T08:33:25.9682245Z 
2026-05-05T08:33:25.9682599Z TASK [test_mysql_variables : Check that it didn't change] **********************
2026-05-05T08:33:26.0439362Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:26.0439876Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:26.0440341Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:26.0440782Z ␛[0;32m}␛[0m
2026-05-05T08:33:26.0440947Z 
2026-05-05T08:33:26.0441260Z TASK [test_mysql_variables : Set a boolean value again using 1] ****************
2026-05-05T08:33:26.3294249Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value."}␛[0m
2026-05-05T08:33:26.3294861Z 
2026-05-05T08:33:26.3295191Z TASK [test_mysql_variables : Check that it didn't change] **********************
2026-05-05T08:33:26.4090373Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:26.4090840Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:26.4091299Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:26.4091704Z ␛[0;32m}␛[0m
2026-05-05T08:33:26.4091859Z 
2026-05-05T08:33:26.4092176Z TASK [test_mysql_variables : Set a boolean value using OFF] ********************
2026-05-05T08:33:26.6925755Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=ON", "queries": ["SET GLOBAL `log_slow_replica_statements` = OFF"]}␛[0m
2026-05-05T08:33:26.6926526Z 
2026-05-05T08:33:26.6926775Z TASK [test_mysql_variables : Check that it changed] ****************************
2026-05-05T08:33:26.7576907Z ␛[1;35m[WARNING]: conditional statements should not include jinja2 templating␛[0m
2026-05-05T08:33:26.7577700Z ␛[1;35mdelimiters such as {{ }} or {% %}. Found: result.queries == ["SET GLOBAL `{{␛[0m
2026-05-05T08:33:26.7578276Z ␛[1;35mlog_slow_statements }}` = OFF"]␛[0m
2026-05-05T08:33:26.7684009Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:26.7684501Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:26.7684905Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:26.7685199Z ␛[0;32m}␛[0m
2026-05-05T08:33:26.7685312Z 
2026-05-05T08:33:26.7685530Z TASK [test_mysql_variables : Set a boolean value again using 0] ****************
2026-05-05T08:33:27.0482946Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value."}␛[0m
2026-05-05T08:33:27.0483553Z 
2026-05-05T08:33:27.0483864Z TASK [test_mysql_variables : Check that it didn't change] **********************
2026-05-05T08:33:27.1219161Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:27.1219639Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:27.1220104Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:27.1220537Z ␛[0;32m}␛[0m
2026-05-05T08:33:27.1220682Z 
2026-05-05T08:33:27.1220983Z TASK [test_mysql_variables : Set a boolean value using on] *********************
2026-05-05T08:33:27.4065465Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=OFF", "queries": ["SET GLOBAL `log_slow_replica_statements` = ON"]}␛[0m
2026-05-05T08:33:27.4066353Z 
2026-05-05T08:33:27.4066617Z TASK [test_mysql_variables : Check that it changed] ****************************
2026-05-05T08:33:27.4867772Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:27.4868260Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:27.4868921Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:27.4869344Z ␛[0;32m}␛[0m
2026-05-05T08:33:27.4869488Z 
2026-05-05T08:33:27.4869772Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:27.5532792Z ␛[0;32mok: [testhost] => {"ansible_facts": {"set_name": "connect_timeout", "set_value": 10}, "changed": false}␛[0m
2026-05-05T08:33:27.5533445Z 
2026-05-05T08:33:27.5533802Z TASK [test_mysql_variables : query mysql_variable using incorrect login_password] ***
2026-05-05T08:33:27.8310512Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to find /root/.my.cnf. Exception message: (1045, \"Access denied for user 'root'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:33:27.8311491Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:27.8311645Z 
2026-05-05T08:33:27.8311879Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:27.9352105Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:27.9353429Z 
2026-05-05T08:33:27.9353755Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:28.0148595Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:28.0149087Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:28.0149561Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:28.0150004Z ␛[0;32m}␛[0m
2026-05-05T08:33:28.0150157Z 
2026-05-05T08:33:28.0150659Z TASK [test_mysql_variables : update mysql variable value using incorrect login_password (expect failed=true)] ***
2026-05-05T08:33:28.3025721Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to find /root/.my.cnf. Exception message: (1045, \"Access denied for user 'root'@'172.18.0.1' (using password: YES)\")"}␛[0m
2026-05-05T08:33:28.3026862Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:28.3027040Z 
2026-05-05T08:33:28.3027313Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:28.4134408Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:28.4135645Z 
2026-05-05T08:33:28.4135956Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:28.4889751Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:28.4890319Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:28.4890786Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:28.4891212Z ␛[0;32m}␛[0m
2026-05-05T08:33:28.4891366Z 
2026-05-05T08:33:28.4891707Z TASK [test_mysql_variables : query mysql_variable using incorrect login_host] ***
2026-05-05T08:33:33.7875478Z ␛[0;31mfatal: [testhost]: FAILED! => {"changed": false, "msg": "unable to find /root/.my.cnf. Exception message: (2003, \"Can't connect to MySQL server on '12.0.0.9' (timed out)\")"}␛[0m
2026-05-05T08:33:33.7876683Z ␛[0;36m...ignoring␛[0m
2026-05-05T08:33:33.7876891Z 
2026-05-05T08:33:33.7877205Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:33.8964113Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_fail_msg.yml for testhost␛[0m
2026-05-05T08:33:33.8965401Z 
2026-05-05T08:33:33.8965734Z TASK [test_mysql_variables : assert message failure (expect failed=true)] ******
2026-05-05T08:33:33.9719759Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:33.9720249Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:33.9720709Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:33.9721130Z ␛[0;32m}␛[0m
2026-05-05T08:33:33.9721277Z 
2026-05-05T08:33:33.9721695Z TASK [test_mysql_variables : update mysql variable value (expect changed=true) in persist mode] ***
2026-05-05T08:33:34.2626257Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=10", "queries": ["SET PERSIST `connect_timeout` = 10"]}␛[0m
2026-05-05T08:33:34.2627090Z 
2026-05-05T08:33:34.2627396Z TASK [test_mysql_variables : assert] *******************************************
2026-05-05T08:33:34.3403940Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:34.3404426Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:34.3404873Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:34.3405662Z ␛[0;32m}␛[0m
2026-05-05T08:33:34.3405992Z 
2026-05-05T08:33:34.3406314Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:34.4251892Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:34.4253161Z 
2026-05-05T08:33:34.4253500Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:34.5196201Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:34.5196718Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:34.5197174Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:34.5197596Z ␛[0;32m}␛[0m
2026-05-05T08:33:34.5197743Z 
2026-05-05T08:33:34.5198061Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:34.7859208Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'connect_timeout'"], "delta": "0:00:00.018188", "end": "2026-05-05 08:33:34.753478", "msg": "", "rc": 0, "start": "2026-05-05 08:33:34.735290", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nconnect_timeout\t10", "stdout_lines": ["Variable_name\tValue", "connect_timeout\t10"]}␛[0m
2026-05-05T08:33:34.7862105Z 
2026-05-05T08:33:34.7862420Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:34.8852728Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:34.8853203Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:34.8853684Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:34.8854110Z ␛[0;32m}␛[0m
2026-05-05T08:33:34.8854268Z 
2026-05-05T08:33:34.8854785Z TASK [test_mysql_variables : try to update mysql variable value (expect changed=false) in persist mode again] ***
2026-05-05T08:33:35.1736739Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already set to requested value globallyand stored into mysqld-auto.cnf file."}␛[0m
2026-05-05T08:33:35.1737390Z 
2026-05-05T08:33:35.1737629Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:35.2601727Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:35.2603085Z 
2026-05-05T08:33:35.2603445Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:35.3798132Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:35.3798816Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:35.3799283Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:35.3799764Z ␛[0;32m}␛[0m
2026-05-05T08:33:35.3799932Z 
2026-05-05T08:33:35.3800265Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:35.6421887Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'connect_timeout'"], "delta": "0:00:00.018215", "end": "2026-05-05 08:33:35.612010", "msg": "", "rc": 0, "start": "2026-05-05 08:33:35.593795", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nconnect_timeout\t10", "stdout_lines": ["Variable_name\tValue", "connect_timeout\t10"]}␛[0m
2026-05-05T08:33:35.6425011Z 
2026-05-05T08:33:35.6425374Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:35.7692613Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:35.7693457Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:35.7694106Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:35.7694516Z ␛[0;32m}␛[0m
2026-05-05T08:33:35.7694667Z 
2026-05-05T08:33:35.7694994Z TASK [test_mysql_variables : set mysql variable to a temp value] ***************
2026-05-05T08:33:36.1111857Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=10", "queries": ["SET PERSIST `connect_timeout` = 200"]}␛[0m
2026-05-05T08:33:36.1113064Z 
2026-05-05T08:33:36.1113607Z TASK [test_mysql_variables : update mysql variable value (expect changed=true) in persist_only mode] ***
2026-05-05T08:33:36.4007721Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=200", "queries": ["SET PERSIST_ONLY `connect_timeout` = 10"]}␛[0m
2026-05-05T08:33:36.4008745Z 
2026-05-05T08:33:36.4009000Z TASK [test_mysql_variables : assert] *******************************************
2026-05-05T08:33:36.4801491Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:36.4801931Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:36.4802293Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:36.4802626Z ␛[0;32m}␛[0m
2026-05-05T08:33:36.4802741Z 
2026-05-05T08:33:36.4803163Z TASK [test_mysql_variables : try to update mysql variable value (expect changed=false) in persist_only mode again] ***
2026-05-05T08:33:36.7748099Z ␛[0;32mok: [testhost] => {"changed": false, "msg": "Variable is already stored into mysqld-auto.cnf with requested value."}␛[0m
2026-05-05T08:33:36.7749186Z 
2026-05-05T08:33:36.7749562Z TASK [test_mysql_variables : assert] *******************************************
2026-05-05T08:33:36.8551177Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:36.8551956Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:36.8552580Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:36.8553134Z ␛[0;32m}␛[0m
2026-05-05T08:33:36.8553335Z 
2026-05-05T08:33:36.8553717Z TASK [test_mysql_variables : set_fact] *****************************************
2026-05-05T08:33:36.9350682Z ␛[0;32mok: [testhost] => {"ansible_facts": {"def_val": 151, "set_name": "max_connections", "set_value": 105}, "changed": false}␛[0m
2026-05-05T08:33:36.9351377Z 
2026-05-05T08:33:36.9351823Z TASK [test_mysql_variables : update mysql variable value (expect changed=true) in persist_only mode] ***
2026-05-05T08:33:37.2247994Z ␛[0;33mchanged: [testhost] => {"changed": true, "msg": "Variable change succeeded prev_value=0", "queries": ["SET PERSIST_ONLY `max_connections` = 105"]}␛[0m
2026-05-05T08:33:37.2249005Z 
2026-05-05T08:33:37.2249287Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:37.3173943Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/assert_var.yml for testhost␛[0m
2026-05-05T08:33:37.3175253Z 
2026-05-05T08:33:37.3175600Z TASK [test_mysql_variables : Assert output message changed value] **************
2026-05-05T08:33:37.4170044Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:37.4170699Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:37.4171357Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:37.4171961Z ␛[0;32m}␛[0m
2026-05-05T08:33:37.4172175Z 
2026-05-05T08:33:37.4172626Z TASK [test_mysql_variables : Run mysql command to show variable] ***************
2026-05-05T08:33:37.6858949Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e show variables like 'max_connections'"], "delta": "0:00:00.018862", "end": "2026-05-05 08:33:37.652014", "msg": "", "rc": 0, "start": "2026-05-05 08:33:37.633152", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "Variable_name\tValue\nmax_connections\t151", "stdout_lines": ["Variable_name\tValue", "max_connections\t151"]}␛[0m
2026-05-05T08:33:37.6862666Z 
2026-05-05T08:33:37.6863040Z TASK [test_mysql_variables : Assert output mysql variable name and value] ******
2026-05-05T08:33:37.7913225Z ␛[0;32mok: [testhost] => {␛[0m
2026-05-05T08:33:37.7913718Z ␛[0;32m    "changed": false,␛[0m
2026-05-05T08:33:37.7914173Z ␛[0;32m    "msg": "All assertions passed"␛[0m
2026-05-05T08:33:37.7914587Z ␛[0;32m}␛[0m
2026-05-05T08:33:37.7914739Z 
2026-05-05T08:33:37.7915035Z TASK [test_mysql_variables : include_tasks] ************************************
2026-05-05T08:33:37.8933350Z ␛[0;36mincluded: /root/ansible_collections/ansible/mysql/tests/output/.tmp/integration/test_mysql_variables-gt20pkkq-ÅÑŚÌβŁÈ/tests/integration/targets/test_mysql_variables/tasks/issue-28.yml for testhost␛[0m
2026-05-05T08:33:37.8934590Z 
2026-05-05T08:33:37.8934905Z TASK [test_mysql_variables : set fact tls_enabled] *****************************
2026-05-05T08:33:38.1511432Z ␛[0;33mchanged: [testhost] => {"changed": true, "cmd": ["mysql", "-h172.18.0.1", "-P3307", "-uroot", "-pmsandbox", "--protocol=tcp", "-e SHOW VARIABLES LIKE 'have_ssl';"], "delta": "0:00:00.018685", "end": "2026-05-05 08:33:38.119163", "msg": "", "rc": 0, "start": "2026-05-05 08:33:38.100478", "stderr": "mysql: [Warning] Using a password on the command line interface can be insecure.", "stderr_lines": ["mysql: [Warning] Using a password on the command line interface can be insecure."], "stdout": "", "stdout_lines": []}␛[0m
2026-05-05T08:33:38.1513988Z 
2026-05-05T08:33:38.1514306Z TASK [test_mysql_variables : Set tls_enabled fact] *****************************
2026-05-05T08:33:38.2393073Z ␛[0;32mok: [testhost] => {"ansible_facts": {"tls_enabled": false}, "changed": false}␛[0m
2026-05-05T08:33:38.2393612Z 
2026-05-05T08:33:38.2393928Z TASK [test_mysql_variables : get server certificate] ***************************
2026-05-05T08:33:38.3053611Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.3054314Z 
2026-05-05T08:33:38.3054578Z TASK [test_mysql_variables : Drop mysql user if exists] ************************
2026-05-05T08:33:38.3697722Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.3698349Z 
2026-05-05T08:33:38.3698834Z TASK [test_mysql_variables : create user with ssl requirement] *****************
2026-05-05T08:33:38.4327353Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.4328030Z 
2026-05-05T08:33:38.4328605Z TASK [test_mysql_variables : attempt connection with newly created user (expect failure)] ***
2026-05-05T08:33:38.4958286Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.4959201Z 
2026-05-05T08:33:38.4959512Z TASK [test_mysql_variables : Assert that result is failed for pymysql] *********
2026-05-05T08:33:38.5589083Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.5589781Z 
2026-05-05T08:33:38.5590134Z TASK [test_mysql_variables : attempt connection with newly created user ignoring hostname] ***
2026-05-05T08:33:38.6266318Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.6267098Z 
2026-05-05T08:33:38.6267401Z TASK [test_mysql_variables : Drop mysql user] **********************************
2026-05-05T08:33:38.7555151Z ␛[0;36mskipping: [testhost] => {"changed": false, "false_condition": "tls_enabled", "skip_reason": "Conditional result was False"}␛[0m
2026-05-05T08:33:38.7555941Z 
2026-05-05T08:33:38.7556208Z PLAY RECAP *********************************************************************
2026-05-05T08:33:38.7557692Z ␛[0;33mtesthost␛[0m                   : ␛[0;32mok=130 ␛[0m ␛[0;33mchanged=28  ␛[0m unreachable=0    failed=0    ␛[0;36mskipped=9   ␛[0m rescued=0    ␛[1;35mignored=8   ␛[0m
2026-05-05T08:33:38.7558945Z 
2026-05-05T08:33:38.9931921Z ␛[31mFATAL: The 1 integration test(s) listed below (out of 7) failed. See error output above for details:
2026-05-05T08:33:38.9932745Z test_mysql_db␛[0m
2026-05-05T08:33:39.0227043Z ␛[32mRun command with stdout: docker exec -i ansible-test-controller-PT9jWmgJ sh -c 'tar cf - -C /root/ansible_collections/ansible/mysql/tests --exclude .tmp output | gzip'␛[0m
2026-05-05T08:33:40.6764507Z ␛[32mRun command with stdin: tar oxzf - -C /home/runner/work/ansible.mysql/ansible.mysql/ansible_collections/ansible/mysql/tests␛[0m
2026-05-05T08:33:41.5055045Z ␛[31mFATAL: Command "docker exec ansible-test-controller-PT9jWmgJ /usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=/root/ansible_collections/ansible/mysql LC_ALL=en_US.UTF-8 /usr/bin/python3.10 /root/ansible/bin/ansible-test integration -v --allow-destructive --containers '{}' --coverage --continue-on-error --diff --docker-network=github_network_20b2a572b87e41b8bff631600483d1a5 --truncate 0 --color yes --host-path tests/output/.tmp/host-6xfuo74z --metadata tests/output/.tmp/metadata-5tes2811.json" returned exit status 1.␛[0m
2026-05-05T08:33:41.5059299Z ␛[32mRun command: docker stop -t 0 ansible-test-controller-PT9jWmgJ␛[0m
2026-05-05T08:33:41.9673342Z ␛[32mRun command: docker rm ansible-test-controller-PT9jWmgJ␛[0m
2026-05-05T08:33:42.2463743Z ##[error]Process completed with exit code 1.
2026-05-05T08:33:42.2516425Z ##[group]Run set +x ; ls -1 'ansible_collections/ansible/mysql/tests/output/reports/coverage=integration.xml' && ( echo "present=true" >> "${GITHUB_OUTPUT}" ) ; exit 0
2026-05-05T08:33:42.2517515Z ␛[36;1mset +x ; ls -1 'ansible_collections/ansible/mysql/tests/output/reports/coverage=integration.xml' && ( echo "present=true" >> "${GITHUB_OUTPUT}" ) ; exit 0␛[0m
2026-05-05T08:33:42.2574912Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-05-05T08:33:42.2575255Z env:
2026-05-05T08:33:42.2575527Z   pythonLocation: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:33:42.2575950Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib/pkgconfig
2026-05-05T08:33:42.2576386Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:33:42.2576741Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:33:42.2577108Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.13/x64
2026-05-05T08:33:42.2577478Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.13/x64/lib
2026-05-05T08:33:42.2577798Z ##[endgroup]
2026-05-05T08:33:42.2667092Z ls: cannot access 'ansible_collections/ansible/mysql/tests/output/reports/coverage=integration.xml': No such file or directory
2026-05-05T08:33:42.3085629Z Post job cleanup.
2026-05-05T08:33:42.3133346Z Post job cleanup.
2026-05-05T08:33:42.4151218Z Print service container logs: 2b3e3cbe28b740b0b31562e04f09880e_dockeriolibrarymysql841_adf9be
2026-05-05T08:33:42.4155996Z ##[command]/usr/bin/docker logs --details 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:33:42.4284915Z  2026-05-05 08:19:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.4285967Z  2026-05-05 08:19:33+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.4286919Z  2026-05-05 08:19:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.4287731Z  2026-05-05 08:19:33+00:00 [Note] [Entrypoint]: Initializing database files
2026-05-05T08:33:42.4289701Z  2026-05-05T08:19:33.750747Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2026-05-05T08:33:42.4290979Z  2026-05-05T08:19:33.752033Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.1) initializing of server in progress as process 80
2026-05-05T08:33:42.4292143Z  2026-05-05T08:19:33.757096Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.4293064Z  2026-05-05T08:19:33.877641Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.4294778Z  2026-05-05T08:19:35.328788Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2026-05-05T08:33:42.4296151Z  2026-05-05T08:19:37.549167Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
2026-05-05T08:33:42.4296976Z  2026-05-05T08:19:37.600105Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.4297925Z  2026-05-05T08:19:37.815416Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 121
2026-05-05T08:33:42.4299198Z  2026-05-05T08:19:37.826552Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.4300062Z  2026-05-05T08:19:37.994208Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.4300883Z  2026-05-05T08:19:38.256277Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.4302158Z  2026-05-05T08:19:38.256307Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.4304331Z  2026-05-05T08:19:38.259036Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.4305806Z  2026-05-05T08:19:38.278491Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.4306829Z  2026-05-05T08:19:38.278573Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
2026-05-05T08:33:42.4307676Z  Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
2026-05-05T08:33:42.4308208Z  Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
2026-05-05T08:33:42.4308980Z  Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
2026-05-05T08:33:42.4309469Z  Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
2026-05-05T08:33:42.4309956Z  Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
2026-05-05T08:33:42.4310458Z  Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
2026-05-05T08:33:42.4311111Z  2026-05-05T08:19:40.446942Z 11 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.4312160Z  2026-05-05T08:19:41.637915Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.4312844Z  2026-05-05T08:19:41.637937Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.4313292Z  2026-05-05T08:19:42.470776Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.4313829Z  2026-05-05T08:19:42.661159Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.4314451Z  2026-05-05T08:19:42.666532Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.4314987Z  2026-05-05T08:19:42.848784Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.4315517Z  2026-05-05T08:19:43.070781Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.4316304Z  2026-05-05T08:19:43.070831Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.4317453Z  2026-05-05T08:19:43.074374Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.4318920Z  2026-05-05T08:19:43.099217Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.4320011Z  2026-05-05T08:19:43.099310Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.4321018Z  2026-05-05T08:19:48.934764Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.4321853Z  2026-05-05T08:19:49.466984Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.4322491Z  2026-05-05T08:19:49.467006Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.4322923Z  2026-05-05T08:19:50.207450Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.4323452Z  2026-05-05T08:19:50.399971Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.4324028Z  2026-05-05T08:19:50.405637Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.4324543Z  2026-05-05T08:19:50.530507Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.4325251Z  2026-05-05T08:19:50.690758Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.4326144Z  2026-05-05T08:19:50.690863Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.4327283Z  2026-05-05T08:19:50.694302Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.4328618Z  2026-05-05T08:19:50.726044Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.4329762Z  2026-05-05T08:19:50.726119Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.4331011Z  2026-05-05T08:25:40.061635Z 64 [Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
2026-05-05T08:33:42.4332318Z  2026-05-05T08:27:32.772067Z 155 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
2026-05-05T08:33:42.4333371Z  2026-05-05 08:19:37+00:00 [Note] [Entrypoint]: Database files initialized
2026-05-05T08:33:42.4333779Z  2026-05-05 08:19:37+00:00 [Note] [Entrypoint]: Starting temporary server
2026-05-05T08:33:42.4334159Z  2026-05-05 08:19:38+00:00 [Note] [Entrypoint]: Temporary server started.
2026-05-05T08:33:42.4334541Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.4334827Z  
2026-05-05T08:33:42.4335056Z  2026-05-05 08:19:40+00:00 [Note] [Entrypoint]: Stopping temporary server
2026-05-05T08:33:42.4335437Z  2026-05-05 08:19:42+00:00 [Note] [Entrypoint]: Temporary server stopped
2026-05-05T08:33:42.4335728Z  
2026-05-05T08:33:42.4335998Z  2026-05-05 08:19:42+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
2026-05-05T08:33:42.4336348Z  
2026-05-05T08:33:42.4336662Z  2026-05-05 08:19:49+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.4337182Z  2026-05-05 08:19:49+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.4337689Z  2026-05-05 08:19:49+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.4338155Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.4344443Z Stop and remove container: 2b3e3cbe28b740b0b31562e04f09880e_dockeriolibrarymysql841_adf9be
2026-05-05T08:33:42.4349936Z ##[command]/usr/bin/docker rm --force 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:33:42.6343410Z 7fb66b4ace44057c60e2dd2ba5ebac7511464df77ebd73d61b8e711eb8295cca
2026-05-05T08:33:42.6365068Z Print service container logs: 633269fc0ac840868b2620937585277a_dockeriolibrarymysql841_7623d4
2026-05-05T08:33:42.6366338Z ##[command]/usr/bin/docker logs --details e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:33:42.6498717Z  2026-05-05T08:19:34.618968Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2026-05-05T08:33:42.6499807Z  2026-05-05 08:19:34+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.6501101Z  2026-05-05T08:19:34.620265Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.1) initializing of server in progress as process 80
2026-05-05T08:33:42.6502318Z  2026-05-05T08:19:34.625282Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.6503233Z  2026-05-05T08:19:34.760639Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.6504632Z  2026-05-05T08:19:36.430083Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2026-05-05T08:33:42.6506026Z  2026-05-05T08:19:38.435726Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
2026-05-05T08:33:42.6506842Z  2026-05-05T08:19:38.497334Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.6507799Z  2026-05-05T08:19:38.701155Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 121
2026-05-05T08:33:42.6508952Z  2026-05-05T08:19:38.712503Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.6509832Z  2026-05-05T08:19:38.874990Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.6510748Z  2026-05-05T08:19:39.198006Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.6512092Z  2026-05-05T08:19:39.198050Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.6514081Z  2026-05-05T08:19:39.202774Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.6515905Z  2026-05-05T08:19:39.226096Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.6517196Z  2026-05-05T08:19:39.226216Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
2026-05-05T08:33:42.6518073Z  Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
2026-05-05T08:33:42.6518885Z  Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
2026-05-05T08:33:42.6519438Z  Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
2026-05-05T08:33:42.6519937Z  Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
2026-05-05T08:33:42.6520422Z  Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
2026-05-05T08:33:42.6520907Z  Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
2026-05-05T08:33:42.6521565Z  2026-05-05T08:19:41.557521Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.6522407Z  2026-05-05T08:19:42.544059Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.6523244Z  2026-05-05T08:19:42.544081Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.6523692Z  2026-05-05T08:19:42.576691Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.6524222Z  2026-05-05T08:19:42.771572Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.6524810Z  2026-05-05T08:19:42.777225Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.6525329Z  2026-05-05T08:19:42.923253Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.6525860Z  2026-05-05T08:19:43.133881Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.6526677Z  2026-05-05T08:19:43.133915Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.6527826Z  2026-05-05T08:19:43.137098Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.6529203Z  2026-05-05T08:19:43.160439Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.6530272Z  2026-05-05T08:19:43.160541Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.6531283Z  2026-05-05T08:19:49.773238Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.6532126Z  2026-05-05T08:19:50.537273Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.6532759Z  2026-05-05T08:19:50.537288Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.6533198Z  2026-05-05T08:19:51.258483Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.6533728Z  2026-05-05T08:19:51.448016Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.6534305Z  2026-05-05T08:19:51.453595Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.6534831Z  2026-05-05T08:19:51.600009Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.6535363Z  2026-05-05T08:19:51.837626Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.6536271Z  2026-05-05T08:19:51.837665Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.6537417Z  2026-05-05T08:19:51.842121Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.6538750Z  2026-05-05T08:19:51.872386Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.6539855Z  2026-05-05T08:19:51.872510Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.6541315Z  2026-05-05T08:27:38.009972Z 57 [Warning] [MY-010604] [Repl] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a replica and has his hostname changed!! Please use '--relay-log=e9bc685957ba-relay-bin' to avoid this problem.
2026-05-05T08:33:42.6543246Z  2026-05-05T08:27:39.121544Z 60 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL '' executed'. Previous state source_host='', source_port= 3306, source_log_file='', source_log_pos= 4, source_bind=''. New state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000001', source_log_pos= 28963, source_bind=''.
2026-05-05T08:33:42.6545574Z  2026-05-05T08:27:39.572903Z 62 [Warning] [MY-010897] [Repl] Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
2026-05-05T08:33:42.6547758Z  2026-05-05T08:27:39.588416Z 62 [System] [MY-014001] [Repl] Replica receiver thread for channel '': connected to source 'replication_user@172.18.0.1:3307' with server_uuid=25bcc386-485b-11f1-93ba-aa1a9528f026, server_id=1. Starting replication from file 'primary-bin.000001', position '28963'.
2026-05-05T08:33:42.6550193Z  2026-05-05T08:27:47.601212Z 74 [Warning] [MY-010897] [Repl] Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
2026-05-05T08:33:42.6552219Z  2026-05-05T08:27:47.613710Z 74 [System] [MY-014001] [Repl] Replica receiver thread for channel '': connected to source 'replication_user@172.18.0.1:3307' with server_uuid=25bcc386-485b-11f1-93ba-aa1a9528f026, server_id=1. Starting replication from file 'primary-bin.000002', position '158'.
2026-05-05T08:33:42.6553797Z  2026-05-05T08:27:48.748013Z 81 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
2026-05-05T08:33:42.6555570Z  2026-05-05T08:27:50.504792Z 86 [Warning] [MY-010897] [Repl] Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
2026-05-05T08:33:42.6557568Z  2026-05-05T08:27:50.512538Z 86 [System] [MY-014001] [Repl] Replica receiver thread for channel '': connected to source 'replication_user@172.18.0.1:3307' with server_uuid=25bcc386-485b-11f1-93ba-aa1a9528f026, server_id=1. Starting replication from file 'primary-bin.000002', position '912'.
2026-05-05T08:33:42.6560140Z  2026-05-05T08:27:52.566996Z 95 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL '' executed'. Previous state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000002', source_log_pos= 1666, source_bind=''. New state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000002', source_log_pos= 1666, source_bind=''.
2026-05-05T08:33:42.6562789Z  2026-05-05T08:27:53.028116Z 96 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL '' executed'. Previous state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000002', source_log_pos= 1666, source_bind=''. New state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000002', source_log_pos= 1666, source_bind=''.
2026-05-05T08:33:42.6573474Z  2026-05-05T08:27:53.847136Z 99 [Warning] [MY-010897] [Repl] Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
2026-05-05T08:33:42.6575632Z  2026-05-05T08:27:53.852657Z 99 [System] [MY-014001] [Repl] Replica receiver thread for channel '': connected to source 'replication_user@172.18.0.1:3307' with server_uuid=25bcc386-485b-11f1-93ba-aa1a9528f026, server_id=1. Starting replication from file 'primary-bin.000002', position '1666'.
2026-05-05T08:33:42.6577600Z  2026-05-05T08:28:00.339271Z 109 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL '' executed'. Previous state source_host='', source_port= 3306, source_log_file='', source_log_pos= 4, source_bind=''. New state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000001', source_log_pos= 158, source_bind=''.
2026-05-05T08:33:42.6580073Z  2026-05-05T08:28:00.734340Z 110 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL 'test_channel-1' executed'. Previous state source_host='', source_port= 3306, source_log_file='', source_log_pos= 4, source_bind=''. New state source_host='', source_port= 3306, source_log_file='', source_log_pos= 4, source_bind=''.
2026-05-05T08:33:42.6581286Z  2026-05-05 08:19:34+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.6581798Z  2026-05-05 08:19:34+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.6582275Z  2026-05-05 08:19:34+00:00 [Note] [Entrypoint]: Initializing database files
2026-05-05T08:33:42.6582675Z  2026-05-05 08:19:38+00:00 [Note] [Entrypoint]: Database files initialized
2026-05-05T08:33:42.6583065Z  2026-05-05 08:19:38+00:00 [Note] [Entrypoint]: Starting temporary server
2026-05-05T08:33:42.6583436Z  2026-05-05 08:19:39+00:00 [Note] [Entrypoint]: Temporary server started.
2026-05-05T08:33:42.6583810Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.6584093Z  
2026-05-05T08:33:42.6584321Z  2026-05-05 08:19:41+00:00 [Note] [Entrypoint]: Stopping temporary server
2026-05-05T08:33:42.6584693Z  2026-05-05 08:19:42+00:00 [Note] [Entrypoint]: Temporary server stopped
2026-05-05T08:33:42.6584992Z  
2026-05-05T08:33:42.6585264Z  2026-05-05 08:19:42+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
2026-05-05T08:33:42.6585629Z  
2026-05-05T08:33:42.6585929Z  2026-05-05 08:19:50+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.6586424Z  2026-05-05 08:19:51+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.6586909Z  2026-05-05 08:19:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.6587363Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.6588557Z Stop and remove container: 633269fc0ac840868b2620937585277a_dockeriolibrarymysql841_7623d4
2026-05-05T08:33:42.6589589Z ##[command]/usr/bin/docker rm --force e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:33:42.8328156Z e9bc685957baf1897e55a494e9d5e14f489fa17b89ad0c084d185175bb16ecee
2026-05-05T08:33:42.8346521Z Print service container logs: 6e357d9614054040a4669e253d593165_dockeriolibrarymysql841_c0f861
2026-05-05T08:33:42.8348116Z ##[command]/usr/bin/docker logs --details e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:33:42.8484360Z  2026-05-05T08:19:35.577435Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2026-05-05T08:33:42.8485411Z  2026-05-05 08:19:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.8486221Z  2026-05-05T08:19:35.578825Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.1) initializing of server in progress as process 79
2026-05-05T08:33:42.8486958Z  2026-05-05T08:19:35.584363Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.8487497Z  2026-05-05T08:19:35.730770Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.8488333Z  2026-05-05T08:19:37.218156Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2026-05-05T08:33:42.8489517Z  2026-05-05T08:19:39.426957Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
2026-05-05T08:33:42.8490030Z  2026-05-05T08:19:39.480483Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.8490909Z  2026-05-05T08:19:39.697515Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 120
2026-05-05T08:33:42.8491514Z  2026-05-05T08:19:39.714198Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.8492043Z  2026-05-05T08:19:39.927890Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.8492580Z  2026-05-05T08:19:40.265454Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.8493386Z  2026-05-05T08:19:40.265493Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.8494566Z  2026-05-05T08:19:40.269995Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.8495557Z  2026-05-05T08:19:40.297650Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.8496509Z  2026-05-05T08:19:40.297703Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.
2026-05-05T08:33:42.8497342Z  Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
2026-05-05T08:33:42.8497860Z  Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
2026-05-05T08:33:42.8498585Z  Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
2026-05-05T08:33:42.8499105Z  Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
2026-05-05T08:33:42.8499589Z  Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
2026-05-05T08:33:42.8500443Z  Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
2026-05-05T08:33:42.8501656Z  2026-05-05T08:19:42.503072Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.8503088Z  2026-05-05T08:19:43.593200Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.8503852Z  2026-05-05T08:19:43.593217Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.8504296Z  2026-05-05T08:19:44.521765Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.8504840Z  2026-05-05T08:19:44.710257Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.8505418Z  2026-05-05T08:19:44.715509Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.8506114Z  2026-05-05T08:19:44.841805Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.8506692Z  2026-05-05T08:19:45.039726Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.8507476Z  2026-05-05T08:19:45.039757Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.8508912Z  2026-05-05T08:19:45.042507Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.8510017Z  2026-05-05T08:19:45.064342Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.8511072Z  2026-05-05T08:19:45.064414Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.8512079Z  2026-05-05T08:19:50.834319Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.4.1).
2026-05-05T08:33:42.8513064Z  2026-05-05T08:19:51.448564Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.4.1)  MySQL Community Server - GPL.
2026-05-05T08:33:42.8513701Z  2026-05-05T08:19:51.448581Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2026-05-05T08:33:42.8514136Z  2026-05-05T08:19:52.207793Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2026-05-05T08:33:42.8514665Z  2026-05-05T08:19:52.398626Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.1) starting as process 1
2026-05-05T08:33:42.8515244Z  2026-05-05T08:19:52.404421Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2026-05-05T08:33:42.8515758Z  2026-05-05T08:19:52.529693Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2026-05-05T08:33:42.8516287Z  2026-05-05T08:19:52.723687Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2026-05-05T08:33:42.8517057Z  2026-05-05T08:19:52.723719Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2026-05-05T08:33:42.8518201Z  2026-05-05T08:19:52.726516Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2026-05-05T08:33:42.8519782Z  2026-05-05T08:19:52.752178Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2026-05-05T08:33:42.8520841Z  2026-05-05T08:19:52.752285Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2026-05-05T08:33:42.8522298Z  2026-05-05T08:27:54.810507Z 57 [Warning] [MY-010604] [Repl] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a replica and has his hostname changed!! Please use '--relay-log=e1917765a9fc-relay-bin' to avoid this problem.
2026-05-05T08:33:42.8524252Z  2026-05-05T08:27:54.812894Z 57 [System] [MY-010597] [Repl] 'CHANGE REPLICATION SOURCE TO FOR CHANNEL 'test_channel-1' executed'. Previous state source_host='', source_port= 3306, source_log_file='', source_log_pos= 4, source_bind=''. New state source_host='172.18.0.1', source_port= 3307, source_log_file='primary-bin.000002', source_log_pos= 1666, source_bind=''.
2026-05-05T08:33:42.8526417Z  2026-05-05T08:27:55.269976Z 59 [Warning] [MY-010897] [Repl] Storing MySQL user name or password information in the connection metadata repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START REPLICA; see the 'START REPLICA Syntax' in the MySQL Manual for more information.
2026-05-05T08:33:42.8528868Z  2026-05-05T08:27:55.282448Z 59 [System] [MY-014001] [Repl] Replica receiver thread for channel 'test_channel-1': connected to source 'replication_user@172.18.0.1:3307' with server_uuid=25bcc386-485b-11f1-93ba-aa1a9528f026, server_id=1. Starting replication from file 'primary-bin.000002', position '1666'.
2026-05-05T08:33:42.8530111Z  2026-05-05 08:19:35+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.8530635Z  2026-05-05 08:19:35+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.8531133Z  2026-05-05 08:19:35+00:00 [Note] [Entrypoint]: Initializing database files
2026-05-05T08:33:42.8531541Z  2026-05-05 08:19:39+00:00 [Note] [Entrypoint]: Database files initialized
2026-05-05T08:33:42.8531925Z  2026-05-05 08:19:39+00:00 [Note] [Entrypoint]: Starting temporary server
2026-05-05T08:33:42.8532303Z  2026-05-05 08:19:40+00:00 [Note] [Entrypoint]: Temporary server started.
2026-05-05T08:33:42.8532694Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.8532981Z  
2026-05-05T08:33:42.8533212Z  2026-05-05 08:19:42+00:00 [Note] [Entrypoint]: Stopping temporary server
2026-05-05T08:33:42.8533711Z  2026-05-05 08:19:44+00:00 [Note] [Entrypoint]: Temporary server stopped
2026-05-05T08:33:42.8534004Z  
2026-05-05T08:33:42.8534272Z  2026-05-05 08:19:44+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
2026-05-05T08:33:42.8534628Z  
2026-05-05T08:33:42.8534927Z  2026-05-05 08:19:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.8535423Z  2026-05-05 08:19:51+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-05-05T08:33:42.8535922Z  2026-05-05 08:19:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.1-1.el9 started.
2026-05-05T08:33:42.8536384Z  '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2026-05-05T08:33:42.8537208Z Stop and remove container: 6e357d9614054040a4669e253d593165_dockeriolibrarymysql841_c0f861
2026-05-05T08:33:42.8537851Z ##[command]/usr/bin/docker rm --force e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:33:43.0297960Z e1917765a9fc84c5f6ba86d134c17ceefd5eda2c7a495b8952828805cc1fc8ed
2026-05-05T08:33:43.0320816Z Remove container network: github_network_20b2a572b87e41b8bff631600483d1a5
2026-05-05T08:33:43.0325814Z ##[command]/usr/bin/docker network rm github_network_20b2a572b87e41b8bff631600483d1a5
2026-05-05T08:33:43.1501494Z github_network_20b2a572b87e41b8bff631600483d1a5
2026-05-05T08:33:43.1565742Z Cleaning up orphan processes
2026-05-05T08:33:43.1938278Z ##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
