文章目录
- ①:环境准备
- ②:docker安装
- ③:mysql8.0.36安装
- ④:mysql8.0.36容器启动
①:环境准备
如果你的云主机已经有下面的这些基础软件包请忽略
假设新拿到一台机器,为了以后使用命令方便,先安装一些基础软件包
# 给每台主机安装基础软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate telnet
②:docker安装
接下来安装docker(如果机器上已有docker请忽略)
docker安装
# 1.配置阿里云 repo 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 2.安装 docker-ce
yum install docker-ce -y# 3.配置镜像加速
tee /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors":["https://kn0t2bca.mirror.aliyuncs.com", "https://gqs7xcfd.mirror.aliyuncs.com","https://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF# 4.docker启动和激活等
systemctl daemon-reload
systemctl restart docker
systemctl status docker
systemctl enable docker# 查看docker版本
docker -v
③:mysql8.0.36安装
# 1.创建物理机挂载目录
sudo mkdir -p /data/mysql/data /data/mysql/logs /data/mysql/conf# 2.进入mysql配置目录
cd /data/mysql/conf# 3.创建mysq的my.cnf配置文件,补充mysql8.0的配置文件(如下)
touch my.cnf# =============== 配置内容如下(可根据自己情况修改)==============#设置客户端默认字符集utf8mb4default-character-set=utf8mb4[mysql]#设置服务器默认字符集为utf8mb4default-character-set=utf8mb4[mysqld]#配置服务器的服务号,具备日后需要集群做准备server-id = 1#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备log-bin=mysql-bin#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满expire_logs_days=30#允许最大的连接数max_connections=16384# 禁用符号链接以防止各种安全风险symbolic-links=0# 设置东八区时区default-time_zone = '+8:00'#wait_timeout参数值,由默认的8小时,修改为30分钟。wait_timeout=1800#修改back_log参数值:由默认的50修改为500 每个线程256K 1.6W线程2G左右back_log=500character_set_server=utf8mb4character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect=SET NAMES utf8mb4# =========================== 结 束 ===========================# 4.拉取mysql:8.0.36镜像文件
docker pull mysql:8.0.36
④:mysql8.0.36容器启动
# 5.启动mysql:8.0.36
docker run -p 3306:3306 --name mysql --restart always -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.36
容器运行命令解释
docker run
: 启动一个新的容器。-p 3306:3306
: 将主机的 3306 端口映射到容器的 3306 端口,MySQL 默认使用 3306 端口。--name mysql
: 给这个容器命名为 mysql。--restart always
: 设置容器自动重启策略,always 表示无论因为什么原因退出,Docker 守护进程都会自动重启容器。-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf
: 将主机的 /data/mysql/conf/my.cnf 文件挂载到容器的 /etc/mysql/my.cnf 文件,这个文件是 MySQL 的配置文件。-v /data/mysql/logs:/logs
: 将主机的 /data/mysql/logs 目录挂载到容器的 /logs 目录,用于存储日志文件。-v /data/mysql/data:/var/lib/mysql
: 将主机的 /data/mysql/data 目录挂载到容器的 /var/lib/mysql 目录,用于存储数据库数据。-e MYSQL_ROOT_PASSWORD=root
: 设置 MySQL 的 root 用户密码为 root,通过环境变量 MYSQL_ROOT_PASSWORD 传递。-d
: 后台运行容器并返回容器 ID。mysql:8.0.36
: 使用 mysql 镜像的 8.0.36 版本来创建容器。