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。 进行远程登陆测试,可以看到已经允许远程连接了。