疯狂编程网

  • 首页
  • 后端
    • GOLANG
    • PHP
  • 前端
  • 客户端
  • 服务器
  • AIGC
  • 开发工具
  • 代码人生
  • 关于本站
    • 联系我们
    • 免责声明
  1. 首页
  2. 服务器
  3. MYSQL
  4. 正文

Docker安装部署Mysql8(以作数据持久化)

2023年5月10日 225点热度 0人点赞 0条评论

1.创建容器并进行持久化处理

#拉取镜像
docker pull mysql:8.0.20
#启动镜像,用于拷贝配置文件到宿主机
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
#查看是否启动成功
docker ps -a
#新建挂载目录并拷贝配置文件
mkdir -p /mysqldata/
docker cp  mysql:/etc/mysql /mysqldata/
#删除原有镜像
docker stop mysql
docker rm -f mysql
#启动mysql ,挂载配置文件,数据持久化到宿主主机
docker run \
-p 13306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /home/mysqldata/mysql:/etc/mysql \
-v /home/mysqldata/mysql/logs:/logs \
-v /home/mysqldata/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=cqrecadmin \
-d mysql:8.0.20
#检查是否运行成功
docker ps -a

img

命令解释:

-p 端口映射

--privileged=true 挂载文件权限设置

--restart unless-stopped 设置 开机后自动重启容器

-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 挂载配置文件

-v /mnt/sda1/mysql8.0.20/logs:/logs \ 挂载日志

-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机

-v /etc/localtime:/etc/localtime 容器时间与宿主机同步

-e MYSQL_ROOT_PASSWORD=cquisse 设置密码

-d mysql:8.0.20 后台启动,mysql

2.配置远程连接并尝试

#进入容器
docker exec -it mysql bash
#登录mysql,输入运行容器时配置的密码
mysql -u root -p 
#执行sql
CREATE USER 'user_galen'@'%' IDENTIFIED WITH mysql_native_password BY 'Galen*10';
GRANT ALL PRIVILEGES ON *.* TO 'user_galen'@'%';

退出到服务器,开放对应端口

firewall-cmd --add-port=13306/tcp --permanent
firewall-cmd --reload 

测试连接

img

标签: mysql
最后更新:2023年5月10日

大明

靠写代码养家的开发者。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 疯狂编程网. ALL RIGHTS RESERVED.

京ICP备2022013580号-1