github.com/letsencrypt/boulder@v0.20251208.0/test/proxysql/README.md (about)

     1  # ProxySQL in Boulder
     2  
     3  In an effort to keep Boulder's development environment reasonably close to
     4  production we use ProxySQL in our Docker stack to proxy connections to our
     5  MariaDB database.
     6  
     7  ## Ports
     8  
     9  ProxySQL listens on the following ports:
    10    - `6033` Proxy MySQL Interface
    11    - `6032` Admin MySQL Interface
    12    - `6080` Admin Web Interface
    13  
    14  ## Accessing the Admin MySQL Interface
    15  
    16  ```bash
    17  mysql -uradmin -pradmin -h 127.0.0.1 --port 6032
    18  ```
    19  
    20  ### MacOS
    21  
    22  You will need to bind the port in `docker-compose.yml`, like so:
    23  
    24  ```yaml
    25    bproxysql:
    26      ports:
    27        - 6032:6032
    28  ```
    29  
    30  ## Accessing the Admin Web Interface
    31  
    32  You can access the ProxySQL web UI at https://127.0.0.1:6080. The default
    33  username/ password are `stats`/ `stats`.
    34  
    35  ### MacOS
    36  
    37  You will need to bind the port in `docker-compose.yml`, like so:
    38  
    39  ```yaml
    40    bproxysql:
    41      ports:
    42        - 6080:6080
    43  ```
    44  
    45  ## Sending queries to a file
    46  
    47  To log all queries routed through the ProxySQL query parser, uncomment the
    48  following line in the `mysql_variables` section of `test/proxysql/proxysql.cnf`,
    49  like so:
    50  
    51  ```ini
    52  # If mysql_query_rules are marked log=1, they will be logged here. If unset,
    53  # no queries are logged.
    54  eventslog_filename="/test/proxysql/events.log"
    55  ```
    56  
    57  Then set `log = 1;` for `rule_id = 1;` in the `mysql_query_rules` section, like so:
    58  
    59  ```
    60  {
    61      rule_id = 1;
    62      active = 1;
    63      # Log all queries.
    64      match_digest = ".";
    65      # Set log=1 to log all queries to the eventslog_filename under
    66      # mysql_variables.
    67      log = 1;
    68      apply = 0;
    69  },
    70  ```
    71  
    72  ## Sending ProxySQL logs to a file
    73  
    74  Replace the `entrypoint:` under `bproxysql` in `docker-compose.yml` with
    75  `/test/proxysql/entrypoint.sh`. This is necessary because if you attempt to run
    76  ProxySQL in the background (by removing the `-f` flag) Docker will simply kill
    77  the container.