我使用mysql dump创建了一个sql转储但是在另一台服务器上恢复时出现错误'ERROR 1227 (42000) at line 397: Access denied; you need the SUPER privilege for this operation :
当我检查行号时,我发现问题似乎是部分根@
localhost,因为新服务器没有来自我正在使用的帐户的root权限。如果我删除了根@
localhost,它继续进行但我不确定它是否正确,从以下方法中删除了根@
localhost,因为sql文件中有很多地方它有引用。 />
什么是正确的方式?
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `Update Feeback status in Order` AFTER INSERT ON `customer_ratings`
FOR EACH ROW BEGIN
答案 0 :(得分:0)
你可以检查你的访问权。
1.-检查您在新服务器中的访问权限
$ mysql -u root -p -hlocalhost
输入密码:
2.-显示您的拨款
$ mysql>为'root'@'localhost'显示资助;
要解决此问题,您可以执行此操作。
1.-停止服务。
service mysqld stop
2.-使用“停止拨款表”启动您的服务
mysqld --skip-grant-tables
3.更新用户root的密码
$ mysql>更新用户SET密码=密码('my_password'),其中USER ='root';
(如果你想要你可以创建你的用户) $ mysql>创建用户'root'@'localhost'识别'密码';
4.-冲洗特权
$ MySQL的> FLUSH PRIVILEGES;
5.-重新启动服务器
service mysqld start
6.-托盘以恢复转储文件。
mysql -u root -hlocalhost -p [database_name]< dumpfilename.sql
希望得到这个帮助。