ubuntu16.04下使用navicat連接docker mysql5.7.20
阿新 • • 發佈:2017-12-27
conf 配置 啟動mysql 好的 mysql基本 cte comm 主機 版本
摘要:
本文將介紹如何使用docker創建mysql容器,並使用navicat連接該mysql服務,最後提供一個navicat中文亂碼問題的解決方案。
一、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=123456 --name seckill-mysql -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql
參數說明:
-d:以守護進程方式運行 -e:指定root密碼 -P:綁定3306端口號,前面是宿主機端口後面是docker容器的端口 --name: 指定容器的名稱 -v:掛載文件。以上例子掛在了兩個文件,一個是數據文件data,一個是配置文件my.cnf
3、docker下mysql基本操作
進入容器命令:
$ docker exec -it seckill-mysql bash
停止/啟動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