Docker部署Mysql8的实现步骤

本文主要介绍了Docker部署Mysql8的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、前置需求

1.linux系统

本人用的Centos7

2.安装docker

参考这篇文章

二、部署方法

1.拉取mysql8镜像

docker pull mysql:8

2.创建配置文件挂载目录和数据挂载目录

mkdir -p /usr/mysql/conf /usr/mysql/data

chmod -R 755 /usr/mysql/

ps:
/home/mysql/config:放mysql配置文件my.conf
/home/mysql/data:放mysql数据

3.创建配置文件

vim /usr/mysql/conf/my.cnf

内容如下

[client]

#socket = /usr/mysql/mysqld.sock

default-character-set = utf8mb4

[mysqld]

#pid-file        = /var/run/mysqld/mysqld.pid

#socket          = /var/run/mysqld/mysqld.sock

#datadir         = /var/lib/mysql

#socket = /usr/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

datadir = /usr/mysql/data

character_set_server = utf8mb4

collation_server = utf8mb4_bin

secure-file-priv= NULL

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Custom config should go here

!includedir /etc/mysql/conf.d/


4.启动容器并挂载目录

docker run --name mysql8 --restart=always -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -p 4706:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8

ps:
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf 本机的MySQL配置文件映射到容器的MySQL配置文件
-v /etc/localtime:/etc/localtime:ro 本机时间与数据库时间同步
–restart=always 当重启Docker时会自动启动该容器
-d : 后台运行
-p 端口映射 宿主机端口号:容器端口号
-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
docker run -p 60306:3306 -e MYSQL_ROOT_PASSWORD=123 -v /etc/my.cnf:/etc/mysql/my.cnf:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -dit mysql

5.进入mysql创建用户

<1>进入容器

docker exec -it mysql8 /bin/bash

<2>进入mysql

mysql -uroot -p123456

<3>创建用户

我这里创建一个叫 python 的用户

# 创建 python 用户,密码为123456,允许在任意机器上登录
CREATE USER 'python'@'%' IDENTIFIED BY '123456';

<4>赋予权限

# 赋予 python 用户在 所有机器上 对 所有数据库和数据表 拥有 所有操作权限
GRANT ALL ON *.* TO 'python'@'%';

三、访问测试

连接成功

到此这篇关于Docker部署Mysql8的实现步骤的文章就介绍到这了,更多相关Docker部署Mysql8内容请搜索得得之家以前的文章希望大家以后多多支持得得之家!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

本文主要介绍了docker部署mysql8并设置可远程连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧