大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Docker安装部署Mysql8(以作数据持久化)「终于解决」,希望您对编程的造诣更进一步.
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
命令解释:
-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
测试连接
原文地址:https://www.cnblogs.com/blogof-fusu/archive/2022/09/20/16710871.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4752.html