前言
最近在工作中遇到了这个需求,估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。下面来看看详细的介绍:
步骤
1、在服务器端开启远程访问
首先进入mysql数据库,然后输入下面两个命令:
1 | grant all privileges on *.* to 'root'@'%' identified by '你的密码'; |
第一个*是数据库,可以改成允许访问的数据库名称
第二个 是数据库的表名称,代表允许访问任意的表
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命令找找就行了。