Linux下Docker的安装以及部署MySQL、本地Navicat连接Docker中的MySQL

(声明:本文非原创,内容来自各大优秀的笔记文章。仅做记录供自己加深印象,也希望能对他人提供点帮助)

1、在root账户下安装(非root用户可以使用su root切换,或者每个命令前加上sudo)

2、docker安装要求CentOS内核版本高于3.10,使用uname -r查看内核版本

3、输入yum update 保证yum是最新版本

4、输入 yum install -y yum-utils device-mapper-persistent-data lvm2 ,安装依赖包

5、设置镜像源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (官方源是国外的,比较慢)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里云的镜像源,推荐)

(我刚安装时不太懂,安装了官方源,已准备换源)

6、直接安装(也可以选择特定的版本安装,我嫌麻烦没弄)

yum install docker -ce

安装途中会需要确认,直接输入y一路过就行

 7、输入systemctl start docker,以及systemctl enable docker添加docker启动服务

(还可以为docker建立用户组,我没弄,有兴趣的可以去找找)

8、输入docker version,有client和service就是安装成功了

9、输入systemctl status docker列出docker服务及其状态(可以看到active(running)代表docker正在运行中)

 DOCKER安装MySQL

1、输入docker pull mysql:8.0 (:8.0代表版本,不加这个就默认拉取最新版)

2、输入docker images查看docker镜像以及镜像ID

3、根据镜像创建MySQL容器(先创建映射文件夹)----转自Albert飞 的博客

   3.1、创建容器内在本地的映射文件夹

        mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf

   3.2、初始化mysql的配置文件*.cnf,在/root/mysql/conf

        touch /root/mysql/conf/my.cnf

   3.3、创建docker容器并启动,将数据,日志,配置文件映射到本机

       docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.30

       选项详解:-p 将容器的端口映射到本机的端口

                        -v 将主机目录挂载到容器的目录

                        -e 设置参数  MYSQL_ROOT_PASSWORD 指定登录密码

                        -d: 后台运行容器,也可以使用镜像id

4、输入docker start 容器名或容器ID 启动容器(可使用docker ps -a查看容器ID)

5、登录MySQL并进入容器输入:

docker exec -it mysql(也可以用容器ID)  mysql -uroot -p ,然后再输入密码即可

 也可以用另一种方式,先输入:

      docker exec -it  mysql(也可以用镜像ID)  /bin/bash  进入容器,再mysql -uroot -p 登录MySQL

Navicat连接Docker中的MySQL

1、用root账号登录MySQL后先用 SHOW DATABASES 查看数据库

2、使用其中叫mysql的数据库  use mysql

3、select user,host from user  ,查询一下root对应的host

     如果对应的host是localhost就需要将其改为 % ,不然会远程连接失败,输入以下语句

       update user set host='%' where user='root';

4、修改root的加密方式以及密码

  alter user 'root'@'%' identified with mysql_native_password by 'your password';

5、再使用 flush privileges; 刷新一下(这一步做完就已经给root用户开启远程连接啦)

6、输入 docker inspect mysql | grep IPAddress  查看Docker内的MySQL的IP

7、打开Navicat--连接,先在常规界面输入连接名(随意),主机填写上面查到的IP,端口默认就是你MySQL的端口号(默认为3306),你的用户名以及密码

 8、在进入SSH界面,点击使用SSH通道,主机填你虚拟机的IP,用户名和密码是你虚拟机的root账户以及密码。然后再点击连接就完场啦

 

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值