目录
一、检查环境
名称 | 备注 |
---|---|
操作命令对象 | docker容器 |
远程操控系统 | centos9 64位 |
远程管理工具 | FinalShell4.3.10 |
安装软件名称 | mysql8.0.32 |
二、拉取镜像
2.1、拉取mysql8.0.32的镜像
docker pull mysql:8.0.32
2.2、安装完成后查看mysql镜像
docker images mysql
说明我们镜像已经拉取成功
三、在宿主机上创建相应目录
3.1、创建挂在目录
后面用于挂在mysql容器内目录,这里我们就放到/usr/local/docker
mkdir -p /usr/local/docker/mysql/{conf,data,log}
3.2、创建配置文件
cd /usr/local/docker/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!
保存退出
四、创建启动脚本
先使用cd..返回值mysql文件夹中
创建启动脚本
-p表示端口映射
--restart=always表示容器退出时总是重启
--name表示容器命名
--privileged=true表示赋予容器权限修改宿主文件权利
-v /usr/local/docker/mysql/log:/var/log/mysql表示容器日志挂载到宿主机
-v /usr/local/docker/mysql/data:/var/lib/mysql表示容器存储文件挂载到宿主机
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf表示容器配置文件挂载到宿主机
-e MYSQL_ROOT_PASSWORD=自己的密码表示设置mysql的root用户密码,建议用强密码
-d表示后台运行
vim mysqlStart.sh
docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /usr/local/docker/mysql/log:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=“自己的密码”\
-d mysql:8.0.32
4.1、给启动脚本赋权
4.2、启动mysql
五、查看docker容器中的mysql
六、连接Navicat测试
出现连接成功就代表安装成功