centos下升级mysql后遇到的小问题
本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址
https://www.baiydu.com
记录今天遇到的一个小问题, 写一个app访问接口涉及到通过存储过程反馈多个结果集,但是反回多个结果集的存储过程,调用之后只能反回一个了,而且奇怪的是,即使直接在mysql上同时执行两条查询语句,第一条查询的数据也不会出现,只会出现第二条数据, 开始找原因了-->,最开始怀疑是centos系统问题(接口操作的数据库都是直接连接的服务器,本地没有创建),因为这代码都是我以前写好了,在windows服务器上跑过的,是没问题的。网上找找,没发现有人这么样说..... 然后尝试下直接操作本地数据库,随便创建两张表进行同时执行两条查询语句,😄本地居然是对的,没出现服务器上mysql查询出现的问题,会不会是mysql版本问题,还真是,tmd又出现上次搭建https使用自带的openjdk问题了,绕来绕去就是用了服务器自带的,去查服务器上自带的mysql版本居然是5.1,快升级。。。。
这里的升级方法也是从网上来的,升级其实就是删除以前的版本从新下载一个新的版本安装,升级到了5.62,但是升级之后出现了一个问题,mysql无法启动了,网上关于centos上升级mysql版本的文章很多,都都没见上面写了,升级后无法启动的问题。。。。mysql也报错了,按照报错的方法找原因就是个坑,下面就是报的
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
这个错网上说的最多的就是权限不够,从设置权限,反正设置mysql所在文件夹权限是解决不到我这个问题的。
下面我说解决方法:
进入mysql安装目录 cd /var/lib/mysql
删除了如下三个文件:
ibdata1 ib_logfile0 ib_logfile1
希望对遇到的朋友有帮助.
问题2:
升级mysql后增加的函数或存储过程时报一错:
Cannot load from mysql.proc
解决方法:
进入mysql自带的数据库 -->"mysql"下执行如下代码可以解决;
ALTER TABLE `proc`
MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;
问题3:
升级mysql后又一权限小错:
今天给某个远程ip增加访问mysql的权限,执行代码时报一错,权限不足,当然这个错误也是升级mysql的导致的错误,不过还有其它原因也会报出此错误,比如密码错误...
RROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决方法:
centos服务器解决方法: 首先使用查询指令查询出mysql_upgrade所在路径,进入之后执行 mysql_upgrade -u root -p ,输入密码之后等待更新,更新完毕,再登录mysql执行增加ip权限访问即可。
windows:直接在bin目录下找到mysql_upgrade 打开执行相同代码。