まずは、5.6.xの方ではうまくいっていたdumpに必要最低限な権限でユーザを作成
mysql> GRANT SELECT, FILE, LOCK TABLES, SHOW VIEW ON *.* TO 'dump'@'localhost' Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
そして、mysqldumpを試してみると・・・怒られた
$ mysqldump -udump --all-databases | grep "\`event\`" -- Table structure for table `event` DROP TABLE IF EXISTS `event`; CREATE TABLE `event` ( -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
--eventsを明示的に指定しろってことなのでくっつけてみると・・・また怒られた
$ mysqldump -udump --all-databases --events | grep "\`event\`" mysqldump: Couldn't execute 'show events': Access denied for user 'dump'@'localhost' to database 'xxx' (1044)
event権限が必要っぽいので権限再設定
mysql> GRANT SELECT, FILE, LOCK TABLES, SHOW VIEW, EVENT ON *.* TO 'dump'@'localhost' Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
そして、リトライ・・・いけたヾ(*・ω・)シ
$ mysqldump -udump --all-databases --events | grep "\`event\`" -- Table structure for table `event` DROP TABLE IF EXISTS `event`; CREATE TABLE `event` ( -- Dumping data for table `event` LOCK TABLES `event` WRITE; /*!40000 ALTER TABLE `event` DISABLE KEYS */; /*!40000 ALTER TABLE `event` ENABLE KEYS */;
0 件のコメント:
コメントを投稿