ubuntu16.04下使用navicat连接docker mysql5.7.20
摘要:
本文将介绍如何使用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的更多相关文章
- Ubuntu16.04下使用ufw保护docker容器
ufw屏蔽服务器非docker容器应用端口没有任何问题.问题出在屏蔽不了容器应用对应端口.排除了"ufw使用不当"."docker-compose.yml端口映射不正 ...
- ubuntu16.04下docker安装和简单使用(转)
ubuntu16.04下docker安装和简单使用 转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)
如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下添加打印机FujiXerox CP116w
今天要打印一份北马的成绩单, 不想重启机器了, 在Ubuntu下尝试添加打印机, 最后成功了, 记录一下 打印机型号是FujiXerox CP116w, 通过WIFI连接的, 在Ubuntu16.04 ...
- Ubuntu16.04下caffe CPU版的详细安装步骤
一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...
- Ubuntu16.04下,rabbimq集群搭建
rabbitmq作为企业级的消息队列,功能很齐全,既可以作为单一的部署模式,又可以做集群的部署模式 单一部署就不说了,就是在一台服务器上部署rabbitmq消息队列,可以参考我的博客:Ubuntu16 ...
- Linux:Ubuntu16.04下创建Wifi热点
Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1. ...
随机推荐
- C#操作IIS程序池及站点的创建配置(转)
原文:http://www.cnblogs.com/wujy/archive/2013/02/28/2937667.html 最近在做一个WEB程序的安装包:对一些操作IIS进行一个简单的总结:主 ...
- Spring MVC 之 请求url 带后缀的情况
RequestMappingInfoHandlerMapping 在处理http请求的时候, 如果 请求url 有后缀,如果找不到精确匹配的那个@RequestMapping方法.那么,就把后缀去掉, ...
- leetcode1032
class StreamChecker: def __init__(self, words: 'List[str]'): self.maxLen = 0 self.List = set(words) ...
- ReactiveX 学习笔记(22)使用 RxJS + Angular 进行 GUI 编程
课题 程序界面由3个文本编辑框和1个文本标签组成. 要求文本标签实时显示3个文本编辑框所输入的数字之和. 文本编辑框输入的不是合法数字时,将其值视为0. 3个文本编辑框的初值分别为1,2,3. 创建工 ...
- AD+DMA+USART实验中的收获和总结
由于实验室用的是USART3接口,但是在基地实验时,由于没有RS232,只能换到USART1,进行实验.(在交作业的时候,记得要再换回去) 在这个过程中,遇到困难,用串口软件发送数据时无响应,应该意味 ...
- 九、Brideg 桥接模式
设计原理: 代码清单: 抽象类 DisplayImpl public abstract class DisplayImpl { public abstract void rawOpen(); publ ...
- 数组中出现次数超过一半的数字(python)
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- python shell的交互模式和文本编辑模式
之前学python的时候,是拿<笨办法学python>练习的. 书里面基本都是以.py文件去写代码,也就是文本编辑模式. 而交互模式(也就是powershell),唯有在input用户输入 ...
- [leetcode]26. Remove Duplicates from Sorted Array有序数组去重(单个元素只出现一次)
Given a sorted array nums, remove the duplicates in-place such that each element appear only once an ...
- Redhat学习(此为草稿,正式笔记之后存放)
系统组成 版本XX.XX.XX XX主版本,XX副版本(奇数为测试版,偶数为稳定版),修订版本号 , 表示修改的次数(debug) linux主流分支 硬盘分区 /dev/ 硬件设备所在分区 hd 表 ...