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. ...
随机推荐
- leetcode236
class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { ...
- Rabbitmq(6) 主题模式
* 匹配1个 # 匹配所有 发送者: package com.aynu.bootamqp.service; import com.aynu.bootamqp.commons.utils.Amqp; i ...
- iphone 开发h5 踩过的坑
html,body{ -webkit-text-size-adjust: none; } // 当需要在中文版chrome浏览器中显示小于12px的字体时,而且此时页面放大效果会被阻止 html,b ...
- springboot 启动脚本
#!/bin/bash cd `` data_dir=`pwd` JAVA_HOME=/usr/local/jdk1..0_92 logs_dir=$data_dir/logs if [ ! -d $ ...
- 吴裕雄 python深度学习与实践(16)
import struct import numpy as np import matplotlib.pyplot as plt dateMat = np.ones((7,7)) kernel = n ...
- 写出良好风格的JS、CSS代码
现在代码的格式都有 eslint.prettier.babel 这些来保证,但是技术手段再高端都不能解决代码可读性的问题. 因为这个只有个人才能解决.但是注意一下事项,可以显著提高代码的可读性.可识别 ...
- 使用JavaMail发送邮件-从FTP读取图片并添加到邮件正文发送
业务分析: 最近工作需要,需要从FTP读取图片内容,添加到邮件正文发送.发送邮件正文,添加附件采用Spring的MimeMessageHelper对象来完成,添加图片也将采用MimeMessageHe ...
- Linux - 操作系统的发展史
操作系统的发展史(科普章节) 目标 了解操作系统的发展历史 知道 Linux 内核及发行版的区别 知道 Linux 的应用领域 01. 操作系统的发展历史 1.1 Unix 1965 年之前的时候,电 ...
- document.getElementById(“id”)与$("#id")的区别
document.getElementById("id")可以直接获取当前对象, jQuery利用$("#id")获取的是一个[object Object],需 ...
- wampserver安装
WampServer的下载地址:https://sourceforge.net/projects/wampserver 安装教程:https://jingyan.baidu.com/article/4 ...