MySQL笔记(七)远程连接MySQL
mysql 默认只允许 localhost 连接,因此在远程连接服务器上的 mysql 之前,需要做一些设置。在没有设置前,默认是下面的状况,mysql 只能由 localhost(127.0.0.1)连接:
root@xkfx:~# ss -ant | grep 3306 LISTEN 0 50 127.0.0.1:3306 *:*
PS. 如果是阿里云的服务器需要先配置安全组规则。
第一步 - 修改 my.cnf
root@xkfx:~# find / -name my.cnf /etc/mysql/my.cnf
把 my.cnf 中含 bind-address 的行注释掉就可以了。
第二步 - 修改 user 规则
- 进入 mysql
- USE mysql
- SELECT host, user FROM user;
- 修改 user 表 ,把 root (或者其中一个 root)的 host 改成 %
有时候会有多个 root ,随便改可能会违反实体完整性(host 与 user 构成 primary key),因此需要根据具体情况去改。
第三步 - 重启 mysql
service mysql restart # 这个不一定每台机子一样。。
最后,一切顺利的话,重新用 ss -ant | grep 3306 命令检查:
root@xkfx:~# ss -ant | grep 3306 LISTEN 0 50 *:3306 *:*
命令行远程连接 MySQL
和连接本地 mysql 是一样的,不过是改了 ip
用 HeidiSQL(MySQL可视化操作界面) 远程连接 mysql
当然 你也可以选择用其它的 MySQL可视化操作界面例如:NAVICAT 之类的。