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