基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。
下面我们将列出解决方案。
若要允许Linux系统中的mysql数据库可以被远程连接,需要执行以下两个步骤:
1、进入mysql,创建一个新用户,将用户赋予远程登录操作数据库的权利。
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码
例如:grant all privileges on *.* to root@'%' identified by '123456' with grant option;//123456为用户root的密码
赋予所有权限使用:all privileges 。执行以后,会在数据库中的mysql.user表中添加一条用户记录,表示命令已经成功执行。
这里添加一条知识点,在你通过上面命令赋予远程操作数据库的权限后,需要flush privileges;来刷新mysql的系统权限相关表,我的理解就是重新加载配置文件。另外还有别的用处,新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
2、修改配置文件
因为mysql数据库考虑到安全因素,默认只能从本地登录,不允许远程登录。因此,上面第一步虽然成功添加用户并赋予远程登录的权限,任然不能从远程登录,会报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (10061)。
因此要想成功的实现Linux操作系统中的mysql数据库可以被远程访问,需要修改配置文件: /etc/mysql/my.cnf。将配置文件中的:bind-address=127.0.0.1 修改为bind-address=0.0.0.0 即可,也可以#号注释掉。
操作完成后重启mysql服务:service mysql restart;
通过上面的两步即可成功允许Linux系统中的mysql数据库被另一台操作系统远程连接,如下:
大功告成。我的centos6.5成功了登录了我的腾讯云的mysql。