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

通过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数据库可以用任意ip连接访问的方法的文章就介绍到这了,更多相关MySQL 任意ip连接访问内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


数据运维技术 » 数据库安全:MySQL数据库可以用任意ip连接访问的方法