在Linux下安装好mysql之后,想通过远程的mysql图形化客户端来连接访问,需要先对mysql进行一些权限的设定。我通常是如下做的:
在linux下安装好mysql,默认是没有密码的,只需要通过
mysql -uroot
就可以进入mysql的console了。通过如下命令,可以查看mysql针对各个用户(localhost之类)的访问权限。
use mysql;
select * from user;
select * from user;
ok,我们只需要打开并且修改远程用户的权限即可:
GRANT ALL PRIVILEGES ON *.* TO root@'localhost.localdomain' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO root@'127.0.0.1' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' with grant option;
flush privileges;
GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO root@'127.0.0.1' IDENTIFIED BY '123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' with grant option;
flush privileges;
其中的‘123456’是访问密码,可以根据自己的情况随意修改。
“GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' with grant option;”这一行就是用来设定除locahost外,所有用户的访问权限的语句。这里我是放开了所有的权限,具体的可以根据个人情况修改。
最后我们需要确认mysql的3306端口是否被防火墙放行。如果没有,则配置防火墙,放行mysql。
linux下可以执行:(每次重启机器,都需要执行,或者写入防火墙规则或/etc/rc.local )
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 或者 iptables -F