前言

最近在工作中遇到了这个需求,估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。下面来看看详细的介绍:

步骤

1、在服务器端开启远程访问

首先进入mysql数据库,然后输入下面两个命令:

1
2
grant all privileges on *.* to 'root'@'%' identified by '你的密码';
flush privileges;

第一个*是数据库,可以改成允许访问的数据库名称

第二个 是数据库的表名称,代表允许访问任意的表

root代表远程登录使用的用户名,可以自定义

%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了

password代表远程登录时使用的密码,可以自定义

flush privileges;这是让权限立即生效

2、修改my.cnf配置文件

这个是mysql的配置文件,如果你找不到在哪里的话,可以输入

1
`find /* -name my.cnf`

通过vim编辑该文件,找到bind-address = 127.0.0.1 或者是 0.0.0.0这一句

然后在前面加个#号注释掉,保存退出

3、重启服务

1
service mysql restart

4、在本地远程连接

在终端输入:

1
mysql -h 服务器ip地址 -P 3306 -u root -p

然后输入密码即可。

root是第1点设置的用户名,密码也是第1点设置的密码 , 注意第一个P指定端口是大写

一些细节

在网上找了很多文章,说要开启3306端口才能连接,但是我开启了却还是无法连接,后来又找到了一些文章,说要更改my.cnf,也就是上面的第2点,更改了然后重启服务器就可以了。

刚刚在另外一台服务器上面试了一下,没有配置过端口,通过上面三步,很快就连上了。

所以第二点非常重要,基本上每个人装mysql的时候都会去配置那个文件,因为字符集需要配置。所以肯定有那个文件的,用find命令找找就行了。