mysql
docker pull mysql
# MYSQL_ROOT_PASSWORD root密码
/etc/mysql/my.cnf # 配置文件
/var/lib/mysql # 存储挂载
version: '3'
services:
mysql:
image: mysql:5.7 # 一定要写清楚版本号,不同版本之间会出现不兼容
container_name: mysql-1
privileged: true
restart: always # 自动重启
ports:
- 33309:3306
volumes:
- ./mysql:/var/lib/mysql # 文件存储
- ./my.cnf:/etc/mysql/mysql.conf.d/my.cnf # 配置文件
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=123456 # root密码
[mysql]
user=root
default_character_set=utf8
[mysqld]
# 不区分表名称大小写
lower_case_table_names=1
# 不在聚合函数列的字段的兼容的GROUP BY
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 最大连接数
max_connections=5000
# 等待连接超时时间(秒)
wait_timeout=600
# mysql 在关闭一个进程前要等待的秒数
interactive_timeout=600
# 一行记录的大小限制,最大为1G,默认值为4M
max_allowed_packet=100M
# 服务器ID,唯一
server_id=1
# 开启binlog
log_bin=binlog
# 设置中继日志
relay-log=relay-bin
# 开启行日志
binlog_format=ROW
# 设置从库为指读模式
# read-only=1
# 开启慢查询日志
slow_query_log=1
# 慢查询日志文件路径
# slow_query_log_file=/var/log/mysql/mysql-slow.log
# 如果未设置,可以使用 SHOW VARIABLES LIKE 'slow_query_log_file'查看
# 记录查询执行时间超过30秒的查询
long_query_time=10
use mysql;
# 创建用户
CREATE USER 'join_web_user'@'%' IDENTIFIED BY 'jo!n141421';
# 查看用户
select * from user
# 授权指定库和表
# 语法 GRANT [privileges] on [[databasename].[tablename] to ‘user’@‘host’
# privileges SELECT,INSERT,UPDATE,ALL
# databasename.tablename 如果全部授权则填写为*或者*.*,databasename.*
# ‘user’@‘host’ 登录用户名
GRANT all privileges ON *.* TO 'join_web_user'@'%'
# 刷新权限
flush privileges;
# 删除权限
# 语法 REVOKE [privileges] ON [[databasename].[tablename] from 'join_web_user'@'%'
# 其他操作参数的使用与授权一致
REVOKE all ON *.* from 'join_web_user'@'%'
# 删除用户
DROP USER 'join_web_user'@'%';