我有 12 GB MySQL InnoDB 数据库,每秒大约有 800 个查询。我刚开始对它进行 'mysqldump' 进行备份,我的网站上就开始出现 '503'。
如何在不影响站点性能的情况下备份我的实时数据库?
我运行以下命令来创建一个 mysqldump
mysqldump -ubackup -psomething --single-transaction --quick somedatabase | gzip > 4_19.gz
Run Code Online (Sandbox Code Playgroud)
在创建转储的 60%(估计 zip 文件的检查大小)后,我收到以下错误:
mysqldump: Couldn't execute 'show table status like 'customer\_cohort\_paid'': SELECT command denied to user ''@'%' for column 'customer_id' in table 'sales_order' (1143)
Run Code Online (Sandbox Code Playgroud)
它谈到了一个空白用户的权限问题user ''@'%'
。此外,grants
对于backup
用户如下:
mysql> show grants for 'backup'@'%';
+------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for backup@% |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'backup'@'%' IDENTIFIED BY PASSWORD '*SOMETHING' |
+------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set …
Run Code Online (Sandbox Code Playgroud)