问题如今尚未解决,缘由是个人网站是放在一个空间里,数据库没法使用root登陆,想在数据库里面新建个视图,可不会建,粘贴代码修改用户名也不成功,始终提示用户权限的问题,但愿有高手帮忙解决一下 php
至于还原错误的问题,应该是权限的问题, 表还原应该没什么问题,通常 视图和存储过程的还原都会出点问题,都是由于不一样用户形成的,有时甚至是由于root重名同名的问题,请看下面的视图和存储过程的DDL: mysql
-- View "number_key_motif" DDL CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `number_key_motif` AS select .....; -- Procedure "left_5" DDL CREATE DEFINER=`root`@`localhost` PROCEDURE `left_5`() BEGIN ..... END; 看到了吧,视图和procedure的DDL都是带有Definer的信息的,而phpadmin/mysqladmin/navicat等管理工具在备份时都是直接把DDL语句导出的, 而再还原时确定也是试图去执行那些DDL的,这样固然在本例中它们是尝试去用root的definer在另外一台导入的服务器上去执行建视图,存储过程等操做的。 因此建议: 1.在不一样服务器直接保持用户名的同一,尽可能用同一用户名,固然是为了之后一些工具有份的方便了,这样不须要本身去改工具导出的SQL脚本中的definer的信息 2.尽可能不要用root用户, 由于你不可能在你用的每台服务器上均可以使用root用户的 如实在想用,可本身使用另外一服务器上的统一用户名, 而后给那用户赋予至高无上的,与root相同的权限 楼主的那个 “ERROR 1227 (42000) at line 5842: Access denied; you need the SUPER privilege for this operation ” 的错误应该是因为导入时遇到的DEFINER=`root` 等脚本的影响产生的吧 要SUPER 的privilege不差于已经拥有了root的全部权限了,你不可能要求租用的服务器的administrator给你那样的权限的 能够去新建与租用服务器上同用户名的用户××,而后改下本身要还原导入的脚本,把其中的root或一些特权用户 的字符全替换成×× 但愿对你有帮助,由于我也曾经遇到过相似的导入还原的问题,后来这样解决了 编码乱码问题实在是繁琐,因此个人库里面就没有用中文了