Docker怎么安装MySQL8

这篇文章主要讲解了“Docker怎么安装MySQL8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么安装MysqL8”吧!

一、下载镜像

docker Hub官网URL:https://hub.docker.com/_/MysqL/
下载最新版本:docker pull MysqL 
下载指定版本:docker pull MysqL:verison(8.0.11,8.0,8)

二、启动镜像

docker run  -d --name MysqL -v /data/datadir:/var/lib/MysqL -v /etc/MysqL/my.cnf:/etc/MysqL/my.cnf -p 3306:3306 -e MysqL_ROOT_PASSWORD=123456 MysqL:tag

没有/data/datadir路径或/etc/MysqL/my.cnf配置文件,可以使用认,不需挂载

三、用户授权

1、登录已启动的MysqL容器

docker exec -it MysqL /bin/sh

2、使用启动命令中-e MysqL_ROOT_PASSWORD设置的密码,登录MysqL

MysqL -uroot -p

3、执行授权命令,此处已root用户为例

create user root@'192.168.0.2' identified by '123456';
grant all privileges on databas_name.* to root@'192.168.0.2';
ALTER USER 'root'@'192.168.0.2' IDENTIFIED WITH MysqL_native_password BY '123456';

4、登录MysqL

MysqL -h 192.168.0.2 -u root -p

四、启动命令中的环境变量

在启动MysqL映像时,您可以通过在docker run命令行上传一个或多个环境变量来调整MysqL实例的配置。请注意,如果您使用已包含数据库的数据目录启动容器,则下面的任何变量都不会产生任何影响:任何预先存在的数据库在容器启动时始终保持不变。

另请参阅https://dev.MysqL.com/doc/refman/5.7/en/environment-variables.html以了解MysqL本身遵守的环境变量的文档(特别是像这样的变量MysqL_HOST,这些变量在与此映像一起使用时会导致出现问题)。

MysqL_ROOT_PASSWORD
该变量是强制性的,并指定将为MysqL root超级用户帐户设置的密码。在上面的例子中,它被设置为my-secret-pw。

MysqL_DATABASE
此变量是可选的,并允许您指定要在映像启动时创建的数据库名称。如果提供了用户/密码(见下文),那么该用户将被授予对该数据库的超级用户访问(对应于GRANT ALL)。

MysqL_USER, MysqL_PASSWORD
这些变量是可选的,可用于创建新用户并设置该用户的密码。该用户将被授予超级用户权限(见上文),该权限由MysqL_DATABASE变量指定。这两个变量都是创建用户所必需的。

请注意,不需要使用此机制来创建超级用户的root用户,该用户认情况下会使用MysqL_ROOT_PASSWORD变量指定的密码创建。

MysqL_ALLOW_EMPTY_PASSWORD
这是一个可选变量。设置为yes允许容器以root用户的空密码启动。注意:yes除非您真的知道您在做什么,否则不要将此变量设置为“不推荐”,因为这将使您的MysqL实例完全不受保护,从而允许任何人获得完整的超级用户访问权限。

MysqL_RANDOM_ROOT_PASSWORD
这是一个可选变量。设置yes为为root用户(使用pwgen)生成随机初始密码。生成的root密码将打印到stdout(GENERATED ROOT PASSWORD: .....)。

MysqL_ONETIME_PASSWORD
一旦初始化完成,将root用户(不是用户指定的用户MysqL_USER)设置为已过期,强制首次登录时更改密码。注:该功能仅在MysqL 5.6+上受支持。在MysqL 5.5上使用此选项将在初始化期间引发相应的错误

感谢各位的阅读,以上就是“Docker怎么安装MysqL8”的内容了,经过本文的学习后,相信大家对Docker怎么安装MysqL8这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程之家,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...