最近装了个linux系统在装数据库的时候出现了很大的问题,在网上也没有找到解决的办法,就接触学习了一下docker。

首先按装个docker

使用paru安装Docker

paru -S docker

启动Docker服务

systemctl start docker

查看服务装态

systemctl status docker

设置开机自动

systemctl enable docker

问题

docker安装完成,一般用户没有权限启动docker服务,只能通过sudo来通过root用户权限来启动docker,所以我们要给普通用户权限。

sudo gpasswd -a $USER docker
newgrp docker

docker安装Mysql8.0(下载镜像、创建实例、启动、连接)

docker仓库搜索mysql

docker search mysql

docker仓库拉取mysql8.0

docker pull mysql:8.0

安装运行mysql8.0

docker run -p 3306:3306 --name mysql8.0 -e MYSQL_RROOT_PASSWORD=root -d mysql8.0 #docker run -p 本机主机端口号:容器服务端口号 --name 容器名字 -e 配置信息修改 -d 镜像名字

查看容器

docker ps -a
CONTAINER ID   IMAGE       COMMAND                  CREATED        STATUS                                PORTS                                                  NAMES
8c2481345816 mysql:8.0 "docker-entrypoint.s…" 18 hours ago Exited (255) Less than a second ago 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql8.0

使用客户端工具远程连接mysql

因为mysql8.x版本的密码加密的方式,Navicat识别不了。因此我们需要将mysql的加密方式改成mysql_native_password。

alter user ‘root’@’%’ identified with mysql_native_password by ‘root’;(修改加密方式)
select host,user,authentication_string,plugin from mysql.user;(查看是否将加密方式修改过来)

最后就可以连接navicatle。

补充

因为电脑关机了,开机自启docker不会自启容器,需要手动启动。

docker start 8c2

记得每次都要启动哦!!!