Centos系统Mysql镜像

Centos系统Mysql镜像pull命令

docker pull centos/mysql-57-centos7:latest
docker pull centos/mysql-57-centos7:5.7

用法

为此,我们假设您使用的是 Red Hat Container Catalog 中名为 rhscl/mysql-57-rhel7 的 MySQL 5.7 容器镜像。如果只想设置必需的环境变量而不将数据库存储在主机目录中,请执行以下命令:

$ podman run -d --name mysql_database -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 rhscl/mysql-57-rhel7

这将创建一个名为 mysql_database 的容器,该容器使用数据库 db 和具有凭据 user:pass 的用户运行 MySQL。端口 3306 将被公开并映射到主机。如果您希望您的数据库在容器执行中保持持久性,还可以添加 -v /host/db/path:/var/lib/mysql/data 参数。这将是 MySQL 数据目录。

如果数据库目录未初始化,入口点脚本将首先运行 mysql_install_db 并设置必要的数据库用户和密码。数据库初始化后,或者如果它已经存在,则执行 mysqld 并将作为 PID 1 运行。您可以通过运行 podman stop mysql_database 来停止分离的容器。
环境变量和卷

该映像识别您可以在初始化期间通过将 -e VAR=VALUE 传递给 Docker 运行命令来设置的以下环境变量。

MYSQL_USER
要创建的 MySQL 帐户的用户名

MYSQL_PASSWORD
用户帐户的密码

MYSQL_DATABASE
数据库名称

MYSQL_ROOT_PASSWORD
root 用户的密码(可选)

以下环境变量会影响 MySQL 配置文件。它们都是可选的。

MYSQL_LOWER_CASE_TABLE_NAMES(默认值:0)
设置表名的存储和比较方式

MYSQL_MAX_CONNECTIONS(默认值:151)
允许的最大并发客户端连接数

MYSQL_MAX_ALLOWED_PACKET(默认:200M)
一个数据包或任何生成/中间字符串的最大大小

MYSQL_FT_MIN_WORD_LEN(默认值:4)
要包含在 FULLTEXT 索引中的单词的最小长度

MYSQL_FT_MAX_WORD_LEN(默认值:20)
要包含在 FULLTEXT 索引中的单词的最大长度

MYSQL_AIO(默认值:1)
控制 innodb_use_native_aio 设置值,以防本机 AIO 损坏。见 http://help.directadmin.com/item.php?id=529

MYSQL_TABLE_OPEN_CACHE(默认值:400)
所有线程的打开表数

MYSQL_KEY_BUFFER_SIZE(默认值:32M 或可用内存的 10%)
用于索引块的缓冲区大小

MYSQL_SORT_BUFFER_SIZE(默认值:256K)
用于排序的缓冲区大小

MYSQL_READ_BUFFER_SIZE(默认值:8M 或可用内存的 5%)
用于顺序扫描的缓冲区大小

MYSQL_INNODB_BUFFER_POOL_SIZE(默认值:32M 或可用内存的 50%)
InnoDB 缓存表和索引数据的缓冲池的大小

MYSQL_INNODB_LOG_FILE_SIZE(默认值:8M 或可用内存的 15%)
日志组中每个日志文件的大小

MYSQL_INNODB_LOG_BUFFER_SIZE(默认值:8M 或可用内存的 15%)
InnoDB 用于写入磁盘上日志文件的缓冲区大小

MYSQL_DEFAULTS_FILE(默认:/etc/my.cnf)
指向备用配置文件

MYSQL_BINLOG_FORMAT(默认值:语句)
set设置binlog格式,支持的值为row和statement

MYSQL_LOG_QUERIES_ENABLED(默认值:0)
要启用查询日志记录,请将其设置为 1

您还可以通过将 -v /host:/container 标志传递给 Docker 来设置以下挂载点。

/var/lib/mysql/data
MySQL数据目录

注意:将目录从主机挂载到容器中时,请确保挂载的目录具有适当的权限,并且目录的所有者和组与在容器内运行的用户 UID 或名称匹配。
MySQL 自动调优

当 MySQL 映像使用 –memory 参数集运行并且您没有为某些参数指定值时,它们的值将根据可用内存自动计算。

MYSQL_KEY_BUFFER_SIZE(默认值:10%)
key_buffer_size

MYSQL_READ_BUFFER_SIZE(默认值:5%)
读取缓冲区大小

MYSQL_INNODB_BUFFER_POOL_SIZE(默认值:50%)
innodb_buffer_pool_size

MYSQL_INNODB_LOG_FILE_SIZE(默认值:15%)
innodb_log_file_size

MYSQL_INNODB_LOG_BUFFER_SIZE(默认值:15%)
innodb_log_buffer_size
MySQL 根用户

root 用户默认没有设置密码,只允许本地连接。您可以通过设置 MYSQL_ROOT_PASSWORD 环境变量来设置它。这将允许您远程登录到 root 帐户。本地连接仍然不需要密码。

要禁用远程 root 访问,只需取消设置 MYSQL_ROOT_PASSWORD 并重新启动容器。

给TA打赏
共{{data.count}}人
人已打赏
数据库

Ubuntu系统Mysql镜像

2021-7-4 21:26:33

系统安全

chroot命令

2018-4-22 8:58:55

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索