docker安装mysql5.7

本文简单演示下docker方式安装mysql。 

拉取镜像

https://hub.docker.com/_/mysql

docker pull mysql:5.7.26

或者:docker pull registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26

运行容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26

-e,Set environment variables,表示指定运行时环境变量,设置密码为123456

查看mysql容器:docker ps |grep mysql

进入容器:docker exec -it mysql /bin/bash

本地连接数据库

mysql -u root -p123456

查看字符集

show create database mysql;

show variables like '%character%';

字符集不是utf8,我们需要做修改。

修改配置文件

创建挂载目录

[root@k8s-master01 ~]# mkdir -p /mysql/conf
[root@k8s-master01 ~]# mkdir -p /mysql/data
[root@k8s-master01 ~]# mkdir -p /mysql/logs

mysql.cnf引入了另外两个目录

两个目录的内容

第一个目录中配置文件内容

第二个目录中配置文件内容

上面配置文件中可以看到(也可以搜索:find / -name "*mysql*",有通配符需要加引号)

数据目录:/var/lib/mysql/

日志目录:/var/log/mysql/

配置目录:/etc/mysql/mysql.conf.d/

也可以这样查看数据目录

自带的mysql数据库有user.frm:find / -name "user.frm"

红框中是数据库,所以数据目录是:/var/lib/mysql

复制容器中配置文件到本机:docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /mysql/conf/

修改配置文件:vim mysqld.cnf

这里只修改编码

在 [mysqld] 前添加如下配置:

[client]
default-character-set=utf8

  

在 [mysqld] 后添加如下配置:

character-set-server=utf8

重新运行容器

删除之前的容器:docker rm -f mysql

重新运行:

docker run \
--name mysql \
-p 3306:3306 \
-v /mysql/conf:/etc/mysql/mysql.conf.d/ \
-v /mysql/data:/var/lib/mysql/ \
-v /mysql/logs:/var/log/mysql/ \
-e MYSQL_ROOT_PASSWORD=123456 \
-d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26
 
 
宿主机可以看到容器的mysql数据目录
进入容器:docker exec -it mysql /bin/bash
cat /etc/mysql/mysql.conf.d/mysqld.cnf,可以看到宿主机的配置文件
 
 

本地连接

mysql -u root -p123456

下面可以看到字符集已经改为utf8

show create database mysql;

show variables like '%character%';

如果只是服务端加了utf8,结果就是下面这样:

远程连接

cmd中连接

需要本机中安装了mysql,否则会提示没有mysql命令

mysql -u root -p -h 192.168.117.171

客户端工具连接

原文地址:https://www.cnblogs.com/uncleyong/p/15573192.html