docker在线安装
搜索mysql镜像docker search mysql
这里选择 centos/mysql-57-centos7
下载镜像docker pull centos/mysql-57-centos7 (如果不加版本号(tag),默认是latest)
创建mysql数据存访目录(无需持久化可跳过此步骤)mkdir -p /my/mysql/data
创建mysql自定义配置文件存放目录mkdir -p /my/mysql/config
注意:将目录从主机挂载到容器中时,请确保挂载的目录具有适当的权限,并且目录的所有者和组与在容器内运行的用户 UID 或名称匹配。(一般报错都是文件夹无权限)
启动docker run --name mysql -d -v /my/mysql/data:/var/lib/mysql/data -v /my/mysql/config:/etc/mysql/mysql.config.d/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7:latest
查看容器列表docker container ps -a
故障排查(查看日志)docker logs 容器名|容器id
将mysql配置文件copy至宿主机目录docker cp 容器id:/etc/my.cnf /my/mysql/config
其他参数用法:-e 参数名=value
MYSQL_USER
要创建的 MySQL 帐户的用户名
MYSQL_PASSWORD
用户帐户的密码
MYSQL_DATAbase
数据库名称
MYSQL_ROOT_PASSWORD
root 用户的密码(可选)
以下环境变量会影响 MySQL 配置文件。它们都是可选的。
MYSQL_LOWER_CASE_TABLE_NAMES (default: 0)
设置表名的存储和比较方式
MYSQL_MAX_ConNECTIONS (default: 151)
允许的最大并发客户端连接数
MYSQL_MAX_ALLOWED_PACKET (default: 200M)
一个数据包或任何生成/中间字符串的最大大小
MYSQL_FT_MIN_WORD_LEN (default: 4)
要包含在 FULLTEXT 索引中的单词的最小长度
MYSQL_FT_MAX_WORD_LEN (default: 20)
要包含在 FULLTEXT 索引中的单词的最大长度
MYSQL_AIO (default: 1)
控制本innodb_use_native_aio机 AIO 损坏时的设置值。见InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
MYSQL_TABLE_OPEN_CACHE (default: 400)
所有线程的打开表数
MYSQL_KEY_BUFFER_SIZE (default: 32M or 10% of available memory)
用于索引块的缓冲区大小
MYSQL_SORT_BUFFER_SIZE (default: 256K)
用于排序的缓冲区大小
MYSQL_READ_BUFFER_SIZE (default: 8M or 5% of available memory)
用于顺序扫描的缓冲区大小
MYSQL_INNODB_BUFFER_POOL_SIZE (default: 32M or 50% of available memory)
InnoDB 缓存表和索引数据的缓冲池的大小
MYSQL_INNODB_LOG_FILE_SIZE (default: 8M or 15% of available memory)
日志组中每个日志文件的大小
MYSQL_INNODB_LOG_BUFFER_SIZE (default: 8M or 15% of available memory)
InnoDB 用于写入磁盘上日志文件的缓冲区大小
MYSQL_DEFAULTS_FILE (default: /etc/my.cnf)
指向备用配置文件
MYSQL_BINLOG_FORMAT (default: statement)
set 设置二进制日志格式,支持的值为row和statement
MYSQL_LOG_QUERIES_ENABLED (default: 0)
要启用查询日志记录,请将其设置为 1



