使用Docker快速安装部署mysql的前提:首先需要确保已经安装了Docker环境
如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker
有了Docker环境后,就可以使用Docker安装部署mysql了
1、拉取镜像
docker pull mysql:5.7
如果遇到pull拉取很慢的情况,可以使用阿里云镜像加速器完美解决
[root@localhost ~]# cd /etc/docker
[root@localhost ~]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
设置完阿里镜像加速器后,再pull拉取一次,发现快很多
成功拉取镜像后,使用 docker images 命令 来查看一下本地的镜像
可以看到本地已经有了一个mysql镜像
2、启动mysql
本地有了mysql镜像后,就可以使用 docker run来启动了
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
启动成功后 使用 docker ps 查看下已经启动的容器
可以看到mysql已经成功启动
3、修改配置
[root@hadoop-104 conf]# cd /mydata/mysql/conf
#默认是没有文件的,vi创建
[root@hadoop-104 conf]# vi my.cnf
#然后把以下内容复制进去
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
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
skip-name-resolve
#重启容器
[root@hadoop-104 conf]# docker restart mysql
4、设置mysql随docker自启动
docker update mysql --restart=always
5、测试连接
全部配置完成后,来用连接工具测试一下
可以看到已经连接成功