我的MySQL安装在Linux上,如果我要想在Windows上连接linux上的MySQL,可以使用一些工具,如Navicat和SQLyog。我在这里用SQLyog演示一下Windows远程连接MySQL。

第一次连接MySQL

首先安装SQLyog,这里就不演示了。打开SQLyog,在菜单栏点击【文件】,然后选择新连接。
Windows远程登录MySQL_MySQL
在弹出的窗口中点击【新建】,然后设置【连接名】,点击【确定】。
Windows远程登录MySQL_Windows_02
先尝试输入root用户和密码,我的SQL主机地址框填写MySQL所安装的Linux系统的ip地址,然后点击【连接】。
Windows远程登录MySQL_MySQL_03
连接速度很慢,然后弹出一个错误窗口。
Windows远程登录MySQL_MySQL_04
这个错误是因为root用户并不支持远程登录MySQL,MySQL的root用户的完整用户名是root@localhost,@后的localhost表示root用户只能在本地登录,不能远程登录。所以要想远程登录上MySQL,我还需要新建一个可以远程登录的用户。

新建远程登录用户

在Linux上使用root用户登录MySQL。

mysql> grant all on *.* to 'Charramma'@'192.168.1.132' identified by 'Charramma123#';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>
  • grant 是授权的命令
  • all 代表所有的权利
  • on . 代表可以操作任何库里的任何表,前一个表示库,后一个表示表
  • to 'Charramma'@'192.168.1.132' 指定用户Charramma,用户Charramma只能通过192.168.1.132这个ip登录。ip位置也可以使用%代替,表示可以从任何ip地址登录,不推荐这样做。
    随后再把防火墙关掉。

再次连接

顺利使用刚刚创建的用户远程连接MySQL。
Windows远程登录MySQL_Windows_05