分享一个mysql的docker-compose.yml
version: "3"
services:
db:
restart: always
container_name: mysql
command:
--lower_case_table_names=1
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
image: mysql
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: crm@8888
ports:
- 3306:3306
volumes:
- /usr/local/docker/mysql/data:/var/lib/mysql
- /usr/local/docker/mysql/config:/etc/mysql/conf.d
说明
- /usr/local/docker/mysql/data:/var/lib/mysql
这里是映射mysql的data目录
- /usr/local/docker/mysql/config:/etc/mysql/conf.d
这里是映射mysql的配置文件(路径创建后需要自己手动添加conf.d)
mysql 常用命令
-- 创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
-- 授权使用数据库
GRANT ALL ON *.* TO 'username'@'%';
参考文档
这里的就是CSDN上一个作者的文章,我直接搬运过来了
mysql5
version: '3.1'
services:
mysql:
restart: always
image: mysql:5.7.22
container_name: mysql
ports:
- 3306:3306
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
mysql8
version: '3.1'
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
adminer:
image: adminer
restart: always
ports:
- 8080:8080