2013-08-05

mysqldumpでバックアップ on MySQL5.5.32

5.6.xだとすんなり行けたのだけど、5.5.32だと工夫が要るらしい



まずは、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 件のコメント:

コメントを投稿