欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos7下docker安装mysql

程序员文章站 2022-04-15 10:35:38
...

1.docker下载mysql镜像

docker pull mysql:5.7

Centos7下docker安装mysql

这里下载的版本是5.7版本,若不表明版本号则默认下载最新版。
在docker官网搜mysql可以查看各个mysql版本号,如图
Centos7下docker安装mysql
Centos7下docker安装mysql

2.查看docker镜像

docker images

Centos7下docker安装mysql

3.映射docker内mysql端口号并挂载相关目录

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

Centos7下docker安装mysql
出现最后一行一长串字符串表示成功。

3.1访问容器内部

docker exec -it mysql /bin/bash
-it 以交互模式访问
mysql:要访问的容器名,也可以以docker ps命令查看其ID(即下图@后的字符串)访问

退出容器

exit

Centos7下docker安装mysql

参数解释:
--name:为当前容器起名;
-p:映射docker容器内部mysql端口号到Linux端口号,
则访问Linux 3306端口就相当于访问容器内部mysql端口;
-v:挂载目录,因为每一个容器就相当于一个小型的Linux系统,里面装着相应的软件(如mysql),所以有相应的完整的目录结构,因此可以将容器内部mysql相关目录挂载到Linux,方便访问修改,挂载后修改相应文件相当于修改容器内部文件;
-e:设置root密码;

4.查看当前启动镜像

docker ps

Centos7下docker安装mysql

5.在windows下的navicat尝试链接mysql

连接名:随便起
IP地址:虚拟机IP地址
端口:3306
用户名:root
密码:自己设置的密码

Centos7下docker安装mysql

6.查看挂载的目录并在conf文件夹下配置mysql的编码语言,因为mysql默认编码为拉丁文,修改为utf8

cd /mydata/mysql/
ls
cd conf/
vi my.cnf

Centos7下docker安装mysql
my.cnf文件配置如下:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

6.1重启mysql使配置文件生效

docker restart mysql

Centos7下docker安装mysql
6.2 进入容器内部验证容器内部相应目录文件是否发生变化

docker exec -it mysql /bin/bash
cd etc/mysql/
ls
cat my.cnf

/etc/mysql映射目录对应的就是/mydata/mysql/conf
Centos7下docker安装mysql

结束。