Linux安装MySQL8.0并设置可远程访问

本文将解决本地Navicat连接远程MySQL服务器提示不允许连接。

一、MySQL8.0安装

1.下载wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
在这里插入图片描述
2.安装rpm包
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
在这里插入图片描述
3.检查mysql的yum源是否安装成功:yum repolist enabled | grep “mysql.-community.
在这里插入图片描述
4.使用yum install mysql-server安装(这里会有点慢)

5.启动mysql
service mysqld start

6.查看初始密码
cat /var/log/mysqld.log|grep ‘A temporary password’
在这里插入图片描述
7.登录mysql
mysql -uroot -p

8.这个时候会让修改密码,规则是大小写字母然后数字标点符号,自己测试
alter user ‘root’@‘localhost’ identified by ‘youpassword’;

9.修改密码验证规则
由于密码的规则性,我们可以把密码改一下

输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看
在这里插入图片描述
然后设置这个值set global validate_password.policy = low;

在就可以使用修改密码的命令来修改8位数的密码了,没有什么限制
alter user ‘root’@‘localhost’ identified by ‘youpassword’;

一、问题还原

本地Navicat连接centos7.3虚拟机的MySQL数据库
在这里插入图片描述

确认连接后会报出一个这样的错误
在这里插入图片描述

二、发现问题

这个问题一看就是远程连接的问题,但是新学习的小伙伴估计就很难想到是这方面的问题,接下来咔咔一步一步的帮助解决这个问题。

首先我们来到虚拟机终端,连接上MySQL。

执行命令mysql -uroot -p,然后输入密码,进入到MySQL

在这里插入图片描述
执行指令show databases;可以查看到目前所有的数据库
在这里插入图片描述
我们主要需要关注的是mysql这个库,切换数据库,执行命令use mysql,在mysql的这个数据库里边有一个user表。
在这里插入图片描述
在这里说一个小小的点,在终端我们以往执行clear就可以清屏,但是在mysql中执行clear是没有作用的。

在mysql终端清屏指令是system clear

好了,回归正题,在user表中,我们只需要俩个信息,一个是hos一个是user。我们需要执行查询语句给查询出来。

在这里插入图片描述
在上图中,host列指定的是允许用户登录的ip,如果为localhost那就只能本机登录,远程是登录不了的。

这也就是为什么我们本地navicat连接mysql无法连接的原因。

由于是本地的虚拟机不存在安全问题,所以咔咔将会把host设置为%

% 代表通配符,代表这所有的连接都可以,不限制任何ip。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;

问题已经找到,接下来就去解决它。

三、解决问题

执行指令update user set host='%' where user='root';,将localhost修改为%,允许让所有ip连接。
在这里插入图片描述
到这里还需要进行一次权限刷新flush privileges

本地navicta再次连接数据库。这个时候就可以了。

在这里插入图片描述

四、扩展

关于flush privileges在什么时候需要执行。

这个命令是将user和privilege表中的用户信息或者权限从mysql库中提取到内存中。

当用户数据和权限出现修改后,不想重启数据库的情况下就想直接生效,就需要执行这个指令。

也就是说这个指令只针对于用户数据和用户权限修改的情况下。

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咔咔-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值