Linux下远程连接MySQL数据库
估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。
步骤
- 在服务器端开启远程访问
首先进入mysql数据库,然后输入下面两个命令:
grant all privileges on *.* to 'root'@'%' identified by 'password';
flush privileges;
- 第一个*是数据库,可以改成允许访问的数据库名称
- 第二个* 是数据库的表名称,*代表允许访问任意的表
- root代表远程登录使用的用户名,可以自定义
- %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
- password代表远程登录时使用的密码,可以自定义
-
flush privileges;
这是让权限立即生效
-
修改my.cnf配置文件
这个是mysql的配置文件,如果你无标题文章找不到在哪里的话,可以输入find /* -name my.cnf
找到
通过vim编辑该文件,找到bind-address = 127.0.0.1
这一句,然后在前面加个#号注释掉,保存退出 -
重启服务
service mysql restart
-
在本地远程连接
在终端输入:
mysql -h 服务器ip地址 -P 3306 -u root -p
然后输入密码即可。
root是第1点设置的用户名,密码也是第1点设置的密码
一些细节
在网上找了很多文章,说要开启3306端口才能连接,但是我开启了却还是无法连接,后来又找到了一些文章,说要更改my.cnf,也就是上面的第2点,更改了然后重启服务器就可以了。
刚刚在另外一台服务器上面试了一下,没有配置过端口,通过上面三步,很快就连上了。
所以第二点非常重要,基本上每个人装mysql的时候都会去配置那个文件,因为字符集需要配置。所以肯定有那个文件的,用find命令找找就行了。