解决方案如何开启MySQL的远程帐号

解决方案如何开启MySQL的远程帐号,第1张

开启 MySQL 的远程登陆帐号有两大步:

确定服务器上的防火墙没有阻止 3306 端口

MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。

如果在安装 MySQL 时指定了其他端口,请在防火墙中开启指定的 MySQL 使用的端口号。

MySQL远程访问权限,允许远程连接的开启

1、登陆mysql数据库

mysql -u root -p

查看user表 www.2cto.com

mysql>use mysql

Database changed

mysql>select host,user,password from user

+--------------+------+-------------------------------------------+

| host | user | password |

+--------------+------+-------------------------------------------+

| localhost| root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

+--------------+------+-------------------------------------------+

2 rows in set (0.00 sec)

可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。

update user set host = ’%’ where user = ’root’

将权限改为ALL PRIVILEGES

mysql>use mysql

Database changed

mysql>grant all privileges on *.* to root@'%' identified by "root"

Query OK, 0 rows affected (0.00 sec) www.2cto.com

mysql>select host,user,password from user

+--------------+------+-------------------------------------------+

| host | user | password |

+--------------+------+-------------------------------------------+

| localhost| root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

| %| root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |

+--------------+------+-------------------------------------------+

3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

use mysql

update user set host = '%' where user = 'root'

这样在远端就可以通过root用户访问Mysql.

配置mysql允许远程连接的方法

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限

1、新建用户远程连接mysql数据库

grant all on *.* to admin@'%' identified by '123456' with grant option 

flush privileges

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option

flush privileges


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5912028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存