赞
踩
本文记录时间为2023-07-04,文档内容主要参照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;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。