摘要:

本文将介绍如何使用docker创建mysql容器,并使用navicat连接该mysql服务,最后提供一个navicat中文乱码问题的解决方案。

docker的安装和使用在这里不再赘述,如果不是很熟悉可以查看我前几次博客:docker安装教程  docker使用教程

一、docker下创建mysql容器

1、下载mysql最新版本镜像:

$ docker pull mysql

2、启动mysql容器

创建mysql配置文件my.cnf,全路径为/data/mysql/conf/my.cnf,内容如下:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
#log-error      = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
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

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

启动容器,执行以下命令:

$ docker run -d -e MYSQL_ROOT_PASSWORD= --name seckill-mysql -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p : mysql

参数说明:

-d:以守护进程方式运行
-e:指定root密码
-P:绑定3306端口号,前面是宿主机端口后面是docker容器的端口
--name: 指定容器的名称
-v:挂载文件。以上例子挂在了两个文件,一个是数据文件data,一个是配置文件my.cnf

3、docker下mysql基本操作

进入容器命令:

$ docker exec -it seckill-mysql bash

进入容器后,可以使用以下命令连接到mysql:

$ mysql -uroot -p123456

停止/启动mysql:

$ docker stop seckill-mysql
$ docker start seckill-mysql

二、安装navicat for mysql

1、下载、安装

官网下载地址:

https://www.navicat.com/en/download/navicat-for-mysql

解压:

$ tar zxvf navicat120_mysql_en_x64.tar.gz

启动navicat:

$ ./start_navicat

2、解决mysql中文乱码问题

navicat启动后,一般都会遇到中文乱码问题,如果存在该问题,需要下载以下文泉正黑字体,并重新指定一下编码格式。ps:我这个方法可能不是最好的解决方案,但是经过本人亲测,肯定奏效。

1、安装文泉正黑字体

$ sudo apt-get install ttf-wqy-zenhei 

2、修改start_navicat文件中编码格式,与系统一致

先查看系统编码格式:

$ locale

LANG=zh_CN.UTF-8

再修改start_navicat:

$ vim start_navicat

把 export LANG="en_US.UTF-8" 改为 export LANG="zh_CN.UTF-8"

3、修改navicat显示编码格式

在菜单中找到 tools -》 options... 看到以下窗口:

把General、Editor、Records三个菜单下的GUI Font都改为:文泉驿正黑。

通过以上配置,中文乱码问题才真正得以解决!

ubuntu16.04下使用navicat连接docker mysql5.7.20的更多相关文章

  1. Ubuntu16.04下使用ufw保护docker容器

      ufw屏蔽服务器非docker容器应用端口没有任何问题.问题出在屏蔽不了容器应用对应端口.排除了"ufw使用不当"."docker-compose.yml端口映射不正 ...

  2. ubuntu16.04下docker安装和简单使用(转)

    ubuntu16.04下docker安装和简单使用   转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...

  3. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  4. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  5. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  6. Ubuntu16.04下添加打印机FujiXerox CP116w

    今天要打印一份北马的成绩单, 不想重启机器了, 在Ubuntu下尝试添加打印机, 最后成功了, 记录一下 打印机型号是FujiXerox CP116w, 通过WIFI连接的, 在Ubuntu16.04 ...

  7. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...

  8. Ubuntu16.04下,rabbimq集群搭建

    rabbitmq作为企业级的消息队列,功能很齐全,既可以作为单一的部署模式,又可以做集群的部署模式 单一部署就不说了,就是在一台服务器上部署rabbitmq消息队列,可以参考我的博客:Ubuntu16 ...

  9. Linux:Ubuntu16.04下创建Wifi热点

    Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1.  ...

随机推荐

  1. .NET MVC 控制器和行为

    行为就是可访问方法(public) 行为返回类型必须是 ActionResult 或者其派生类,基本上返回类型为以下四种之一 View(视图路径) Json(对象或者对象集合) Content(字符串 ...

  2. 机器学习中的算法(2)-支持向量机(SVM)基础

    版权声明:本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gma ...

  3. 《CSAPP》页表、页命中、缺页

    页表 虚拟存储器系统需要某种方法来判定一个虚拟页是否在DRAM的某个地方. 这些功能由操作系统.存储器管理单元(MMU)中的地址翻译硬件和一个存放在物理存储器中的页表数据结构联合提供. 功能 将虚拟页 ...

  4. 小强学渲染之OpenGL的CPU管线

    读到这里,应该对OpenGL渲染管线有了初步简单了解.下面着重分析CPU管线,即逻辑控制中心做了什么,这部分还是容易理解的.如下图: 一,将数据加载到显存中. 这是由GPU是访问显存中的数据决定的.因 ...

  5. [leetcode]236. Lowest Common Ancestor of a Binary Tree二叉树最近公共祖先

      Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. Accordi ...

  6. 46-2016 蓝桥杯 java B 组

    1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...

  7. PHP+ajax实现二级联动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. WebApi上传文件

    上网搜了下Web Api上传文件的功能,发现都写的好麻烦,就自己写了一个,比较简单,直接上传文件就可以,可以用Postman测试. 简单的举例 /// <summary> /// 超级简单 ...

  9. 4412 uboot上手

    1,了解 print  查看UBOOT软件的环境变量       (变量名=变量) setenv.saveenv   setenv abc 100 200   设置 添加一个变量值 修改一个已有的变量 ...

  10. css3回顾 checkbox

    <div class="checkBox"> <input type="checkbox" id="check1"> ...