Docker部署MySQL 8.3.0(保姆级图文教程)

系列文章目录
Docker部署Nginx 1.21.5(保姆级图文教程)
Docker部署MySQL 8.3.0(保姆级图文教程)
Docker部署ETCD 3.5.14(保姆级图文教程)
Docker部署Kafka 3.5.14(保姆级图文教程)



一、环境

名称备注
操作命令对象Docker 版本26.1.3
远程操作系统CentOS 7.9 64位
远程管理工具FinalShell 版本4.3.11
安装软件名称MySQL 版本8.3.0

二、拉取镜像

2.1 查找 Docker Hub 上的 MySQL 镜像

docker search mysql

2.2 拉取MySQL镜像

由于我本地用的是8.3.0的,所以服务器也拉取tag8.3.0的版本

docker pull mysql:8.3.0

2.3 查看MySQL镜像

docker images mysql:8.3.0

三、在宿主机创建目录

3.1 创建挂载目录

后面用于挂载mysql容器内目录,这里就放在home目录下

mkdir -p  /home/mysql/{conf,data,log}

3.2 创建配置文件

cd /home/mysql/conf
vim my.cnf

按键盘i键进行输入

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数
binlog_expire_logs_seconds = 2592000
#解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#允许最大的连接数
max_connections=1000
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'

按键盘esc键退出输入,输入:wq保存退出

四、启动MySQL容器

-p表示端口映射
--restart=always表示容器退出时总是重启
--name表示容器命名
--privileged=true表示赋予容器权限修改宿主文件权利
-v /home/mysql/log:/var/log/mysql表示容器日志挂载到宿主机
-v /home/mysql/data:/var/lib/mysql表示容器存储文件挂载到宿主机
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf表示容器配置文件挂载到宿主机
-e MYSQL_ROOT_PASSWORD=a12bCd3_W45pUq6表示设置mysqlroot用户密码,建议用强密码
-d表示后台运行

docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=a12bCd3_W45pUq6 \
-d mysql:8.3.0  

五、测试

使用Navicat进行连接,因为我服务器配置了ssh的密钥连接方式,所以截图多了一个ssh server。

服务器如何生成密钥对,服务器配置公钥,本地配置私钥,Navicat使用ssh隧道连接mysql数据库,可以查看如下2篇文章

服务器生成密钥对、服务器配置公钥、本地配置私钥
Navicat使用ssh隧道连接mysql数据库


常见问题 : 如果连接失败,检查一下连接服务器的ssh密钥是否正确,连接服务器的密码是否正确。检查一下安全组规则,是否有开放3306端口


当看到第6步的小绿点,表示连接成功。

完成ヾ(◍°∇°◍)ノ゙

好的,请按照以下步骤进行凝思6.0的安装部署docker: 1. 准备工作 - 安装dockerdocker-compose。 - 下载凝思6.0的安装包。 2. 创建并进入项目目录 在命令行中创建一个项目目录,并进入该目录: ``` mkdir myproject cd myproject ``` 3. 复制安装包 复制凝思6.0的安装包到项目目录中: ``` cp /path/to/ningxi-6.0.tar.gz . ``` 4. 解压安装包 解压凝思6.0的安装包: ``` tar zxvf ningxi-6.0.tar.gz ``` 5. 编写docker-compose.yml文件 在项目目录中创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中: ``` version: '3.7' services: ningxi: image: registry.cn-hangzhou.aliyuncs.com/ningxi/ningxi:6.0 container_name: ningxi restart: always ports: - "8080:8080" environment: - LC_ALL=C.UTF-8 - TZ=Asia/Shanghai - SPRING_PROFILES_ACTIVE=prod - SERVER_PORT=8080 volumes: - ./data:/usr/local/src/ningxi/data - ./logs:/usr/local/src/ningxi/logs ``` 6. 启动容器 在命令行中执行以下命令启动容器: ``` docker-compose up -d ``` 7. 测试容器 容器启动后,可以通过访问http://localhost:8080/来测试容器是否正常运行。 8. 配置nginx反向代理 如果需要通过域名来访问凝思6.0,则需要配置nginx反向代理。以下是一个示例配置文件: ``` server { listen 80; server_name ningxi.example.com; # 修改为你的域名 location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 9. 完成 至此,凝思6.0的安装部署docker就完成了。可以通过nginx反向代理来访问容器
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值