mysql数据库允许远程连接

1.验证初始是否允许远程连接

由于本次虚拟机IP为192.168.2.120,因此我们执行

mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-proot,root指root账号的密码),

可以得到结果连接不上。

假如我们不采用远程连接,可以连接上,命令为:mysql -u root -proot。

2.连接上数据库

执行命令use mysql;

使用mysql数据库。

并查看用户表信息,执行命令为:select Host,User from user。

执行结果如下图所示

3.更新或新增用户记录

通过上面步骤可以得到数据表 user内的值,下面我们对表进行更新记录允许远程访问,

执行命令为:

update user set Host='%' where User ='root' limit 1;

(该条命令意思为更新user表内User值为root的第一条记录的Host值设置为%)更新完成后,执行上一步查询命令进行验证

这里如果不想修改原有记录,那么可以插入一条新的记录,不过如果用insert into user (Host,User) values('111,222,3,4','root');

这样的方式是不行的,

提示:RROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

正确方法如下:

GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

用户:user01,密码:123456,这样就添加了一个新的用户,不会出以上的错误了。

 用这个方法可以跳过步骤5


4.执行强制刷新

命令flush privileges;

执行完毕后,关闭数据库连接。

5.更改mysql安装目录下的my.cnf文件。

一般默认路径在/etc/mysql/下,找到bind-address = 127.0.0.1 这一行,可以对其进行删除,注释或者将127.0.0.1更改为0.0.0.0,修改完毕后保存。

6.重启mysql

命令为service mysql restart。 进行远程登陆测试,可以看到已经允许远程连接了。

原文地址:https://www.cnblogs.com/feng18/p/6399170.html