Mysql 配置远程登陆

低版本(如5.x)

基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:

登录到mysql中,为root进行远程访问的授权,执行下面的命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> flush privileges;
sql

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

GRANT ALL PRIVILEGES ON . TO root@“172.168.193.25” IDENTIFIED BY “root”;

第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

高版本(如8.x)

# 适用于 MySQL 8.0之后的版本,需要先创建一个用户,再进行授权
create user root@'%' identified by '123456';
grant all privileges on *.* to root@'%' with grant option;

flush privileges;
shell

Nodejs连接

对于mysql8.0及以上版本,由于nodejs原因,还需要额外增加一条

ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';
shell

然后再刷新权限

flush privileges;
shell
打赏
  • 微信
  • 支付宝
评论
来发评论吧~
···

歌手: