隐藏页面特效

使用docker进行mysql部署

创建挂载目录

#创建挂载目录
mkdir -p /data/mysql/data;
mkdir -p /data/mysql/conf;

创建yml文件

vim /data/mysql/docker-compose.yml

填入配置

version: '3'
services:
  mysql:
    image: mysql:5.7 #mysql版本
    container_name: mysql
    volumes:
      - /data/mysql/data:/var/lib/mysql
      - /data/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 123456 #root用户密码
      TZ: Asia/Shanghai
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

创建配置文件
vim /data/mysql/conf/my.cnf

[mysqld]
default-storage-engine=INNODB  # 创建新表时将使用的默认存储引擎
character-set-server=utf8mb4      # 设置mysql服务端默认字符集
pid-file        = /var/run/mysqld/mysqld.pid  # pid文件所在目录
socket          = /var/run/mysqld/mysqld.sock # 用于本地连接的socket套接字
datadir         = /var/lib/mysql              # 数据文件存放的目录
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 定义mysql应该支持的sql语法,数据校验等!

# 允许最大连接数
max_connections=200


# 同一局域网内注意要唯一
server-id=3306
# 开启二进制日志功能 & 日志位置存放位置`/var/lib/mysql`
#log-bin=mysql-bin
log-bin=/var/lib/mysql/mysql-bin
# binlog格式
# 1. STATEMENT:基于SQL语句的模式,binlog 数据量小,但是某些语句和函数在复制过程可能导致数据不一致甚至出错;
# 2. MIXED:混合模式,根据语句来选用是 STATEMENT 还是 ROW 模式;
# 3. ROW:基于行的模式,记录的是行的完整变化。安全,但 binlog 会比其他两种模式大很多;
binlog_format=ROW
# FULL:binlog记录每一行的完整变更 MINIMAL:只记录影响后的行
binlog_row_image=FULL
# 日志文件大小
max_binlog_size=100M
# 定义清除过期日志的时间(这里设置为7天)
expire_logs_days=7

# ================= ↑↑↑ mysql主从同步配置end ↑↑↑ =================

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4  # 设置mysql客户端默认字符集

到对应目录下启动容器

cd /data/mysql
docker-compose up -d

记得防火墙开端口号 3306 !!!
一定要记得换端口和复杂密码

navicate测试链接成功

1|0开防火墙端口号3306


使用 firewalld(CentOS 7 及以上)

1. 检查 firewalld 服务状态

首先要确保 firewalld 服务正在运行,如果未运行,需要启动该服务。

# 检查服务状态
systemctl status firewalld
# 如果未运行,使用以下命令启动
systemctl start firewalld
# 设置开机自启
systemctl enable firewalld

2. 开放 3306 端口

使用 firewall-cmd 命令开放 3306 端口,有临时开放和永久开放两种方式。

  • 临时开放:只在当前系统运行期间生效,重启系统后设置会失效。
firewall-cmd --zone=public --add-port=3306/tcp

  • 永久开放:设置会在系统重启后仍然生效。
firewall-cmd --zone=public --add-port=3306/tcp --permanent

3. 重新加载防火墙规则

如果使用了 --permanent 参数,需要重新加载防火墙规则使设置生效。

firewall-cmd --reload

4. 验证端口是否开放

可以使用以下命令查看 3306 端口是否已经开放。

firewall-cmd --zone=public --query-port=3306/tcp

如果返回 yes,则表示端口已开放。


__EOF__

本文作者techgy
本文链接https://www.cnblogs.com/techgy/p/18715923.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   AI未来10Y  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示