Fork me on GitHub

JackLin的博客

当前位置:首页 > 标签

SpringBoot 14 Spring 2 SpringMVC 3 MyBatis 2 Linux 4 阿里云 13 宝塔 1 Docker 3 ElasticSearch 2 Redis 4 Shiro 0 Dubbo 0 Swagger 0 Thymeleaf 6 数据库 11 MySQL 11 外键 2 Gradle 1 Test 0 Tomcat 1 JavaWeb 7 Ajax 1 注解 3 css 2 报错 3 多数据源 1 Java基础 1 源码 2 Servlet 1 JSP 1 环境搭建 8 RabbitMQ 1 七牛云 1 Edit.md 1 图像识别 4 英语 2 Zookeeper 1

宝塔面板安装MySQL数据库遇到的坑

  • 2020-05-20
  • 145
  • 数据库设计
今天由于在写 MySQL 安全性方面的实验报告,关于角色管理这一个内容,低版本的 MySQL 数据库不支持,为了方便,直接就用宝塔面板安装了一个 MySQL8.0。 原本以为会很顺利,但是中间确遇到了点小问题,特此记录一下。 ## 遇到问题 我安装成功之后,尝试使用 Navicat 连接数据库,但是却报了一个 1045 错误,如下图所示: ![](http://image.linkaiblog.top/宝塔MySQL_2020052015315431SS.png) 网上查了一下说是不允许远程主机访问,实际上也比较容易解决。 ## 解决方案 稍微熟悉 MySQL 的同学应该知道,安装完数据库后,默认是有一个 root 用户的,root 用户有最高的权限,可以创建一些用户并赋予权限。 而记录用户的一些信息是放在 mysql数据库(具体的一个数据库)的 user 表里面的。 我们可以使用 Xshell 连接服务器,使用 root 用户登录 MySQL 服务,查看 mysql 数据库里面的 user 表的具体内容。 ## 连接 MySQL进行操作 ### 使用 root 用户进行登录 ``` mysql -u root -p123456 ``` - -u 后面输入用户名 - -p 后面输入密码(如何使输入明文密码不需要空格) - 如果想输入密码是不显示密码,则在最后直接输入 -p,然后会提示输入密码 `mysql -u root -p` ### 查看 mysql 数据库(是以具体的数据库)中的 user 表中的字段 **为了方便理解,我先给出一张成功修改之后的截图** ![](http://image.linkaiblog.top/宝塔MySQL_2020052016214021SS.png) 下面进行具体的操作 ``` use mysql; ## 切换到 mysql 数据库 select Host, User from user; ## 查询Host,User 字段 ``` ![](http://image.linkaiblog.top/宝塔MySQL_202005201602500SS.png) 发现 root 用户对应的 Host 字段默认值是 localhost,表明只允许本地连接,我们需要对其进行修改 ### 修改 Host 字段,然后刷新一下 ``` update user set Host = '%' where User = 'root'; ## 修改之后记得刷新一下 flush privileges; ``` ![](http://image.linkaiblog.top/宝塔MySQL_2020052016562856SS.png) 这里的 % 是一个通配字符,表示允许任意的 IP 进行连接。 `flush privileges;` 用来刷新MySQL系统权限的相关表 ## 再次连接,连接成功 完成上面的操作之后,再次使用 Navicat 进行连接,连接成功! ![](http://image.linkaiblog.top/宝塔MySQL_202005201663706SS.png)