docker启动mysql 8.1

1、目标

用docker 启动 mysql 8.1,并指定数据目录。

2、前言

由于centos7太老,直接是无法安装mysql8.1的,又不推荐改系统配置,那只能用docker启动一个mysql8.1了。

3、下载docker 8.1镜像

自己想个办法弄个docker 8.1镜像。

4、新建目录和配置

bash 复制代码
mkdir -p /data/mysql/conf
cd /data/mysql/conf
touch my.cnf
bash 复制代码
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 数据库忽略大小写 8.0加了启动报错
lower_case_table_names = 1
#设置3306端口
port=3306
#允许最大连接数
max_connections=1000
#允许连接失败的次数。
max_connect_errors=10
#最大允许包
max_allowed_packet=20M
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
collation_server = utf8mb4_general_ci
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# mysql8中"mysql_native_password"插件认证不让用了,改成默认的caching_sha2_password
# mysql8.4 中已经没有default_authentication_plugin变量了,要注释掉
default_authentication_plugin=caching_sha2_password

5、启动mysql8.1

bash 复制代码
docker run -d -p 3306:3306 \
--restart=always \
--privileged=true \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /data/mysql/mysql-files:/var/lib/mysql-files \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=Laoxiao666Kahn \
-e TZ=Asia/Shanghai \
--name mysql mysql:8.1

6、查看是否启动起来了

bash 复制代码
docker ps

7、登录mysql

bash 复制代码
docker exec -it mysql /bin/bash
root@a18abfe70e23:/# mysql -u root -p
mysql> use mysql;
mysql> select Host, User, plugin, authentication_string from user;

---听说有打赏功能---谢谢---2024年12月14日22:35:02

相关推荐
水彩橘子11 分钟前
构建centos docker基础镜像
linux·docker·centos
.生产的驴43 分钟前
Docker Compose 多应用部署 一键部署
java·运维·后端·spring cloud·docker·容器·gateway
白云如幻1 小时前
MySQL数据表的管理
数据库·mysql
ssxueyi1 小时前
Flink CDC实时同步mysql数据
大数据·mysql·adb·flink·flink cdc
MC皮蛋侠客3 小时前
sqlalchemy异步方法使用
python·mysql
gaog2zh4 小时前
0102xxl-job报错-xxl-rpc remoting error-容器间通信-docker项目部署
docker·微服务·xxl-job
阿哈834 小时前
Z240001 基于Java+MySQL+SpringBoot+Vue实现的酒店管理系统的设计与实现
java·spring boot·mysql
shelby_loo4 小时前
在 Ubuntu 下通过 Docker 部署 Samba 服务器
服务器·ubuntu·docker
夹心宝贝5 小时前
MySQL(七)---C/C++连接MySQL
数据库·mysql