mysql的默认用户root或者其他用户都默认是只允许访问localhost
我们可以通过查询语句查看用户权限
mysql -u root -p
password:________
use mysql
select User,host from user;
通过查询结果我们可以看出默认的都为localhost所以我们要通过修改权限赋给用户远程访问的权限(实质是允许其他的IP地址通过mysql的服务)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION
- 上述代码中的.第一个是数据库名,第二个是数据库的表名,我们可以通过这个对限制可以远程访问的数据和表
- 上述代码中的%就代表了允许所有的IP地址对这个数据库进行访问
别忘记刷新一下
FLUSH PRIVILEGES
如果你已经操作到了这一步,那么恭喜你,还是不可以远程访问,这就是大部分网上给出的教程,然而并没有用,因为在mysql的配置文件中已经默认的将访问绑定本地了。2333333
下面以ubuntu为例:
1:cd /etc/mysql 找到下面的配置文件my.cnf,然后用vim打开 ,找到 bind-address= 127.0.0.1 把它注释掉(这就是神奇的绑定本地,也是不能远程访问的元凶5555555)
2:保存退出
3:sudo service mysql restart
至此,对mysql的远程访问久彻底改造完成啦!