docker安装mySQL 8
docker安装mySQL 8
现在很多程序使用的 mySQL 版本都是 5.7 ,原因无他,因为稳定。 然而本人今天安装 mySQL 是因为要搭建一套私有的 git 仓库,我选用的是 Gitea ,因为部署简单,对服务器要求不高,我选择的是 mySQL 8 的版本。
环境
上来先说清楚使用环境
mySQL :latest(最新版本:8.0.28 )
服务器:Centos 7 + docker
拉取镜像
使用以下命令,查询有哪些 mySQL 镜像
docker search mysql

第一个星星最多的且标注 官方 的 mysql 就是我们所需要的镜像。
这个步骤也可以通过 dicker hub 查看mysql 的官网仓库为:https://hub.docker.com/_/mysql?tab=tags

通过以下命令拉取镜像
docker pull mysql:latest

说明:mysql 后面不加 latest 也是可以的,默认就是拉去最新版本。
创建容器
通过以下命令查看已下载的镜像
docker images

见上图中,mysql 就是刚刚下载的镜像
通过以下命令创建并运行容器
docker run -d \
--name mysql \
--restart=always \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest
解释:-d : 后台运行-p:端口映射 本机的端口:docker中的端口--name :容器起别名--restart:docker启动的时候随之启动-e MYSQL_ROOT_PASSWORD :设置mysql的root用户的密码
测试
通过以下命令查看正在运行的容器
docker ps

其中 NAMES 为 mysql 的容器就是刚刚创建的容器。
通过以下命令进入容器
# 进入容器
docker exec -it 68a63f41845e bash
#登录
MySQL:mysql -u root -p
# 输入密码登录(注:密码输入时是看不见的)

能进入 mysql 说明已经部署成功了。 接下来就是使用物理机上面的数据库连接工具进行连接测试了,我使用的是 Navicat

输入连接信息,点击左下角的 “测试连接” 提示 “成功” 说明一切正常。

以上就是我机器上面的连接截图,至此, docker 安装 mysql 顺利完成了。
无法连接问题解决
在使用过程中,你可能会遇到提示:is not allowed to connent to this MySQL server
下图是从网上借来的,因为我本地已经解决掉了,无法截图。
出现这个情况,是因为你的 mysql 没有设置允许从远程登陆。
通过以下代码可解决此问题
docker exec -it 68a63f41845e bash
mysql -u root -p
use mysql;
update user set host = '%' where user ='root';
flush privileges;
quit;

完成上面操作就可以了,再回到数据库连接工具试试看。
如果你需要实现数据库自动备份和自动删除备份文件的话,可以阅读文章《每天定时自动备份docker的mysql》
更多推荐




所有评论(0)