centos+docker+mysql 配置与应用

温馨提示:需要提前了解docker相关知识

第一步 安装docker(本文使用centos7.2系统)

《centos+docker+mysql 配置与应用》

第二步 启动docker以及安装mysql



 1.启动docker
     命令 :service docker start
    

《centos+docker+mysql 配置与应用》

2.查看docker 状态,确认是否启动
    命令:service docker status
    

《centos+docker+mysql 配置与应用》

    看到这个就证明成启动了docker了
    
3.安装mysql
    命令: docker pull mysql
    (提醒如需指定安装版本,在后面加上版本号即可如:docker pull mysql5.7)
    

《centos+docker+mysql 配置与应用》
接下来等待10分钟左右的下载安装过程吧(每个人不同)

第三步 是启动和配置mysql

启动命令:sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

《centos+docker+mysql 配置与应用》

接下来是查看容器状态:docker ps -a,这是可以看到如下:
《centos+docker+mysql 配置与应用》
即可表示我们的mysql容器已经启动了

参数说明:

  • –name:给新创建的容器命名,此处命名为mysql_01
  • -e:配置信息,此处配置mysql的root用户的登 陆密码,实例为123456,自行设置
  • -p:端口映射,此处映射主机3306端口到容器pwc-mysql的3306端口
  • -d:成功启动容器后输出容器的完整ID,例如上图, 最后一个mysql指的是mysql镜像名字

第四步 连接mysql

连接mysql需要开放端口或关闭防火墙,此处我以腾讯云为例(虚拟机的关闭防火墙:systemctl stop firewalld.service)


开放3306端口

《centos+docker+mysql 配置与应用》

用客户端连接(我用sqlyog)

《centos+docker+mysql 配置与应用》

你会发现连接不上,问题原因是安装mysql时没有指定版本,默认是最新的8.0,而8.0版本的数据库加密方式与5.0不一样,如果你使用旧的客户端(例如sqlyog,navicat)去连接就会报这个错误。解决方法有两种,换高版本navicat或者修改mysql8.0的加密方式。我们这边使用后者。打开mysql命令行输入一下三条命令即可。

1.进入mysql容器 docker exec -it mysql_o1 bash

《centos+docker+mysql 配置与应用》

2.连接mysql mysql -uroot -p

输入密码
《centos+docker+mysql 配置与应用》

3.更改加密方式:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

《centos+docker+mysql 配置与应用》


4.更改密码:(如上面的也不行可以修改下密码)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

《centos+docker+mysql 配置与应用》


5.刷新
mysql> FLUSH PRIVILEGES;

《centos+docker+mysql 配置与应用》

最后:输入exit退出mysql控制台生效(实测不退出也是连接不上的,这是小坑)

《centos+docker+mysql 配置与应用》

俊龙
芦苇科技Java开发工程师

芦苇科技-广州专业软件外包服务公司

提供微信小程序、APP应用研发、UI设计等专业服务,专注于互联网产品咨询、品牌设计、技术研发等领域、

访问 www.talkmoney.cn 了解更多

万能说明书 | 早起日记Lite | 凹凸壁纸 | 言财

    原文作者:广州芦苇科技后台
    原文地址: https://segmentfault.com/a/1190000017199442
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞