在 ubuntu16 上用 mysql5.7,按网上的做法,不行啊。 mysql -uroot -p123
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; FLUSH PRIVILEGES;
sudo /etc/mysql/my.cnf;
注释掉这行 #bind-address = 127.0.0.1 ,但是我打开 my.cnf 根本没有这行内容 。但是我也加上了这行#注释的内容啊。
flush privileges;
service mysql restart;
service iptables stop; //ubuntu 上根本提示说找不到 iptables 服务
mysql -h xxx.110.87.xx -u root -p123 出错: Can't connect to MySQL server on xxx.110.87.xx;
1
kxjhlele 2016-12-09 14:38:42 +08:00
root 账号有限制吧,只能本地登录,估计设置 root 可以用 ::1 登录就好了
|
2
shiji 2016-12-09 14:39:40 +08:00 via Android
找教程复制粘贴修改执行不是一条长久之计。。。
你要告诉大家是按照哪个教程安装的?安装的方法多种多样啊。 sudo netstat -atnp 执行一下,看看 MySQL 目前监听的 socket 地址是什么 另外我记得 Ubuntu 默认的防火墙是 ufw ,(实质上也是基于 iptables 的) sudo ufw status 查看当前规则 |
6
shiny 2016-12-09 15:22:33 +08:00 via iPhone
看看是不是只监听到 127.0.0.1 了
|
7
shiji 2016-12-09 15:23:16 +08:00
@skyboy 你好歹把信息提供全面了再问为啥啊。执行 sudo netstat -atnp | grep 3306 看看有没有结果,如果有, IP 是 0.0.0.0 还是 127.0.0.1 还是别的?
root 账号没有限制,即使限制了本地登陆,结果应该是 ERROR 1045 (28000): Access denied for user... 这样的, 你出现的这个错误是根本连接不上数据库,更何况验证密码 /权限. 另外 root 账号不建议开启远程,如果是用于管理,最好配置数据库的 SSL 证书加密通信。如果是用于让别的服务器访问你这台机器的数据库,不要用 root ,要遵循一个应用,一个用户,一个数据库。 |
8
cxshun 2016-12-09 15:25:10 +08:00
#bind-address = 127.0.0.1 这行是要去掉#注释的啊,并且把 127.0.0.1 改为 0.0.0.0 表示允许所有 IP 都可以访问,否则只有本地能访问。
但建议 root 不要开放,可以另外开一个用户去连接。 |