sql >> Database teknologi >  >> RDS >> Mysql

Aktiver logning i docker mysql container

Jeg ledte efter nøjagtig det samme, og nu er der en bedre måde at gøre det på.

docker mysql skriver:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

I en docker-compose verden, kunne man sende disse argumenter gennem "kommandoen" sektion af tjenesten:

command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

I mit tilfælde ville jeg bare slå logfilerne til og angive stien til logfilen :

 command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log

Med passende mængder (f.eks. - ./logs/mysql.log:/var/log/mysql/general-log.log ), bliver det nemt at nå dem.

Dette er ret ligetil og undgå at håndtere en lokal konfiguration. Det fungerer med alle MySQL Docker-billeder og vil beholde my.cnf som afsendt af billedet.



  1. Hvordan vælger man den n'te række i en SQL-databasetabel?

  2. mysql ordre efter rand() ydeevne problem og løsning

  3. Sådan overvåger du PostgreSQL, der kører inde i en Docker-container:Del 1

  4. MySQL InnoDB-begrænsning virker ikke