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-
(声明:本文非原创,内容来自各大优秀的笔记文章。仅做记录供自己加深印象,也希望能对他人提供点帮助)
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账户以及密码。然后再点击连接就完场啦
更多推荐
所有评论(0)