Docker 部署 Mysql8.1

# 不挂载,直接创建容器
[root@VM-24-9-centos ~]# docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD='123456' mysql
获取镜像
# 拉取镜像
[root@VM-24-9-centos ~]# docker pull mysql:8.1
创建挂载目录和配置文件
# 创建挂载目录
[root@VM-0-17-centos ~]# mkdir -p data/redis/{conf,data,log}

# 创建my.cnf文件,并把填入下方的配置
[root@VM-0-17-centos conf]# vim my.cnf

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#解决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'
#允许最大连接数
max_connections=200
#允许连接失败的次数
max_connect_errors=10

# 启动容器并挂载目录
docker run -d -p 3306 :3306 \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-e MYSQL_ROOT_PASSWORD=123456\
--restart=always --name mysql --privileged=true \
mysql --lower-case-table-names=1

# 切换到conf目录并下载配置文件和修改权限
[root@VM-0-17-centos conf]# cd /data/redis/conf
[root@VM-0-17-centos conf]# wget https://raw.githubusercontent.com/redis/redis/7.2/redis.conf
[root@VM-0-17-centos conf]# chmod 777 redis.conf
[root@VM-0-17-centos conf]# vim redis.conf

bind 127.0.0.1 # 这行要注释掉,解除本地连接限制
protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
daemonize no # 默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
requirepass 123456 # 设置密码
appendonly yes # 持久化

各个版本的配置文件官方地址:https://redis.io/docs/latest/operate/oss_and_stack/management/config/
posted @ 2024-05-13 17:22  Aminor~  阅读(28)  评论(0编辑  收藏  举报