今天在本地连接linux服务端的mysql始终报错61,谷歌后找到原因:
linux的mysql默认是不允许远程连接操作的,在stack上面找到方法:修改mysql配置文件/usr/local/mysql/my.cnf,将bind-address=127.0.0.1改为0.0.0.0.再连接时依旧报错,说host不允许连接。谷歌后找到原因,需要修改mysql user表:
1 2 3 4 5 | x:\>mysql -u root -pvmware mysql> use mysql; mysql> update user set host = ‘%’ where user = ‘root’ and host=’localhost’; #如果不带 and host=’localhost’会报错,ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘ PRIMARY ’ mysql> select host, user from user ; mysql> flush privileges ; |
ok。成功。
把工程布置上去,访问始终失败
说是找不到表,但是我的服务端是有这个表的,怀疑是jdk版本1.8的问题,因为我本地是1.7,jdk1.8改动很大,so试着改linux的jdk版本,直接在/usr/local/java里的jdk和jre删掉,将1.7传上去放在那个路径下,并修改配置文件/etc/profile里的jre和jdk环境变量。将1.8删掉后java命令的确找不到了,但是1.7设置好后java命令依旧找不到。在命令行输入java后找不到命令,系统提示几个jre和jdk的包,是openjdk和openjre。没办法了,直接apt-get openjdk,安装好后,java命令成功。重启工程,依旧报错说表找不到。很奇怪,明明有表的,和本地一样。问了几个同事说可能是linux mysql大小写敏感的问题,我的实体类的名字User,但表中表名是user,难道实体类名字也影响,没办法将linux的user表名改成User,奇迹发生了,可以访问了。
表示这几天已被linux搞蒙,不过学到东西了。。呵呵大
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步