以前一直是用本地的 MySQL 进行学习、开发,后来买了服务器,服务器上也搭好了环境,就准备开始用服务器上的 MySQL 进行学习和开发,也遇到了一些坑,在此记录一下。
现在我本地是可以正常远程连接服务器 MySQL 的,下面两个图用红色涂鸦的是我服务器的公网IP。
如果你不是这样子的,请继续往下看。
要想服务器的 MySQL 可以被本地远程连接,先要进入服务器 MySQL 中执行下面几条语句。
进入 MySQL 输入 use mysql;
、update user set host='%' where user='username';
(% 也可以是固定的 IP,默认是 localhost,即只允许本地连接)。
我的 username
是 root2
,大家填自己的 username
。
再对这个用户进行授权(不知道是不是必须的,为了保险起见,password
是用户的密码)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
再看一下对用户授权是否成功。
show grants for 'username'@'%'
如果还不能进行远程连接,看服务器防火墙的 3306 端口设置好了没。
即使可以正常远程连接服务器 MySQL,运行程序还是会报错。
报错信息如下图:
解决方法是: 数据库用户密码用""
括起来。如"012345"
。
这个解决方法是在一个论坛中看到的(找了两天的资料发现的神奇操作,估计是因为数据库密码有前缀0的原因吧,我的数据库密码就有前缀0)。
https://bbs.csdn.net/topics/392168593
这样后,我的项目就可以正常运行了,如下图。
参考博客:
MYSQL ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.10.210’ (111) 解决方法
命令行登录Mysql,远程登录Mysql的方法