软件环境概述
以Windows10为宿主机,vm16虚拟机搭建centos7的Linux系统为前提,记录安装过程,其他宿主机版本或者云主机操作类似,仅供参考.
docker安装MySQL8
拉取MySQL镜像(准备工作:可以检查是否安装过MySQL,不过这个不重要,docker环境下安装过也不碍事),不加版本号默认拉取最新的(docker pull mysql:8.0.23)
[root@localhost ~]# docker pull mysql
创建目录存数据和配置文件(这个是docker安装软件的基本步骤,需要配置数据卷,以免容器停止了数据也就丢失了,所以要把数据同步到宿主机上,类似Redis的持久化)
[root@localhost ~]# mkdir -p /opt/software/mysql/data /opt/software/mysql/conf
授权目录(软件根目录就行)
[root@localhost ~]# chmod -R 777 /opt/software/mysql
在目录/opt/software/mysql/conf下创建配置文件my.cnf(这个是为了和启动时读取自定义配置,方便把数据同步到宿主机和自定义一些字符集呀什么的,详见下文配置内容)
[root@localhost ~]# cd /opt/software/mysql/conf
[root@localhost conf]# touch my.cnf
编辑配置文件(执行下面命令,要是提示-bash: vim: 未找到命令,那么执行 yum -y install vim* 安装vim)
[root@localhost conf]# vim /opt/software/mysql/conf/my.cnf
添加的配置内容如下(按键盘i键,开始插入)--->ESC键+:wq再回车即可完成保存退出.
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /opt/software/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
启动MySQL容器:创建启动容器(命令长但是切记不要有回车符),这里执行起来要安装很久(挂在数据配置文件 -v 顺序只有这么写才可以挂载,这里有点奇怪)
[root@localhost conf]# docker run --restart=unless-stopped -d --name mysql -v /etc/mysql/my.cnf:/opt/software/mysql/conf/my.cnf -v /opt/software/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
参数解释
参数解释:
-d : 后台运行容器
-p :映射容器端口号和宿主机端口号
-e :环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
-v :挂载数据卷
查看运行状态(希望又成功的画面,没有成功也不要急,查看日志和百度),如果失败,请检查上面的配置文件my.cnf或者查看日志([root@localhost conf]# docker logs 镜像ID)
[root@localhost conf]# docker ps -a
成功画面

Navicat远程连接MySQL
进入容器内部,修改MySQL密码以及允许主机访问
[root@localhost conf]# docker exec -it mysql /bin/bash
连接MySQL,然后输入上面配置的密码,配置的是root
root@e6f7391edd36:/# mysql -uroot -p
输入密码后,执行命令
mysql> use mysql
修改访问主机以及密码等,设置为所有主机可访问(mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接)
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
再刷新
mysql> flush privileges;
接下来就去连接吧
可以连接了就退出mysql
mysql> quit;
再退出容器(按住Ctrl + p + q 退出并在后台运行容器,当然使用命令退出也是一样,我习惯使用这个快捷键),下面是可能会用到的一些常用命令.
如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)按住Ctrl + p + q 退出并在后台运行容器;
docker一次删除多个停止的容器(免得去找容器ID,避免名称冲突,删除镜像docker rmi 镜像ID)
# docker rm $(docker ps -a -q)
docker安装MySQL完结
本文以Windows10为宿主机,vm16虚拟机搭建的CentOS 7系统为例,记录了使用Docker安装MySQL 8的过程,包括拉取镜像、创建目录、授权、配置文件编辑、启动容器等步骤,还介绍了Navicat远程连接及修改密码等操作。
674

被折叠的 条评论
为什么被折叠?



