之前的笔记里写通过phpmyadmin来实现对mysql的管理,但是如果要远程连接怎么办,这里使用了Navicat,发现填写Ubuntu主机ip和设置对应的数据库端口号(默认3306)后,不能正常连接,原因是因为mysql没有开放远程连接,那么要如何设置呢?
一、解除mysql对绑定ip的限制
之前看网上教程说修改/etc/mysql里面的my.cnf,实际发现在mysql 5.7.16中这个文件内容的画风明显和网上的截图不一样,于是发现里面引用了/mysql.conf.d中的mysqld.cnf文件,于是去mysqld.cnf文件中修改:
sudo vim mysqld.cnf
在bind-address= 127.0.0.1这句话前面加上#,保存并退出。
二、给予权限
登录mysql:
mysql -u root -p
之后执行语句:(注意尾部的分号)
use mysql;
Grant all on *.* to 'root'@'%' identified by 'root用户的密码' with grant option;
flush privileges;
接下来重启mysql,先输入exit退出mysql,然后执行:
sudo /etc/init.d/mysqld restart
再就可以通过workbench、navicat进行远程登录了。
其实对于远程登录的用户最好分配一个权限低的用户,尤其是分配给非管理员的数据库操作员。