摘要:html
本文将介绍如何使用docker建立mysql容器,并使用navicat链接该mysql服务,最后提供一个navicat中文乱码问题的解决方案。mysql
docker的安装和使用在这里再也不赘述,若是不是很熟悉能够查看我前几回博客:docker安装教程 docker使用教程sql
$ docker pull mysql
建立mysql配置文件my.cnf,全路径为/data/mysql/conf/my.cnf,内容以下:docker
[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
启动容器,执行如下命令:vim
$ 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
参数说明:bash
-d:以守护进程方式运行 -e:指定root密码 -P:绑定3306端口号,前面是宿主机端口后面是docker容器的端口 --name: 指定容器的名称 -v:挂载文件。以上例子挂在了两个文件,一个是数据文件data,一个是配置文件my.cnf
进入容器命令:socket
$ docker exec -it seckill-mysql bash
进入容器后,可使用如下命令链接到mysql:字体
$ mysql -uroot -p123456
中止/启动mysql:编码
$ docker stop seckill-mysql
$ docker start seckill-mysql
官网下载地址:spa
https://www.navicat.com/en/download/navicat-for-mysql
解压:
$ tar zxvf navicat120_mysql_en_x64.tar.gz
启动navicat:
$ ./start_navicat
navicat启动后,通常都会遇到中文乱码问题,若是存在该问题,须要下载如下文泉正黑字体,并从新指定一下编码格式。
ps:我这个方法可能不是最好的解决方案,可是通过本人亲测,确定奏效。
$ sudo apt-get install ttf-wqy-zenhei
先查看系统编码格式:
$ locale
LANG=zh_CN.UTF-8
再修改start_navicat:
$ vim start_navicat
把 export LANG="en_US.UTF-8" 改成 export LANG="zh_CN.UTF-8"
在菜单中找到 tools -》 options... 看到如下窗口:
把General、Editor、Records三个菜单下的GUI Font都改成:文泉驿正黑。
经过以上配置,中文乱码问题才真正得以解决!