Docker中安装mysql8

​ 本文记录时间为2023-07-04,文档内容主要参照mysql官方文档写成。

一、获取mysql镜像

​ 此处参考mysql官方的文档,从Oracle的镜像库中查找所需的mysql镜像信息,此处选择的是community-server:8.0

# 拉取myssql community-server镜像
docker pull container-registry.oracle.com/mysql/community-server:8.0

二、启动容器

(一)为了便于修改数据库配置和防止容器删除丢失数据,在启动容器前先在本地创建mysql所需配置和数据目录

#1.创建data目录
mkdir -p /demo/applications/mysql/data
#2.创建my.cnf文件
vim /demo/applications/mysql/my.cnf

my.cnf文件内容:

#3.内容如下:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
#对sql语句大小写不敏感
lower_case_table_names=1
sql_mode=TRADITIONAL

(二)启动容器

#1.检查镜像信息
docker imgages
#2.启动容器
docker run -p 33307:3306 --name=mysql80 --restart always \
   --mount type=bind,src=/demo/applications/docker-mysql/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/demo/applications/docker-mysql/data,dst=/var/lib/mysql \
   -d container-registry.oracle.com/mysql/community-server:8.0

(三)修改数据库密码,开启远程访问账户
​ 1.在mysql容器启动后,可以使用docker logs命令查看root用户默认密码

docker logs -f mysql80

在这里插入图片描述

​ 2.进入容器中,使用上述获取的root用户密码登录mysql客户端

docker exec -it mysql80 mysql -uroot -p

​ 3.修改root用户信息

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

​ 4.创建远程登录账户

mysql> CREATE USER 'visitor'@'%' IDENTIFIED BY 'visitorpwd';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'visitor'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐