欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

MySQL数据库可以用任意ip连接访问的方法

时间:2022-06-23 11:39:18|栏目:Mysql|点击:

通过CMD命令行修改数据库表的一个字段的值,实现连接,访问。

第一步、找到MYSQL软件安装所在的bin目录;

(1)cd\当前目录

(2)指定MYSQL安装的bin目录

(3)输入 -h localhost -u root -p;出现输入密码,此时输入你在安装MYSQL软件设置的密码即可。

(4)输入 use mysql; select user,host from user;我们的目的是要把localhost用%代替即可。

(5)使用update user set host='%' where host='localhost';语句更新即可。

(6)修改成这个样子就ok了。

输入如上语句查询结果如下:

此时,MYSQL就可以用任何IP地址来访问了。

前面连上了就不用看下面;

番外一:连接不上云服务器的数据库,就在mysql数据库下 执行flush privileges;执行后就可以正确连接了!

下面是设置指定的ip访问;

番外二:设置指定ip访问mysql数据库

运行到mysqlbin目录下 执行下面的命令

mysql -u root -p

之后输入密码进行登陆,完毕后添加远程ip访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.251.226.172' IDENTIFIED BY 'czp' WITH GRANT OPTION;
flush privileges;

第二行是使设置立刻生效。

第一行中,10.251.226.172是阿里云内网的一个地址,这个是允许远程访问的IP的值。自行改为其他值。root是账户名,后面的czp是密码。即,允许来自10.251.226.172的连接并使用root账户和czp这个密码进行访问。ALL PRIVILEGES ON 后面的*.*表示所有数据库,即完全访问权限,可以指定为特定数据库。而IP这里,可以使用%来表示所有IP。

这里还会出现一种问题,当我们授予ip给远程访问时,常常通过第三方软件,比如NavicatPermium 12。如果安装的版本为mysql8.0以上版本,则会报以下错误:

出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。通过网络查找发现我们可以将mysql用户登录的加密规则修改为mysql_native_password。

解决方法:

(1)登录mysql。打开cmd,用命令行登陆mysql,使用mysql -u root -p命令;

2.输入登陆密码;

3.输入命令:第一条:ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

第二条:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

注意此处的password为你的登陆密码,本人的操作为:

第一条:ALTER USER 'root' IDENTIFIED BY '**********' PASSWORD EXPIRE NEVER;

第二条:ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY **********';

参考如下:

然后打开navicat,发现连接成功.

上一篇:关于mysql时间区间问题浅析

栏    目:Mysql

下一篇:没有了

本文标题:MySQL数据库可以用任意ip连接访问的方法

本文地址:http://www.codeinn.net/misctech/205693.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有