具有特权问题的mysql转储恢复

时间:2014-02-07 20:25:03

标签: mysql permissions mysqldump

我使用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

1 个答案:

答案 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

希望得到这个帮助。