boulder/test/proxysql/README.md

78 lines
1.8 KiB
Markdown

# ProxySQL in Boulder
In an effort to keep Boulder's development environment reasonably close to
production we use ProxySQL in our Docker stack to proxy connections to our
MariaDB database.
## Ports
ProxySQL listens on the following ports:
- `6033` Proxy MySQL Interface
- `6032` Admin MySQL Interface
- `6080` Admin Web Interface
## Accessing the Admin MySQL Interface
```bash
mysql -uradmin -pradmin -h 127.0.0.1 --port 6032
```
### MacOS
You will need to bind the port in `docker-compose.yml`, like so:
```yaml
bproxysql:
ports:
- 6032:6032
```
## Accessing the Admin Web Interface
You can access the ProxySQL web UI at https://127.0.0.1:6080. The default
username/ password are `stats`/ `stats`.
### MacOS
You will need to bind the port in `docker-compose.yml`, like so:
```yaml
bproxysql:
ports:
- 6080:6080
```
## Sending queries to a file
To log all queries routed through the ProxySQL query parser, uncomment the
following line in the `mysql_variables` section of `test/proxysql/proxysql.cnf`,
like so:
```ini
# If mysql_query_rules are marked log=1, they will be logged here. If unset,
# no queries are logged.
eventslog_filename="/test/proxysql/events.log"
```
Then set `log = 1;` for `rule_id = 1;` in the `mysql_query_rules` section, like so:
```
{
rule_id = 1;
active = 1;
# Log all queries.
match_digest = ".";
# Set log=1 to log all queries to the eventslog_filename under
# mysql_variables.
log = 1;
apply = 0;
},
```
## Sending ProxySQL logs to a file
Replace the `entrypoint:` under `bproxysql` in `docker-compose.yml` with
`/test/proxysql/entrypoint.sh`. This is necessary because if you attempt to run
ProxySQL in the background (by removing the `-f` flag) Docker will simply kill
the container.