本篇内容主要讲解“Docker如何部署Mysql8”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Mysql8”吧!
一、前置需求
linux系统
本人用的Centos7
安装docker
二、部署方法
拉取mysql8镜像
docker pull mysql:8
创建配置文件挂载目录和数据挂载目录
mkdir -p /usr/mysql/conf /usr/mysql/datachmod -R 755 /usr/mysql/
ps:
/home/mysql/config:放mysql配置文件my.conf
/home/mysql/data:放mysql数据
创建配置文件
vim /usr/mysql/conf/my.cnf
内容如下
[client]#socket = /usr/mysql/mysqld.sockdefault-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.piddatadir = /usr/mysql/datacharacter_set_server = utf8mb4collation_server = utf8mb4_binsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Custom config should go here!includedir /etc/mysql/conf.d/
启动容器并挂载目录
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
进入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”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!