环境
- CentOS 8
- Docker 20.10.7
- MySQL 8.0.16
安装
拉取镜像
默认拉取最新版本的镜像
如果要指定版本,使用下面的命令
创建数据目录和配置文件
在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权
创建配置文件
在上面创建的配置文件目录/usr/mysql/conf下创建MySQL的配置文件my.cnf
添加以下内容到上述创建的配置文件中
启动创建容器
参数解释:
-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录-d : 后台运行容器
-p 映射容器端口号和宿主机端口号
-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
执行上述命令后,执行查询容器的命令就可以看到创建的mysql容器
结果如下所示:
问题
上述虽然安装好了mysql,但是使用远程的Navicat连接时提示错误,不能正确连接mysql,此时需要修改按照下面说的步骤修改一下mysql的密码模式以及主机等内容才可以。
修改mysql密码以及可访问主机
- 进入容器内部
- 连接mysql
- 使用mysql库
- 修改访问主机以及密码等,设置为所有主机可访问
注意:
mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接
经过以上步骤,再次远程使用Navicat连接数据库时就可以正常连接了。