今天在测试mysqldump远程备份的时候,发现同样的备份权限、语句在远程无法使用,提示:
mysqldump: Couldn't execute 'show create table `general_log`':
Table 'mysql.general_log' doesn't exist
mysqldump: Couldn't execute 'show create table `slow_log`': Table
'mysql.slow_log' doesn't exist
推测是客户端mysqldump的版本与mysql-server版本差异导致,解决方法为往mysql里面插入这2张表;
mysql -p*****
use mysql;
CREATE TABLE IF NOT EXISTS general_log (
event_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
user_host mediumtext NOT NULL,
thread_id int(11) NOT NULL,
server_id int(10) unsigned NOT NULL,
command_type varchar(64) NOT NULL,
argument mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
CREATE TABLE IF NOT EXISTS slow_log