Linux下远程连接MySQL数据库

踩坑笔记

估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。

步骤

  1. 在服务器端开启远程访问
    首先进入mysql数据库,然后输入下面两个命令:
    grant all privileges on *.* to 'root'@'%' identified by 'password';
    flush privileges;
    • 第一个*是数据库,可以改成允许访问的数据库名称
  • 第二个* 是数据库的表名称,*代表允许访问任意的表
  • root代表远程登录使用的用户名,可以自定义
  • %代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
  • password代表远程登录时使用的密码,可以自定义
  • flush privileges;这是让权限立即生效
  1. 修改my.cnf配置文件
    这个是mysql的配置文件,如果你无标题文章找不到在哪里的话,可以输入find /* -name my.cnf 找到
    通过vim编辑该文件,找到bind-address = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出

  2. 重启服务
    service mysql restart

  3. 在本地远程连接
    在终端输入:
    mysql -h 服务器ip地址 -P 3306 -u root -p
    然后输入密码即可。
    root是第1点设置的用户名,密码也是第1点设置的密码

一些细节

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

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

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

推荐阅读更多精彩内容