风起磐石 發表於 2025-12-20 10:25:18

docker安装MySQL实现过程

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">查询MySQL镜像</a></li><li><a href="#_label1">安装mysql</a></li><li><a href="#_label2">总结</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>查询MySQL镜像</h2>
<div class="jb51code"><pre class="brush:bash;">docker search mysql
</pre></div>
<p>指定版本查询</p>
<div class="jb51code"><pre class="brush:bash;">docker search mysql:5.8
</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>安装mysql</h2>
<div class="jb51code"><pre class="brush:bash;">docker pull mysql (最新版本)</pre></div>
<p>在export中创建文件夹</p>
<div class="jb51code"><pre class="brush:bash;">mkdir -p /export/server/docker/mysql
</pre></div>
<p>启动容器</p>
<div class="jb51code"><pre class="brush:bash;">echo $PWD
docker run --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest
</pre></div>
<p>这里对上面的参数做下简单的介绍,如果不想了解这一块直接复制上面的命令执行即可:</p>
<p><strong>配置端口映射:</strong></p>
<div class="jb51code"><pre class="brush:bash;">-p 3306:3306 --name mysql</pre></div>
<p>将容器的3306端口映射到主机的3306端口</p>
<p><strong>配置mysql数据卷挂载</strong></p>
<p>1.-v $PWD/logs:/logs (日志文件挂载)</p>
<p>将容器中的日志文件夹挂载到主机对应的/var/log/mysql文件夹中</p>
<p>2.-v $PWD/data:/var/lib/mysql (数据文件挂载)</p>
<p>将容器中的数据文件夹挂载到主机对应的/var/lib/mysql文件夹中</p>
<p>3.-v $PWD/conf:/etc/mysql/conf.d (配置文件挂载)</p>
<p>将容器的配置文件夹挂载到主机对应的/etc/mysql文件夹中</p>
<p>注(这里所提的主机指的是当前的linux主机)</p>
<div class="jb51code"><pre class="brush:bash;">-e MYSQL_ROOT_PASSWORD=root</pre></div>
<p>设置初始化root用户的密码</p>
<p><strong>指定镜像资源</strong></p>
<ul><li>-d:以后台方式运行实例</li><li>mysql:latest:指定用这个镜像来创建运行实例</li></ul>
<p><strong>查看启动的容器</strong></p>
<div class="jb51code"><pre class="brush:bash;">docker ps
</pre></div>
<div class="jb51code"><pre class="brush:bash;"># docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED             STATUS             PORTS                                                NAMES
60a645a0cc95   mysql:latest          "docker-entrypoint.s…"   15 minutes ago      Up 15 minutes      0.0.0.0:3306-&gt;3306/tcp, :::3306-&gt;3306/tcp, 33060/tcp   mysqlserver
</pre></div>
<p><strong>登录</strong></p>
<div class="jb51code"><pre class="brush:bash;">#进入mysql容器,并登陆mysql:
docker exec -it mysql bash
mysql -uroot -p
</pre></div>
<p>开启远程访问权限(镜像里面 root用户已经有远程连接权限在里面,所以不需要去设置,只是模式不一样才导致无法连接,把root用户的密码改成 mysql_native_password 模式,即可远程连接)</p>
<div class="jb51code"><pre class="brush:bash;">use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
</pre></div>
<p><strong>远程登录</strong></p>
<p style="text-align:center"><br /><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122010203220.png" /></p>
<p class="maodian"><a name="_label2"></a></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁: [1]
查看完整版本: docker安装MySQL实现过程