zoukankan      html  css  js  c++  java
  • 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

    客户端工具连接

  • 相关阅读:
    洛谷P5113 Sabbat of the witch
    「学习笔记」洲阁筛
    【UNR #3】百鸽笼
    LOJ#6703. 小 Q 的序列
    python数组字符串还原为数组
    QGIS导入excel点数据
    QGIS统计面要素中包含的点要素数量
    gpd.read_file(),报错路径在系统文件中不存在
    QGIS平移要素
    QGIS多部件面转单部件面
  • 原文地址:https://www.cnblogs.com/uncleyong/p/15573192.html
Copyright © 2011-2022 走看看