mysql 远程访问设置

在使用navicat访问虚拟机上的mysql时报can't connnect to MySQL server on 'localhost' (10038)mysql

首先看是否能够ping通ubuntu上的IP地址,若是能ping说明网络是好的,而后在telnet,本机cmd,telnet ip 3306,显示链接失败。sql

mysql在初始化安装时默认只能本机链接,即只容许localhost;查看方式: apache

netstat -an | grep 3306

显示信息为ubuntu

tcp        0      0    127.0.0.1:3306            0.0.0.0:*               LISTEN

 127.0.0.1 表示只监听本机回环地址,只能本机访问,0.0.0.0 表示监听本地全部ip地址,其余电脑是能够访问的,而且修改ip不受影响,修改网络

/etc/mysql/mysql.conf.d,修改mysqld.cnf中的   bind-address = 127.0.0.1    改成       bind-address = 0.0.0.0tcp

重启mysql :service mysqld restart命令行

肯定下防火墙是否有拦截端口;确认3306没有被墙,rest

而后在用navicat访问链接成功;code

可是只能使用root帐号链接,普通用户登陆 Access denied for user 'aaaa'@'192.168.1.100' (using password: YES)server

解决方式:受权处理,进入mysql命令行:mysql -uroot -h127.0.0.1 -p;受权

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

刷新:

flush privileges;

其中usrname是你的用户名,%是访问的机器,password是密码。 %访问IP不受限制,若想限制特定IP,则替换下%就好

相关文章
相关标签/搜索