数据库服务器准备:
1.确认mysql使用的端口:
mysql> show global variables like 'port';
如果要修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。修改后重启生效。
[mysqld]
port=3306
2.确保能够访问此端口:
使用telnet命令查看端口是否可以访问(telnet IP PORT)。如果不能访问,确认防火墙策略和端口访问策略。
netstat -an | grep 3306
如果显示结果如下
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
说明mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#将bind-address注释掉,或者改成你想要使用的客户端主机IP。
这样mysql的远程访问端口就算开启了。
netstat查询的结果解读:
[root@localhost ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1511/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 38066/sshd: root@pt
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 709/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1205/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1201/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1511/master
tcp6 0 0 ::1:6010 :::* LISTEN 38066/sshd: root@pt
tcp6 0 0 :::3306 :::* LISTEN 26195/mysqld
tcp6 0 0 :::111 :::* LISTEN 709/rpcbind
tcp6 0 0 :::22 :::* LISTEN 1205/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1201/cupsd
看到 查询的有Local、Address、Foregin、Program name
Local Address:访问端口的方式,0.0.0.0 是对外开放端口,说明80端口外面可以访问;127.0.0.1 说明只能对本机访问,外面访问不了此端口;
Foregin Address:对外开放,一般都为0.0.0.0:*
Program name:此端口是那个程序在用,程序挂载此端口
重点说明 0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口
127.0.0.1 只能对本机 localhost访问,也是保护此端口安全性
::: 这三个: 的前两个”::“,是“0:0:0:0:0:0:0:0”的缩写,相当于IPv6的“0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符
3.确认客户端用户是否具有访问权限:
使用命令进行查看:
mysql>select* from user;
本机外其他服务要连接数据库除指定ip外可以对所有人开放(用百分号代表)
为了让访问mysql的客户端的用户有访问全部权限,我们可以通过如下方式为用户进行授权:
mysql> grant all on *.* to user_name@"%" identified by "user_password";
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。
授权后需要刷新权限:
FLUSH PRIVILEGES;
在Navicat中配置连接:
1.Navicat中:连接-MySQL
2.输入数据库信息。
输入连接名,这个连接名是为了方便记录是哪台服务器,可自行命名。
输入主机,主机是mysql的服务器地址。
输入端口:MySQL服务器端口。输入用户名和密码。
3.测试连接并保存。
参考资料:
https://jingyan.baidu.com/article/a501d80cbae404ac620f5e36.html