ubuntu系统安装的MySql数据库,远程不能访问的几种可能问题
2016-11-23 12:45
513 查看
安装MySQL数据库后一般会遇到远程计算机不能连接的问题,具体问题需要我们排查。
可能一:MySql数据库是否提供了外部访问的用户以及权限?
可能二:MySql的配置文件是否只绑定了本机ip(ubuntu下:/etc/mysql/mysql.conf.d/mysqld.cnf)?
可能三:操作系统的防火墙不允许外部访问3306端口
本文实例发生的环境是ubuntu16.04,MySql5.7。
排查一:在安装了MySql数据库的计算机上,
命令行进入mysql:mysql -u root -p
并输入用户root的密码:
![](data:image/png;base64,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)
执行语句:select user, host from user;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9dcdfa47bedf12f53d9f2b7c2d4e0814.png)
如果是上述结果,则说明没有设定外部访问的用户,接下来我们给root用户赋予外部访问的权限,执行2条语句:
grant all privileges on *.* to 'root'@'192.168.3.%' identified by 'password' with grant option;
flush privileges;
注意password是你给root设定的密码,注意拼写,一切ok后再次查看user表内的内容
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/5d1ee2c53bc7c5c6a284f930accd645d.png)
红框里的那条记录就是刚才我们用grant命令添加的,它的意思是局域网内192.168.3.0-192.68.3.255的ip主机都可以通过用户root和密码password来访问。
这里解释一下grant语句格式
mysql> grant 权限1,权限2,…权限n on 数据库名.表名 to 用户名@用户地址 identified by ‘用户密码’ with grant option;
权限1,权限2,…代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等权限。
如果是all privileges或者all,表示赋予用户全部权限。
如果数据库名.表名被*.*代替,表示赋予该用户可以操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址。
‘用户密码’必须提供。
最后的 with grant option 表示权限传递,意思是允许该用户将其权限分配给其他人。
以上所有操作也可在图形界面完成,如果你的ubuntu上安装了MySql Workbench会很方便:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/4b042a24f23d567b6a7030e148569401.png)
排查二:配置文件是否只绑定了本机ip,使用gedit文本编辑器打开mysql的配置文件,把bind-address = 127.0.0.0这行注释掉(句首加上#),当然,也可以绑定你所需的主机,ubuntu终端执行:sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/0af5726c74dfe8a29111452c3adde912.png)
保存退出,ubuntu终端执行:service mysql restart,或者手动重启mysql,或者重启系统。
另外,重启之后你可以使用 netstat -an|grep 3306 命令来查看端口情况:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/8ea18cdc359fd579d7bbd36b0a335af0.png)
红框内是注释掉bind-address后才有的,未注释前没有。
排查三:关于操作系统的防火墙不允许外部访问3306端口,请根据操作系统自行排查。
END.
可能一:MySql数据库是否提供了外部访问的用户以及权限?
可能二:MySql的配置文件是否只绑定了本机ip(ubuntu下:/etc/mysql/mysql.conf.d/mysqld.cnf)?
可能三:操作系统的防火墙不允许外部访问3306端口
本文实例发生的环境是ubuntu16.04,MySql5.7。
排查一:在安装了MySql数据库的计算机上,
命令行进入mysql:mysql -u root -p
并输入用户root的密码:
执行语句:select user, host from user;
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/9dcdfa47bedf12f53d9f2b7c2d4e0814.png)
如果是上述结果,则说明没有设定外部访问的用户,接下来我们给root用户赋予外部访问的权限,执行2条语句:
grant all privileges on *.* to 'root'@'192.168.3.%' identified by 'password' with grant option;
flush privileges;
注意password是你给root设定的密码,注意拼写,一切ok后再次查看user表内的内容
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/5d1ee2c53bc7c5c6a284f930accd645d.png)
红框里的那条记录就是刚才我们用grant命令添加的,它的意思是局域网内192.168.3.0-192.68.3.255的ip主机都可以通过用户root和密码password来访问。
这里解释一下grant语句格式
mysql> grant 权限1,权限2,…权限n on 数据库名.表名 to 用户名@用户地址 identified by ‘用户密码’ with grant option;
权限1,权限2,…代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等权限。
如果是all privileges或者all,表示赋予用户全部权限。
如果数据库名.表名被*.*代替,表示赋予该用户可以操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址。
‘用户密码’必须提供。
最后的 with grant option 表示权限传递,意思是允许该用户将其权限分配给其他人。
以上所有操作也可在图形界面完成,如果你的ubuntu上安装了MySql Workbench会很方便:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/4b042a24f23d567b6a7030e148569401.png)
排查二:配置文件是否只绑定了本机ip,使用gedit文本编辑器打开mysql的配置文件,把bind-address = 127.0.0.0这行注释掉(句首加上#),当然,也可以绑定你所需的主机,ubuntu终端执行:sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/0af5726c74dfe8a29111452c3adde912.png)
保存退出,ubuntu终端执行:service mysql restart,或者手动重启mysql,或者重启系统。
另外,重启之后你可以使用 netstat -an|grep 3306 命令来查看端口情况:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/8ea18cdc359fd579d7bbd36b0a335af0.png)
红框内是注释掉bind-address后才有的,未注释前没有。
排查三:关于操作系统的防火墙不允许外部访问3306端口,请根据操作系统自行排查。
END.
相关文章推荐
- ubuntu系统安装的MySql数据库,远程不能访问的几种可能问题
- ubuntu系统安装的MySql数据库,远程不能访问的几种可能问题
- 解决Ubuntu下安装的MySQL不能远程访问的问题
- ubuntu 10.04 编译安装 vim 7.3, 解决 vim 不能使用系统剪贴板问题
- 解决Vmware Workstation7上安装Linux系统不能SSH远程连接的问题
- 在安装数据库SQL2000的时候有时会出现不能远程访问的问题。
- 安装mysql后解决远程不能访问问题
- 如何为虚拟电脑安装ubuntu系统以及可能出现的问题解决
- vmware安装ubuntu系统时不能看到共享文件的问题
- ubuntu安装mysql不能远程访问的解决方法
- 安装双系统后Ubuntu下不能访问windows下磁盘解决方案
- 解决双系统问题,先安装win7,再安装ubuntu,发现ubuntu不能识别检测已经安装的win7,并且只能看到一整块硬盘的问题
- ubuntu安装mysql后不能远程访问的方法
- Ubuntu14.04下MySQL数据库无法远程访问的问题
- 解决双系统下,Ubuntu安装时不能看到已经做好的win7分区的问题
- 解决Vmware Workstation上安装Linux系统不能SSH远程连接的问题
- Ubuntu Server 16.04安装MySQL设置远程访问出现问题的完美解决方案(error:10061)
- 关于解决安装ubuntu双系统中出现的不能识别磁盘分区、空闲空间变不可用问题
- u盘启动安装ubuntu与windows双系统过程记录以及可能出现的问题提示
- mysql数据库不能远程访问的问题