admin 发表于 2026-10-9 13:06:58

在日常工作环境中,通过手工方式部署MYSQL,尤其是MAKE源码编译部署方式,非常耗时,而且操作繁琐。有没有一种更快捷、高效的方法呢?<br><br>基于Docker部署MYSQL数据库,可以省去MYSQL的安装配置过程,熟练使用Docker构建MYSQL环境变得越来越简单、高效。如下为Docker构建MYSQL数据库的方法和步骤。<br><br>基于Docker平台MYSQL,从Docker仓库搜索mysql镜像文件,操作的方法和指令如下:<br><br>docker search mysql<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1227.png" alt="" style="max-width:100%;"><br><br>从Docker官方仓库中下载mysql镜像文件,操作的方法和指令如下:<br><br>docker pull mysql:8.0.20<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1228.png" alt="" style="max-width:100%;"><br><br>查看已经下载的OpenEuler镜像文件和列表信息,操作的方法和指令如下:<br><br>ls -l /var/lib/docker/image/overlay2/<br><br>docker images|grep mysql<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1229.png" alt="" style="max-width:100%;"><br><br>基于MYSQL镜像文件,创建一台MYSQL数据库实例,操作的方法和指令如下:<br><br>docker run -itd --name=mysql01 -p 3306:3306 -v /data/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=aaaAAA111. --privileged mysql:8.0.20<br><br>Run,全新创建&amp;启动新容器;<br><br>-i,interactive打开交互模式;<br><br>-t,tty打开登录终端;<br><br>-d,detach后台启动;<br><br>-v,volume目录映射,将宿主机目录映射至数据库中;<br><br>-e,设置环境变量和数值;<br><br>--name,指定或者自定义容器的名称;<br><br>--privileged,开启超级特权模式,支持更多指令操作。<br><br>查看mysql数据库运行的状态和IP地址,操作的方法和指令如下:<br><br>docker ps -a<br><br>docker inspect mysql01|grep -aiE ipaddr|tail -1<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1230.png" alt="" style="max-width:100%;"><br><br>进入mysql数据库容器中,操作的方法和指令如下:<br><br>docker exec -it mysql01 /bin/bash<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1231.png" alt="" style="max-width:100%;"><br><br>进入MYSQL数据库可以通过用户名和密码登录数据库,如图所示:<br><br>mysql -uroot -paaaAAA111.<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1232.png" alt="" style="max-width:100%;"><br><br>create database jfedu001;<br><br>show databases;<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1232.png" alt="" style="max-width:100%;"><br><br><img src="https://bbs.jfedu.net/jf_imgs/image1233.png" alt="" style="max-width:100%;"><br><br>通过远程客户端连接MYSQL Server服务端,需要在MYSQL服务端创建账号并且授权访问权限。操作的方法和指令如下:<br><br>#修改数据库授权允许单个IP或者所有人访问;<br><br>ALTER USER &#x27;root&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;aaaAAA111.&#x27;;<br><br>#mysql8.0之前的版本中加密规则是mysql_native_password, 而在mysql8之后,加密规则是caching_sha2_password,使用navicat进行mysql登录时出现弹窗报错,需要支持native模式。<br><br>ALTER USER &#x27;root&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;aaaAAA111.&#x27; PASSWORD EXPIRE NEVER;<br><br>ALTER USER &#x27;root&#x27;@&#x27;%&#x27; IDENTIFIED WITH mysql_native_password BY &#x27;aaaAAA111.&#x27;;<br><br>FLUSH PRIVILEGES;<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1234.png" alt="" style="max-width:100%;"><br><br>最后通过Navicat for mysql数据库,如图所示:<br><br><img src="https://bbs.jfedu.net/jf_imgs/image1235.png" alt="" style="max-width:100%;">
页: [1]
查看完整版本: 基于Docker构建MYSQL服务器实战