您的位置:首页 > 运维架构 > Docker

Docker Mysql 配置使用(windows server 2019)

2020-02-29 17:41 501 查看

前言
学习记录。Docker主机系统用的windows server 2019,部署docker mysql。部署过程中,注意数据挂载window container与linux container的命令区别。

1 Docker安装

参考:手把手教您在 Windows Server 2019 上使用 Docker

2 MySql部署

搜索查看可用 的mysql镜像

docker search mysql

2.1 拉取MySQL镜像

docker pull mysql

2.2 运行MySQL容器

docker run -di --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 端口映射(宿主机映射端口:容器运行端口)
-e 添加环境变量 (MYSQL_ROOT_PASSWORD设置root用户的密码)
参考:dockerhub mysql Environment Variables

2.3 容器中登陆MySQL

//连接容器
docker exec -it my-mysql /bin/bash
//登录
mysql -u root -p

//安装命令vim
apt-get install -y vim

3 MySql数据管理

Docker的数据管理有三种方式:volume、bind mount、tmpfs。(参考:Manage data in Docker
这里采用 bind mount方式:
(1) “D:\MysqlData:/var/lib/mysql” # mysql数据文件位置
(2) “D:\Mysql:/etc/mysql” # mysql配置文件位置

docker run --name my-mysql -v "D:\MysqlData:/var/lib/mysql" -v "D:\Mysql:/etc/mysql" -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

注意:(window container)命令中-v 后面参数用双引号引用

4 MySql远程连接

查看用户列表:

SELECT User, Host FROM mysql.user;

mysql 8.0 默认使用 caching_sha2_password 身份验证机制。通过status查看mysql版本.

远程连接mysql,需要修改相应的加密规则:

create user 'root'@'%' identified by 'test123';
//授权远程连接
GRANT ALL ON *.* TO 'root'@'%';
//更新远程root用户密码及加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//刷新
flush privileges;

//修改本地访问加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
//设置密码不过期
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//刷新
flush privileges;

5 修改时区

修改时区DockerFile

FROM mysql AS base

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ENTRYPOINT ["docker-entrypoint.sh"]

EXPOSE 3306 33060
CMD ["mysqld"]

参考:
[1] Docker MySql
[2] Manage data in Docker
[3] mysql-8.0-Dockerfile

  • 点赞
  • 收藏
  • 分享
  • 文章举报
littleworm0 发布了2 篇原创文章 · 获赞 0 · 访问量 235 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: