MySQL远程连接问题
018.4.19
mysql 方面问题
查看该路径下文件mysql的配置,(不一定就是这个文件,但应该是在/etc/mysql
里,挨个找),注释掉bind-address = 127.0.0.1
,即:默认绑定本地ip
netstat -npl|grep 3306
查看是否发生变化,修改之后应该如图:
未修改之前是:
(修改配置后,重启服务器:sudo service mysql restart
)mysql -uroot -p
管理员权限登陆mysql
use mysql
使用mysql数据库
select Host,User from user;
查看数据库是否给了远程连接的权限
确保Host处为“%” ,即:任何ip地址都可以连接- 如果不是%,则
GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
意思是:允许ip地址为“%”(即为任意ip),以密码123456,登陆账户名为admin的mysql flush privileges;
更新上面操作后的数据
linux连接方面
(默认服务器为远程电脑(remote),需要连接服务器上mysql的电脑为本地电脑(localhost))
1. 本地电脑能否ping通远程电脑
1. 本地电脑能否连通远程电脑mysql的默认端口3306
2. 如果不能,问题可能如下
a) 远程电脑防火墙问题
b) 远程电脑(我使用的是阿里云服务器)阿里云安全组的端口没有打开
3. 针对a,可以先关掉防火墙试试,ufw disable
(对应的开启的命令: ufw enable
)
4. 针对b,登陆阿里云添加端口
远程连接命令:
mysql -h ip -u username -p passwd
- 如果需要指定端口,加:
-P port
说明:
就自身遇到的状况,仅以上操作后得到解决。以后再遇到其他问题,再行补充。