docker安装mysql

  笔记还是靠勤啊...最近部署mysql遇到这么一个问题,运行起容器以后用navicat进行连接发现连接不上,试了好几遍都没有成功,最后还是在博问里别人给出了答案。

  错误原因看这里:https://www.cnblogs.com/zhurong/p/9898675.html

  解决方案:https://www.cnblogs.com/badtree/articles/10130695.html


  但是我还是用自己的语言记录一下操作步骤。

  1.docker pull mysql 

  2.创建文件夹和my.cnf文件,文件路径如下:

  /home/data/mysql/data   (用于存放数据文件)

  /home/data/mysql/conf.d

  /home/data/mysql/conf.d/my.cnf

  my.cnf文件配置信息如下:

# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Custom config should go here
!includedir /etc/mysql/conf.d/

default_authentication_plugin= mysql_native_password

  3.运行容器。

  docker run --name mysql \
  --restart=always \
  -p 3306:3306 \
  -v /home/data/mysql/conf.d:/etc/mysql/conf.d \
  -v /home/data/mysql/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -d mysql

  4.进入容器:docker exec -it mysql /bin/sh

     键入命令:mysql -uroot -p (如果这个时候提示Enter Password,输入123456即可)

     执行命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 

  这个时候再用navicat进行连接就会提示连接成功了!

  

 

  

posted @ 2019-12-04 23:05  顾星河  阅读(206)  评论(0编辑  收藏  举报