如何打开MySQL中root账户的远程登录

发布网友 发布时间:2022-04-20 11:59

我来回答

5个回答

热心网友 时间:2022-04-07 19:15

基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:

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

第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要*只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

将其注释掉,保存。

3、重新启动MySQL服务器。执行下面的几条命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:
# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

执行完上面的三步后,就可以通过远程机器连接了数据库了。

热心网友 时间:2022-04-07 20:33

基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
mysql GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要*只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:
bind-address = 127.0.0.1
将其注释掉,保存。
3、重新启动MySQL服务器。执行下面的几条命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe &
如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:
# whereis mysqladmin
执行完上面的三步后,就可以通过远程机器连接了数据库了。

热心网友 时间:2022-04-07 22:07

默认情况下,root用户是不具备远程登录的权限的,这也是基于安全考虑;

在mysql server中查看root用户所具备的相应权限;

给root用户进行授权:
Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;
注:kdm001为root远程登录时使用的密码;

在本机中,新开command窗口,确认root用户可以进行登录;

热心网友 时间:2022-04-07 23:59

在名字叫mysql数据库里面的user表里面,修改或者插入一条用户为root,Host为允许远程登录的ip,网段,后面的字段可以设置相应的权限

热心网友 时间:2022-04-08 02:07

是可再看下的。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com