Docker安装部署Mysql8
山有扶苏QWQ 人气:01.创建容器并进行持久化处理
#拉取镜像 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
测试连接
加载全部内容