mysql设置账号密码,mysql绑定ipv4端口,远程访问MySQL的这些坑

linux搭建mysql8.0并且开发端口的这些坑

mysql版本8.0

一、设置账号密码

首先我安装mysql的是没有初始化账号密码的;
这个时候会发现进不去mysql客户端,其他情况也可以这么操作

1、这个时候我们就需要改一下mysql的配置文件
一般情况是这个 --> /etc/my.cnf

#进行编辑这个文件
vim /etc/my.cnf

#随便在这个配置文件的某个地方加入下面这行代码
skip-grant-tables

请添加图片描述2、重启mysql服务,命令如下。你也可以用其他命令重启,我mysql服务就是mysql。

#关闭mysql服务
service mysql stop

#启动mysql服务
service mysql start

#重启mysql服务
service mysql restart

3、登录进mysql

mysql -u root -p
#然后提示输入密码,随便输入一个就可以进行,也可能直接进去了不提示输入密码

#进入mysql客户端里面以后 进行切换到mysql服务器
use mysql;

#这个时候就开始进行修改密码。这个时候你会发现进入一个死循环
#因为你是非验证进入的,所有没有对应修改的权限
#所有现在需要刷新权限
flush privileges;

#权限已刷新现在可以进行修改密码了 (改变用户名为root的密码)
after user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

#再次刷新权限
flush privileges;

#退出mysql
quit

4、经过上面那步就已经修改成功了,这个时候我们需要把前面的配置文件里面的 skip-grant-tables 去掉就好了。

5、最后重启mysql
service mysql restart

现在就可以用账号密码进行登录啦。

二、开启允许别人访问自己的数据库

1、改表法
可能是你的账号不允许从远程登陆,只能在localhost,这个时候要在localhost的那台电脑等人mysql。更改mysql数据库里的user表的host,从“localhost”改成“%”

#登入数据库
mysql -u root p 密码;
#切换到mysql数据库
use mysql;
#修改
update user set host='%' where user = 'root';
#查看一下
select host,user from user;

当然改完这些有可能还是访问不了,这个时候有两个可能
1>mysql 3306的端口只被ipv6监听。
2>防火墙未开放
解决方案如下

三、设置ipv4监听mysql和开放防火墙

1、设置ipv4进行监听mysql端口
正常我们的mysql安装好之后启动只监听了ipv6
正常监听了ipv6 ipv4的IP也可以访问,但事事是有意外的,先打开防火墙,试试ipv4可以访问吗,不可以的话就进行如下的改动。

#更改mysql 配置文件
vim /etc/my.cnf
#加入下面这行
bind-address=0.0.0.0
#之后重启mysql ,不知道上面有方法

请添加图片描述
2、开启防火墙(我的linux是CentOS7的)
其他的也没关系,看如下的这篇文章
Linux查看防火墙状态及开启关闭命令

#查看是否运行访问
firewall-cmd --query-port=3306/tcp
#如果打印no的话就是不允许
#就行进行开启 注意别写错,这里容易写错
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#再重新加载下
firewall-cmd --reload
#再查看下 打印yes就OK拉
firewall-cmd --query-port=3306/tcp

尾音:
之前我遇见这些问题也踩了不少的坑,网上有很多都是行不通的。有些拿着mysql5版本的经验来写mysql8的博客,可能都没有验证 导致了不少的坑。如果我的解决了各位的问题,那就麻烦点一个小小的赞,让更多的兄弟们看到 脱离苦海 3Q啦

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值