我们自己在linux上安装MySQL的话,超级麻烦,安装完后还要进行各种各样的配置,之前在Docker专题写了用docker安装mysql的快速版本以及修改编码的方式,这里总结一下安装流程和命令 。
环境
- Linux version 3.10.0-693.2.2.el7.x86_64
- docker18.09.2
- mysql5.7
1、拉取镜像
docker pull mysql:5.7
2、创建配置和数据挂载点mkdir -p /data/mysql/data3309mkdir -p /data/mysql/mysql.conf.d3309
这里启动的容器端口为3309,所以直接命名为33093、编写配置文件新建名称为mysqld.cnf的配置文件,访入/data/mysql/mysql.conf.d3309/目录下,内容如下,目的是覆盖掉容器内的配置文件,好修改编码格式为utf_8,而不是参照网上的进入容器中修改 。
【玩转Docker:十分钟搞定MySQL的安装】
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; version 2 of the License.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA## The MySQL Server configuration file.## For explanations see# http://dev.mysql.com/doc/mysql/en/server-system-variables.html[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysql#innodb_buffer_pool_size = 50M#ngram_token_size=1#ft_min_word_len=3#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 riskssymbolic-links=0[client]default-character-set=utf8[mysql]default-character-set=utf8顺便说下,里面的这些配置,其实跟mysql的快速安装没有关系 。主要是加上设置编码的内容,就是后面两句[client]default-character-set=utf8[mysql]default-character-set=utf8
innodb_buffer_pool_size默认是128Mngram_token_size默认分词是2,用于全文索引中文分词ft_min_word_len默认值是4,只有四个字母的单词才会建立全文索引4、创建mysql容器这里创建的容器端口为3309,root密码为123456,数据和配置文件挂载点用上面创建的目录,设置编码格式为utf8mb4
docker create --name mysql3308 -v /data/mysql/data3309:/var/lib/mysql -v /data/mysql/mysql.conf.d3309/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
5、启动容器docker start mysql3309
6、测试容器首先进入到容器docker exec -it mysql3309 bash
然后用如下命令登录,当然也可以省去-h127.0.0.1mysql -h127.0.0.1 -uroot -p123456
若是进入到mysql命令行界面就表明安装成功7、新建另一个mysql容器只需要新建挂载点然后执行创建mysql容器命令即可 。(注意端口号的修改)
8、一些操作命令
docker stop mysql3309 #停止容器docker start mysql3309 #启动容器docker exec -it mysql3309 bash #进入容器docker search name #查询镜像docker pull name #安装name镜像docker images #查看已经拉取的镜像docker ps #查看正在运行中的容器docker ps -a #查看正在运行中的容器,包括未运行的docker rm #容器ID 删除某一容器 //停止容器--》删除容器--》删除镜像docker rmi #镜像ID 删除某一个镜像systemctl start docker #启动dockersystemctl stop docker #停止dockersystemctl restart docker #重启docker
推荐阅读
- Docker 必备可视化工具 Portainer
- 基于CentOS 7安装docker
- 深入浅出微服务架构:一分钟让你轻松上手Docker容器
- 玩转微信SEO引流不断
- Docker容器迁移案例
- 一文玩转dockerfile
- Docker在CentOS系统中的安装使用
- Docker容器中应避免的10件事
- 服务器docker 的容器是什么
- Docker 基础与实战,看这一篇就够了