| 1 | MYSQL_USER=user |
| 2 | MYSQL_PASSWORD=password |
| 3 | MYSQL_ROOT_PASSWORD=rootpassword |
README.md
· 565 B · Markdown
Исходник
| 變數 | 作用 | 預設值 |
| --------------------- | ---------------- | -------------- |
| `MYSQL_DATABASE` | 預設建立的資料庫 | `myapp` |
| `MYSQL_USER` | 普通使用者帳號 | `user` |
| `MYSQL_PASSWORD` | 普通使用者密碼 | `password` |
| `MYSQL_ROOT_PASSWORD` | Root 使用者密碼 | `rootpassword` |
```bash
docker exec -it mysql-container mysql -uroot -p
```
```sql
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'max_connections';
```
| 變數 | 作用 | 預設值 |
|---|---|---|
MYSQL_DATABASE |
預設建立的資料庫 | myapp |
MYSQL_USER |
普通使用者帳號 | user |
MYSQL_PASSWORD |
普通使用者密碼 | password |
MYSQL_ROOT_PASSWORD |
Root 使用者密碼 | rootpassword |
docker exec -it mysql-container mysql -uroot -p
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'max_connections';
docker-compose.yml
· 389 B · YAML
Исходник
services:
mysql:
container_name: mysql-container
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myapp
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
- ./mysql_data:/var/lib/mysql
- ./mysql_data/my.cnf:/etc/mysql/my.cnf
restart: always
| 1 | services: |
| 2 | mysql: |
| 3 | container_name: mysql-container |
| 4 | image: mysql:8.0 |
| 5 | ports: |
| 6 | - "3306:3306" |
| 7 | environment: |
| 8 | MYSQL_DATABASE: myapp |
| 9 | MYSQL_USER: ${MYSQL_USER} |
| 10 | MYSQL_PASSWORD: ${MYSQL_PASSWORD} |
| 11 | MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} |
| 12 | volumes: |
| 13 | - ./mysql_data:/var/lib/mysql |
| 14 | - ./mysql_data/my.cnf:/etc/mysql/my.cnf |
| 15 | restart: always |
| 16 |
my.cnf
· 293 B · Text
Исходник
# ./mysql_data/my.cnf
[mysqld]
max_connections = 150
table_open_cache = 400
innodb_buffer_pool_size = 512M
innodb_redo_log_capacity = 256M
innodb_flush_log_at_trx_commit = 1
sync_binlog = 0
log_bin_trust_function_creators = 1
authentication_policy = 'mysql_native_password'
skip-name-resolve
| 1 | # ./mysql_data/my.cnf |
| 2 | |
| 3 | [mysqld] |
| 4 | max_connections = 150 |
| 5 | table_open_cache = 400 |
| 6 | innodb_buffer_pool_size = 512M |
| 7 | innodb_redo_log_capacity = 256M |
| 8 | innodb_flush_log_at_trx_commit = 1 |
| 9 | sync_binlog = 0 |
| 10 | log_bin_trust_function_creators = 1 |
| 11 | authentication_policy = 'mysql_native_password' |
| 12 | skip-name-resolve |
| 13 |
mysql_database_table_info.sql
· 227 B · MySQL
Исходник
SELECT TABLE_SCHEMA AS DATABASE_NAME,
TABLE_NAME,
TABLE_ROWS AS RECORDS,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS SIZE_MB
FROM INFORMATION_SCHEMA.TABLES
ORDER BY DATABASE_NAME, SIZE_MB DESC;
| 1 | SELECT TABLE_SCHEMA AS DATABASE_NAME, |
| 2 | TABLE_NAME, |
| 3 | TABLE_ROWS AS RECORDS, |
| 4 | ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS SIZE_MB |
| 5 | FROM INFORMATION_SCHEMA.TABLES |
| 6 | ORDER BY DATABASE_NAME, SIZE_MB DESC; |
| 7 |