温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql如何允许远程访问

发布时间:2020-08-10 14:30:33 来源:ITPUB博客 阅读:169 作者:宵云科技 栏目:MySQL数据库

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

修改用户表的数据

登入mysql后,更改 mysql 数据库里的 user 表里的 host 项,将localhost改称%

mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

修改授权

例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES

例如:如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES

检查防火墙

如果还不能连接,就可能是防火墙的锅了。

#通过systemctl status firewalld查看firewalld状态#FirewallD is not runningsystemctl unmask firewalld             systemctl start firewalld#再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。#再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。firewall-cmd --reloadsystemctl stop firewalld.service   #关闭防火墙

修改mysql配置文件

如果检查了防火墙还是不行,那就用最后一招,修改配置文件(博主用了最后一招才解决远程访问的问题)

my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf

在配置文件中,增加2行代码

[mysqld]bind-address = 0.0.0.0

重启服务,远程访问,发现可以正常访问了

p.s.

mysql8.0版本配置方法不同,按照上述方法配置之后,Navicat可以正常连接,但是nodejs代码连接报错

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

解决办法(修改加密规则为普通模式,默认是严格加密模式):

依次输入以下语句

mysql>ALTER USER 'root'@'%' IDENTIFIED BY 'xxxxxxxx' PASSWORD EXPIRE NEVERmysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxx';mysql>FLUSH PRIVILEGES;

用nodejs测试数据库连接,应该就可以使用了

mysql5.5 允许远程访问

1.启动mysql 的cmd命令

mysql如何允许远程访问

2.使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

mysql如何允许远程访问

3.使用“GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;”命令可以更改远程连接的设置。

mysql如何允许远程访问

4.使用“flush privileges;”命令刷新刚才修改的权限,使其生效。

mysql如何允许远程访问

5.使用“select host,user from user;”查看修改是否成功。

mysql如何允许远程访问

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI