基于Docker Compose安装MySQL8
一、服务器环境
# 查看服务器系统版本
cat /etc/centos-release
# 查看服务器Linux内核
uname -a
版本
CentOS Linux release 7.9.2009 (Core)
内核
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
二、MySQL安装前准备
-
创建外部文件目录,映射容器内有关数据存储或配置
cd /usr/local/mysql mkdir conf data logs mysql-files chmod 777 data logs mysql-files
-
配置myql
cd conf # 创建my.cnf配置文件 vim my.cnfmy.cnf内容如下
[mysqld] user=mysql # 表示允许任何主机登陆MySQL bind-address = 0.0.0.0 port=3306 default-storage-engine=INNODB #character-set-server=utf8 character-set-client-handshake=FALSE character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' secure-file-priv= [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
三、准备docker-compose.yml文件
# 在/usr/local/mysql目录下,创建docker-compose.yml文件
cd /usr/local/mysql
mkdir docker-compose.yml
yml内容如下:
version: "3"
services:
mysql:
image: mysql:8.0.18
container_name: mysql8
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
ports:
- "3306:3306"
command:
--default-authentication-plugin=mysql_native_password
--lower_case_table_names=1
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
volumes:
- /etc/localtime:/etc/localtime
- ./data:/var/lib/mysql
- ./conf/my.cnf:/etc/mysql/my.cnf
- ./logs:/var/log/mysql
- ./mysql-files:/var/lib/mysql-files`
四、安装启动
# 执行以下命令,拉取镜像、构建容器并启动
docker-compose up -d