我是靠谱客的博主 怕孤独大门,最近开发中收集的这篇文章主要介绍docker部署mysql并且自动启动_使用Docker安装MySQL数据库并设置自动自动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 安装好Docker ( 教程请看此分类中上一篇文章 )

2. 通过Docker拉取MySQL镜像, 不加版本号的话, 默认是最新版 ( 8.0 )docker pull mysql

3. 使用命令查看是否拉取成功:docker images

成功的话, 会显示MySQL镜像, 如下图:

748ceed76012

docker images 显示镜像列表

4. 使用 3306 端口启动 MySQL 并暴露此端口; 并设置自动启动

--restart=always  设置自动启动

--name mysql 设置容器名称

MYSQL_ROOT_PASSWORD=xxx xxx表示root密码

-d mysql 要启动的镜像名称

docker run -p 3306:3306 --restart=always --name mysql -e MYSQL_ROOT_PASSWORD=xxx -d mysql

5. 此时, 还无法通过外部连接MySQL, 因为默认只能通过本机登录, 我们要登入docker中的MySQL容器, 设置授权任意地点登录, 并且由于8.0开始, 密码加密方式与旧版不同, 为了兼容旧版登录, 要一并更改密码加密方式; 另外, 我们要根据项目需要, 添加用于开发/生产的用户;docker exec -it mysql /bin/bash  # -it xxx  xxx表示你刚刚设置的容器名称

748ceed76012

登录成功后, root@后面的主机名会变成容器id

登录MySQL并输入密码mysql -uroot -p

748ceed76012

登入成功

开始更改root密码加密方式, 并且设置外部登录:

由于默认只有 root@localhost 用户, 我们需要先添加 root@% 用户, %表示任意地点登录; 其中 xxx 替换成你要设置的密码

( docker 中的MySQL8.0 默认携带了root@%用户, 我们只需要修改密码加密方式即可;ALTER USER 'root'@'%' IDENTIFIED BY 'xxx' PASSWORD EXPIRE NEVER;

748ceed76012

设置密码为永不过期; 其中 xxx 替换为你要设置的密码;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx';

748ceed76012

修改密码并指定加密规则为 mysql_native_password  , xxx替换为你要设置的密码flush privileges;

748ceed76012

刷新权限后, 刚才的更改才会生效

添加用户; 修改该用户的加密方式; 为用户设置权限; 我这里以test为例, 并设置所有权限, 实际项目中, 只设置需要用到的权限即可; 最后别忘了刷新权限;create user 'test'@'%' identified by 'xxx';

alter user 'test'@'%' identified by 'xxx' password expire never;

alter user 'test'@'%' identified with mysql_native_password by 'xxx';

grant all on *.* to 'test'@'%' ;

flush privileges;

使用 Navicat 等数据库连接软件进行测试; 别忘了开放3306端口哦 :)

最后

以上就是怕孤独大门为你收集整理的docker部署mysql并且自动启动_使用Docker安装MySQL数据库并设置自动自动的全部内容,希望文章能够帮你解决docker部署mysql并且自动启动_使用Docker安装MySQL数据库并设置自动自动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部