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

    客户端工具连接

  • 相关阅读:
    用C#设置系统时间和本地时间
    在ASP.NET中使用Session常见问题集锦 收藏
    C#开源资源大汇总(2)
    漫谈ASP.NET设计中的性能优化问题
    比较著名的.net技术论坛名称(含国外的)
    在ASP.NET 2.0中,一个ASP.NET页面的生命周期
    DataGrid技巧大集合(转载)
    Silverlight经典教程书籍汇总
    Asp.Net细节性问题技巧精萃
    C#开源资源大汇总(1)
  • 原文地址:https://www.cnblogs.com/uncleyong/p/15573192.html
Copyright © 2011-2022 走看看