默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。登入mysql后,更改mysql数据库里的user表里的host项,将localhost改称%
mysql>updateusersethost=’%’whereuser=’root’;mysql>selecthost,userfromuser;例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。
mysql>GRANTALLPRIVILEGESON.TO‘myuser’@’%’IDENTIFIEDBY‘mypassword’WITHGRANTOPTION; mysql>FLUSHP开发云主机域名RIVILEGES例如:如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql>GRANTALLPRIVILEGESON*.*TO’myuser’@’192.168.1.3’IDENTIFIEDBY’mypassword’WITHGRANTOPTION;mysql>FLUSHPRIVILEGES如果还不能连接,就可能是防火墙的锅了。
#通过systemctlstatusfirewalld查看firewalld状态#FirewallDisnotrunningsystemctlunmaskfirewalld systemctlstartfirewalld#再次通过systemctlstatusfirewalld查看firewalld状态,显示running即已开启了。#再次执行执行firewall-cmd–permanent–zone=public–add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。firewall-cmd–reloadsystemctlstopfirewalld.service#关闭防火墙如果检查了防火墙还是不行,那就用最后一招,修改配置文件(博主用了最后一招才解决远程访问的问题)my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf在配置文件中,增加2行代码
[mysqld]bind-address=0.0.0.0重启服务,远程访问,发现可以正常访问了mysql8.0版本配置方法不同,按照上述方法配置之后,Navicat可以正常连接,但是nodejs代码连接报错
Error:ER_NOT_SUPPORTED_AUTH_MODE:Clientdoesnotsupportauthenticationprotocolrequestedbyserver;considerupgradingMySQLclient解决办法(修改加密规则为普通模式,默认是严格加密模式):依次输入以下语句
mysql>ALTERUSER’root’@’%’IDENTIFIEDBY’xxxxxxxx’PASSWORDEXPIRENEVERmysql>ALTERUSER’root’@’%’IDENTIFIEDWITHmysql_native_passwordBY’xxxxxxxx’;mysql>FLUSHPRIVILEGES;用nodejs测试数据库连接,应该就可以使用了mysql5.5 允许远程访问1.启动mysql 的cmd命令
2.使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。
3.使用“GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;”命令可以更改远程连接的设置。
4.使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
5.使用“select host,user from user;”查看修改是否成功。
相关推荐: CentOS7.8怎么安装mysql 8.0.20
这篇文章主要为大家展示了CentOS7.8怎么安装mysql 8.0.20,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。一、安装mysql软件下载并安装MySQL官方的Yum Repository,Mysql版本…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。