mysql下普通使用者備份資料庫時無lock tables許可權的解決方法
阿新 • • 發佈:2019-02-16
由於 我們正式伺服器上面mysql的root賬戶設定的只允許localhost登入mysql, 但是備份是在我自己的開發的電腦上,就造成了 普通使用者使用mysqldump命令無法備份sql 會報錯,
Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES.
怎麼解決呢?總不能吧root賬戶的host設定成% 所有ip都可以連結到mysql吧,這樣未免是 捨棄了 安全,用下面的方法可以解決!
解決一:
在mysqldump 命令後面加上--skip-lock-tables選項即可。即:
mysqldump --opt --host=139.**.**.106 --default-character-set=utf8 -u HONGLINCHEN --password=1234 --skip-lock-tables
gmfserver>"D:\mysqlbackup\backup_gmfserver_%YMD%.sql"
解決2:
使用具有lock許可權的使用者進行備份。 或者 你把備份的批處理放在阿里雲伺服器上 然後用root賬戶去備份
例如吧這個命令拿到正式服執行mysqldump --opt --host=localhost --default-character-set=utf8 -u root --password=1234 gmfserver>"D:\mysqlbackup\backup_gmfserver_%YMD%.sql"