【云原生】Dcoker实战:Linux环境安装mysql8.0.27安装步骤

目录

1、拉取镜像

2、首先启动容器

3、停止容器创建shell脚本文件用来运行容器

4、重新通过脚本启动容器

5、验证效果

6、后续运维重启MYSQL容器命令


今天给大家分享Centos8系统下安装mysql8.0.27,具体参考下面的步骤就可以使用Docker正确安装mysql。

1、拉取镜像

 #拉取最新的mysql版本
docker pull mysql
 #查看mysql镜像
docker images mysql

输出:

2、首先启动容器

启动容器创建宿主主机要挂载的目录,然后拷贝容器对应的目录到宿主主机。

 #运行mysql容器	
docker run  --name mysql8 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 		 	mysql:8.0.27
#查看mysql日志,如果没有报错信息,然后进行下面的操作
docker logs mysql8
#进入mysql容器内部
docker exec -it mysql8 /bin/bash
#查看mysql的配置文件my.cnf       
cat /etc/mysql/my.cnf
#退出容器
exit
#当前服务器创建挂在mysql配置文件
mkdir -p /usr/local/mysql8/conf /usr/local/mysql8/data
#文件夹授权 
chmod -R 755 /usr/local/mysql8
#将容器中的my.cnf文件拷贝到服务器
docker cp 容器名:容器中my.cnf的路径/要拷贝到服务器的相应路径 
docker cp mysql8:/etc/mysql/my.cnf /usr/local/mysql8/conf


修改后my.cnf文件内容具体内容如下:

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

secure-file-priv= NULL

character_set_server = utf8mb4

collation_server = utf8mb4_bin

3、停止容器创建shell脚本文件用来运行容器

#停止容器
docker stop mysql8
#删除容器
docker rm mysql8
#进入服务器创建的mysql目录
cd /usr/local/mysql8
#创建mysql运行脚本
vi mysqlRun.sh

mysqlRun.sh脚本内容如下:

设置MYSQL的配置信息、挂载目录、开放端口

#!/bin/sh
docker run \
-p 3306:3306 \
--name mysql8 \
--privileged=true \
--restart unless-stopped \
-v /home/mysql8/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql8/logs:/logs \
-v /home/mysql8/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.27


4、重新通过脚本启动容器

#执行脚本启动mysql容器
sh mysql8-docker-run.sh
#查看MySQL日志是否有报错
docker logs mysql8

5、验证效果

查看日志果没有报错,就可以用mysql客户端测试链接是否ok,

要保证mysql默认的3306端口可以外网访问。

验证mysql数据挂在是否成功

创建test数据库,创建user表

服务器MySQL数据如图:

#docker容器查看是否有对应的数据文件
docker exec -it mysql8 /bin/bash #进入容器内部
cd cd /var/lib/mysql # 进入docker的MySQL目录
ls  #查看是否有test
cd test #进入test目录
ls  #查看是否有 user.ibd 文件

6、后续运维重启MYSQL容器命令

#停止容器
docker stop <容器Id>
docker stop 572219d3a0ca
#重新启动
docker start <容器Id>
docker start 572219d3a0ca


猜你喜欢

转载自blog.csdn.net/xishining/article/details/126354656