mysqldump / mysqlhotcopy 备份mysql出现错误的几种解决办法
发布网友
发布时间:2022-05-07 13:00
我来回答
共1个回答
热心网友
时间:2022-05-07 14:29
Error Meaage: 无法正常使用 mysqlhotcopy 并出现如下错误讯息
DBD::mysql::db do failed: Access denied; you need the RELOAD privilege for this operation at /usr/bin/mysqlhotcopy line 472.
Ans: 原因就是必须要使用对该数据库有管理权限的账号才行(通常是root),而本账号对数据库权限仅有数据、结构而已,没有系统管理权限。
Q2.执行 mysqlmp 时出现找不到某一个 tables 并且中断执行?Error Meaage: 执行mysqlmp 时出现找不到某一个 tables 并且中断执行
#/usr/local/bin/mysqlmp xoops > xoops.sql //执行 mysqlmp 并出现如下错误讯息 mysqlmp: Got error: 1146: Table 'xoops.vote_results' doesn't exist when using LOCK TABLES
找了google 说加上 --skip-lock-tables 试试,也是不行
#/usr/local/bin/mysqlmp --skip-lock-tables xoops > xoops.sql Error: Couldn't read status information for table vote_results () mysqlmp: Couldn't execute 'show create table `vote_results`': Table 'xoops.vote_results' doesn't exist (1146)
进入phpmyadmin 管理接口后关于此 vote_results table 的征状
1.并没有看到 vote_results table 2.但使用指令 show tables; 却有看到 vote_results table 3.使用 drop table vote_results 又说该 table 不存在无法 drop 4.至 mysql 目录下有看到 vote_results.frm 档案
Ans: 反正这也只是投票的结果而以,就把 vote_results.frm 档案拿掉,并重新启动 mysqld 后,就可顺利执行 mysqlmp 了。
Q3.无法执行 mysqlhotcopy 并出现 Invalid db.table name?Error Meaage: 无法执行 mysqlhotcopy 并出现如下错误讯息
#/usr/local/bin/mysqlhotcopy xoops > /home/test Invalid db.table name 'xoops.xoops`.`activity' at /usr/local/bin/mysqlhotcopy line 855.
Ans: 找到了
[MySQL Bugs: #27303: mysqlhotcopy dies with error Invalid db.table name 'foo.bar`.`baz'] 说明将 mysqlhotcopy 档案修改一下后即可顺利执行 mysqlhotcopy 了
#vi /usr/local/bin/mysqlhotcopy //在第 835 下新增一行 835 my @dbh_tables = eval { $dbh->tables() }; 836 map { s/^.*?\.//o } @dbh_tables; //加入此行